jain.protocol.ip.sip.message
Class InviteMessage

java.lang.Object
  |
  +--java.util.EventObject
        |
        +--jain.protocol.ip.sip.message.Message
              |
              +--jain.protocol.ip.sip.message.RequestMessage
                    |
                    +--jain.protocol.ip.sip.message.InviteMessage

public final class InviteMessage
extends RequestMessage

This class represent an INVITE request message. An InviteMessage indicates that the user or service is being invited to participate in a session. The message body contains a description of the session to which the callee is being invited. For two-party calls, the caller indicates the type of media it is able to receive and possibly the media it is willing to send as well as their parameters such as network destination. An OK ResponseMessage must indicate in its message body which media the callee wishes to receive and may indicate the media the callee is going to send. (Not all session description formats have the ability to indicate sending media).

A server may automatically respond to an invitation for a conference the user is already participating in, identified either by the CallIdHeader or a globally unique identifier within the session description, with an OK ResponseMessage.

If a user agent receives an InviteMessage for an existing call leg with a higher CSeq sequence number than any previous InviteMessage for the same CallIdHeader, it must check any version identifiers in the session description or, if there are no version identifiers, the content of the session description to see if it has changed. It must also inspect any other Headers for changes. If there is a change, the user agent must update any internal state or information generated as a result of that Header. If the session description has changed, the user agent server must adjust the session parameters accordingly, possibly after asking the user for confirmation. (Versioning of the session description can be used to accommodate the capabilities of new arrivals to a conference, add or delete media or change from a unicast to a multicast conference.)

InviteMessages must be supported by SIP proxy, redirect and user agent servers as well as clients.

Version:
0.6
See Also:
CSeqHeader, CallIdHeader, Serialized Form

Field Summary
static java.lang.String method
          InviteMessage's method
 
Constructor Summary
InviteMessage(java.lang.Object source, URI requestURI, CallIdHeader callIdHeader, CSeqHeader cSeqHeader, FromHeader fromHeader, ToHeader toHeader, ViaHeader[] viaHeaders, java.lang.Object body, ContentTypeHeader contentTypeHeader)
          Constructor of InviteMessage
 
Method Summary
 PriorityHeader getPriorityHeader()
          Gets PriorityHeader of InviteMessage.
 SubjectHeader getSubjectHeader()
          Gets SubjectHeader of InviteMessage.
 boolean hasPriorityHeader()
          Returns boolean value to indicate if InviteMessage has PriorityHeader.
 boolean hasSubjectHeader()
          Returns boolean value to indicate if InviteMessage has SubjectHeader.
 void removePriorityHeader()
          Removes PriorityHeader from InviteMessage's Header list.
 void removeSubjectHeaderr()
          Removes SubjectHeader from InviteMessage's Header list.
 void setPriorityHeader(PriorityHeader priorityHeader)
          Sets PriorityHeader of InviteMessage.
 void setSubjectHeader(SubjectHeader subjectHeader)
          Sets SubjectHeader of InviteMessage.
 
Methods inherited from class jain.protocol.ip.sip.message.RequestMessage
addViaHeader, getAuthorizationHeader, getHideHeader, getMaxForwardsHeader, getMethod, getProxyAuthorizationHeader, getProxyRequireHeaders, getRequestURI, getRequireHeaders, getResponseKeyHeader, getRouteHeaders, getStartLine, hasAuthorizationHeader, hasHideHeader, hasMaxForwardsHeader, hasProxyAuthorizationHeader, hasProxyRequireHeaders, hasRequireHeaders, hasResponseKeyHeader, hasRouteHeaders, removeAuthorizationHeader, removeHideHeader, removeMaxForwardsHeader, removeProxyAuthorizationHeader, removeProxyRequireHeaders, removeRequireHeaders, removeResponseKeyHeader, removeRouteHeaders, setAuthorizationHeader, setHideHeader, setMaxForwardsHeader, setProxyAuthorizationHeader, setProxyRequireHeaders, setRequestURI, setRequireHeaders, setResponseKeyHeader, setRouteHeaders
 
Methods inherited from class jain.protocol.ip.sip.message.Message
addHeader, addHeaders, clone, equals, getAcceptEncodingHeaders, getAcceptHeaders, getAcceptLanguageHeaders, getAllHeaders, getBody, getCallIdHeader, getContactHeaders, getContentEncodingHeaders, getContentLengthHeader, getContentTypeHeader, getCSeqHeader, getDateHeader, getEncryptionHeader, getExpiresHeader, getFromHeader, getHeader, getHeaders, getOrganizationHeader, getRecordRouteHeaders, getRetryAfterHeader, getTimestampHeader, getToHeader, getUserAgentHeaders, getVersionMajor, getVersionMinor, getViaHeaders, hasAcceptEncodingHeaders, hasAcceptHeaders, hasAcceptLanguageHeaders, hasBody, hasContactHeaders, hasContentEncodingHeaders, hasContentLengthHeader, hasContentTypeHeader, hasDateHeader, hasEncryptionHeader, hasExpiresHeader, hasHeaders, hasOrganizationHeader, hasRecordRouteHeaders, hasRetryAfterHeader, hasTimestampHeader, hasUserAgentHeaders, isRequest, removeAcceptEncodingHeaders, removeAcceptHeaders, removeAcceptLanguageHeaders, removeBody, removeContactHeaders, removeContentEncodingHeaders, removeContentLengthHeader, removeDateHeader, removeEncryptionHeader, removeExpiresHeader, removeHeader, removeHeaders, removeOrganizationHeader, removeRecordRouteHeaders, removeRetryAfterHeader, removeTimestampHeader, removeUserAgentHeaders, setAcceptEncodingHeaders, setAcceptHeaders, setAcceptLanguageHeaders, setBody, setCallIdHeader, setContactHeaders, setContentEncodingHeaders, setContentLengthHeader, setContentTypeHeader, setCSeqHeader, setDateHeader, setEncryptionHeader, setExpiresHeader, setFromHeader, setHeader, setHeaders, setOrganizationHeader, setRecordRouteHeaders, setRetryAfterHeader, setTimestampHeader, setToHeader, setUserAgentHeaders, setVersion, setViaHeaders, toString
 
Methods inherited from class java.util.EventObject
getSource
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

method

public static final java.lang.String method
InviteMessage's method
Constructor Detail

InviteMessage

public InviteMessage(java.lang.Object source,
                     URI requestURI,
                     CallIdHeader callIdHeader,
                     CSeqHeader cSeqHeader,
                     FromHeader fromHeader,
                     ToHeader toHeader,
                     ViaHeader[] viaHeaders,
                     java.lang.Object body,
                     ContentTypeHeader contentTypeHeader)
              throws java.lang.IllegalArgumentException
Constructor of InviteMessage
Parameters:
source - source of the InviteMessage
requestURI - Request URI
callIdHeader - CallIdHeader
cSeqHeader - CSeqHeader
fromHeader - FromHeader
toHeader - ToHeader
viaHeaders - ViaHeaders
body - body
contentTypeHeader - ContentTypeHeader
Throws:
java.lang.IllegalArgumentException - if any arguments are invalid
Method Detail

getPriorityHeader

public PriorityHeader getPriorityHeader()
                                 throws HeaderNotSetException
Gets PriorityHeader of InviteMessage.
Returns:
PriorityHeader of InviteMessage
Throws:
HeaderNotSetException - if no PriorityHeader exists

setPriorityHeader

public void setPriorityHeader(PriorityHeader priorityHeader)
                       throws java.lang.IllegalArgumentException
Sets PriorityHeader of InviteMessage.
Parameters:
priorityHeader - PriorityHeader to set
Throws:
java.lang.IllegalArgumentException - if priorityHeader is null

hasPriorityHeader

public boolean hasPriorityHeader()
Returns boolean value to indicate if InviteMessage has PriorityHeader.
Returns:
boolean value to indicate if InviteMessage has PriorityHeader

removePriorityHeader

public void removePriorityHeader()
Removes PriorityHeader from InviteMessage's Header list. Note that if no PriorityHeader exists the method has no effect, and if multiple PriorityHeaders exist they are all removed

getSubjectHeader

public SubjectHeader getSubjectHeader()
                               throws HeaderNotSetException
Gets SubjectHeader of InviteMessage.
Returns:
SubjectHeader of InviteMessage
Throws:
HeaderNotSetException - if no SubjectHeader exists

setSubjectHeader

public void setSubjectHeader(SubjectHeader subjectHeader)
                      throws java.lang.IllegalArgumentException
Sets SubjectHeader of InviteMessage.
Parameters:
subjectHeader - SubjectHeader to set
Throws:
java.lang.IllegalArgumentException - if subjectHeader is null

hasSubjectHeader

public boolean hasSubjectHeader()
Returns boolean value to indicate if InviteMessage has SubjectHeader.
Returns:
boolean value to indicate if InviteMessage has SubjectHeader

removeSubjectHeaderr

public void removeSubjectHeaderr()
Removes SubjectHeader from InviteMessage's Header list. Note that if no SubjectHeader exists the method has no effect, and if multiple SubjectHeaders exist they are all removed


If you have any comments or queries, please mail them to JAIN-SIP-interest@sun.com


Copyright - 2000 Sun Microsystems