jain.protocol.ip.sip.message
Class RequestMessage

java.lang.Object
  |
  +--java.util.EventObject
        |
        +--jain.protocol.ip.sip.message.Message
              |
              +--jain.protocol.ip.sip.message.RequestMessage
Direct Known Subclasses:
AckMessage, ByeMessage, CancelMessage, InviteMessage, OptionsMessage, RegisterMessage

public class RequestMessage
extends Message

This class represents a SIP Request Message. RequestMessage is a request from a client to a server.

There are six defined subclasses of RequestMessage in the JAIN SIP API:
  • AckMessage - confirms that client has received a final ResponseMessage to an InviteMessage
  • ByeMessage - indicates to the server that client wishes to release the call
  • CancelMessage - cancels a pending request
  • InviteMessage - indicates that user or service is being invited to participate in a session
  • OptionsMessage - queries server as to its capabilities
  • RegisterMessage - register address with a SIP server
  • Ceratin RequestMessages may contain a body(entity) which contains a session description in a format such as SDP (Session Description Protocol). RequestMessages also contain various Headers which describe the routing of the message and the message body.

    RequestMessage extends java.util.EventObject, so it contains an event source - either a JainSipListener if the Message is destined for the network, or a JainSipProvider if the Message is coming from the network.

    Version:
    0.6
    See Also:
    AckMessage, ByeMessage, CancelMessage, InviteMessage, OptionsMessage, RegisterMessage, Serialized Form

    Constructor Summary
    RequestMessage(java.lang.Object source, URI requestURI, java.lang.String method, CallIdHeader callIdheader, CSeqHeader cSeqHeader, FromHeader fromHeader, ToHeader toHeader, ViaHeader[] viaHeaders)
              Constructor of RequestMessage without body
    RequestMessage(java.lang.Object source, URI requestURI, java.lang.String method, CallIdHeader callIdheader, CSeqHeader cSeqHeader, FromHeader fromHeader, ToHeader toHeader, ViaHeader[] viaHeaders, java.lang.Object body, ContentTypeHeader contentTypeHeader)
              Constructor of RequestMessage with body
     
    Method Summary
     void addViaHeader(ViaHeader viaHeader)
              Adds ViaHeader to top of ResponseMessage's Header list.
     AuthorizationHeader getAuthorizationHeader()
              Gets AuthorizationHeader of RequestMessage.
     HideHeader getHideHeader()
              Gets HideHeader of RequestMessage.
     MaxForwardsHeader getMaxForwardsHeader()
              Gets MaxForwardsHeader of RequestMessage.
     java.lang.String getMethod()
              Gets method of RequestMessage.
     ProxyAuthorizationHeader getProxyAuthorizationHeader()
              Gets ProxyAuthorizationHeader of RequestMessage.
     ProxyRequireHeader[] getProxyRequireHeaders()
              Gets ProxyRequireHeaders of RequestMessage.
     URI getRequestURI()
              Gets Request URI of RequestMessage.
     RequireHeader[] getRequireHeaders()
              Gets RequireHeaders of RequestMessage.
     ResponseKeyHeader getResponseKeyHeader()
              Gets ResponseKeyHeader of RequestMessage.
     RouteHeader[] getRouteHeaders()
              Gets RouteHeaders of RequestMessage.
     java.lang.String getStartLine()
               
     boolean hasAuthorizationHeader()
              Returns boolean value to indicate if RequestMessage has AuthorizationHeader.
     boolean hasHideHeader()
              Returns boolean value to indicate if RequestMessage has HideHeader.
     boolean hasMaxForwardsHeader()
              Returns boolean value to indicate if RequestMessage has MaxForwardsHeader.
     boolean hasProxyAuthorizationHeader()
              Returns boolean value to indicate if RequestMessage has ProxyAuthorizationHeader.
     boolean hasProxyRequireHeaders()
              Returns boolean value to indicate if RequestMessage has any ProxyRequireHeaders.
     boolean hasRequireHeaders()
              Returns boolean value to indicate if RequestMessage has any RequireHeaders.
     boolean hasResponseKeyHeader()
              Returns boolean value to indicate if RequestMessage has ResponseKeyHeader.
     boolean hasRouteHeaders()
              Returns boolean value to indicate if RequestMessage has any outeHeaders.
     void removeAuthorizationHeader()
              Removes AuthorizationHeader from RequestMessage's Header list.
     void removeHideHeader()
              Removes HideHeader from RequestMessage's Header list.
     void removeMaxForwardsHeader()
              Removes MaxForwardsHeader from RequestMessage's Header list.
     void removeProxyAuthorizationHeader()
              Removes ProxyAuthorizationHeader from RequestMessage's Header list.
     void removeProxyRequireHeaders()
              Removes all AProxyRequireHeaders from RequestMessage's Header list.
     void removeRequireHeaders()
              Removes all RequireHeaders from RequestMessage's Header list.
     void removeResponseKeyHeader()
              Removes ResponseKeyHeader from RequestMessage's Header list.
     void removeRouteHeaders()
              Removes all RouteHeaders from RequestMessage's Header list.
     void setAuthorizationHeader(AuthorizationHeader authorizationHeader)
              Sets AuthorizationHeader of RequestMessage.
     void setHideHeader(HideHeader hideHeader)
              Sets HideHeader of RequestMessage.
     void setMaxForwardsHeader(MaxForwardsHeader maxForwardsHeader)
              Sets MaxForwardsHeader of RequestMessage.
     void setProxyAuthorizationHeader(ProxyAuthorizationHeader proxyAuthorizationHeader)
              Sets ProxyAuthorizationHeader of RequestMessage.
     void setProxyRequireHeaders(ProxyRequireHeader[] proxyRequireHeaders)
              Sets ProxyRequireHeaders of RequestMessage.
     void setRequestURI(URI requestURI)
              Sets RequestURI of RequestMessage.
     void setRequireHeaders(RequireHeader[] requireHeaders)
              Sets RequireHeaders of RequestMessage.
     void setResponseKeyHeader(ResponseKeyHeader responseKeyHeader)
              Sets ResponseKeyHeader of RequestMessage.
     void setRouteHeaders(RouteHeader[] routeHeaders)
              Sets RouteHeaders of RequestMessage.
     
    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
     

    Constructor Detail

    RequestMessage

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

    RequestMessage

    public RequestMessage(java.lang.Object source,
                          URI requestURI,
                          java.lang.String method,
                          CallIdHeader callIdheader,
                          CSeqHeader cSeqHeader,
                          FromHeader fromHeader,
                          ToHeader toHeader,
                          ViaHeader[] viaHeaders,
                          java.lang.Object body,
                          ContentTypeHeader contentTypeHeader)
                   throws java.lang.IllegalArgumentException
    Constructor of RequestMessage with body
    Parameters:
    source - source of the RequestMessage
    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

    addViaHeader

    public void addViaHeader(ViaHeader viaHeader)
                      throws java.lang.IllegalArgumentException
    Adds ViaHeader to top of ResponseMessage's Header list.
    Parameters:
    viaHeader - ViaHeader to set
    Throws:
    java.lang.IllegalArgumentException - if viaHeader is null

    getMethod

    public java.lang.String getMethod()
    Gets method of RequestMessage.
    Returns:
    method of RequestMessage

    getRequestURI

    public URI getRequestURI()
    Gets Request URI of RequestMessage.
    Returns:
    Request URI of RequestMessage

    setRequestURI

    public void setRequestURI(URI requestURI)
                       throws java.lang.IllegalArgumentException
    Sets RequestURI of RequestMessage.
    Parameters:
    requestURI - RequestURI to set
    Throws:
    java.lang.IllegalArgumentException - if requestURI is null

    getAuthorizationHeader

    public AuthorizationHeader getAuthorizationHeader()
                                               throws HeaderNotSetException
    Gets AuthorizationHeader of RequestMessage.
    Returns:
    AuthorizationHeader of RequestMessage
    Throws:
    HeaderNotSetException - if no AuthorizationHeader exists

    setAuthorizationHeader

    public void setAuthorizationHeader(AuthorizationHeader authorizationHeader)
                                throws java.lang.IllegalArgumentException
    Sets AuthorizationHeader of RequestMessage.
    Parameters:
    authorizationHeader - AuthorizationHeader to set
    Throws:
    java.lang.IllegalArgumentException - if authorizationHeader is null

    hasAuthorizationHeader

    public boolean hasAuthorizationHeader()
    Returns boolean value to indicate if RequestMessage has AuthorizationHeader.
    Returns:
    boolean value to indicate if RequestMessage has AuthorizationHeader

    removeAuthorizationHeader

    public void removeAuthorizationHeader()
    Removes AuthorizationHeader from RequestMessage's Header list. Note that if no AuthorizationHeader exists the method has no effect, and if multiple AuthorizationHeaders exist they are all removed

    getHideHeader

    public HideHeader getHideHeader()
                             throws HeaderNotSetException
    Gets HideHeader of RequestMessage.
    Returns:
    HideHeader of RequestMessage
    Throws:
    HeaderNotSetException - if no HideHeader exists

    setHideHeader

    public void setHideHeader(HideHeader hideHeader)
                       throws java.lang.IllegalArgumentException
    Sets HideHeader of RequestMessage.
    Parameters:
    hideHeader - HideHeader to set
    Throws:
    java.lang.IllegalArgumentException - if hideHeader is null

    hasHideHeader

    public boolean hasHideHeader()
    Returns boolean value to indicate if RequestMessage has HideHeader.
    Returns:
    boolean value to indicate if RequestMessage has HideHeader

    removeHideHeader

    public void removeHideHeader()
    Removes HideHeader from RequestMessage's Header list. Note that if no HideHeader exists the method has no effect, and if multiple HideHeaders exist they are all removed

    getMaxForwardsHeader

    public MaxForwardsHeader getMaxForwardsHeader()
                                           throws HeaderNotSetException
    Gets MaxForwardsHeader of RequestMessage.
    Returns:
    MaxForwardsHeader of RequestMessage
    Throws:
    HeaderNotSetException - if no MaxForwardsHeader exists

    setMaxForwardsHeader

    public void setMaxForwardsHeader(MaxForwardsHeader maxForwardsHeader)
                              throws java.lang.IllegalArgumentException
    Sets MaxForwardsHeader of RequestMessage.
    Parameters:
    maxForwardsHeader - MaxForwardsHeader to set
    Throws:
    java.lang.IllegalArgumentException - if maxForwardsHeader is null

    hasMaxForwardsHeader

    public boolean hasMaxForwardsHeader()
    Returns boolean value to indicate if RequestMessage has MaxForwardsHeader.
    Returns:
    boolean value to indicate if RequestMessage has MaxForwardsHeader

    removeMaxForwardsHeader

    public void removeMaxForwardsHeader()
    Removes MaxForwardsHeader from RequestMessage's Header list. Note that if no MaxForwardsHeader exists the method has no effect, and if multiple MaxForwardsHeaders exist they are all removed

    getProxyAuthorizationHeader

    public ProxyAuthorizationHeader getProxyAuthorizationHeader()
                                                         throws HeaderNotSetException
    Gets ProxyAuthorizationHeader of RequestMessage.
    Returns:
    ProxyAuthorizationHeader of RequestMessage
    Throws:
    HeaderNotSetException - if no ProxyAuthorizationHeader exists

    setProxyAuthorizationHeader

    public void setProxyAuthorizationHeader(ProxyAuthorizationHeader proxyAuthorizationHeader)
                                     throws java.lang.IllegalArgumentException
    Sets ProxyAuthorizationHeader of RequestMessage.
    Parameters:
    proxyAuthorizationHeader - ProxyAuthorizationHeader to set
    Throws:
    java.lang.IllegalArgumentException - if proxyAuthorizationHeader is null

    hasProxyAuthorizationHeader

    public boolean hasProxyAuthorizationHeader()
    Returns boolean value to indicate if RequestMessage has ProxyAuthorizationHeader.
    Returns:
    boolean value to indicate if RequestMessage has ProxyAuthorizationHeader

    removeProxyAuthorizationHeader

    public void removeProxyAuthorizationHeader()
    Removes ProxyAuthorizationHeader from RequestMessage's Header list. Note that if no ProxyAuthorizationHeader exists the method has no effect, and if multiple ProxyAuthorizationHeaders exist they are all removed

    getProxyRequireHeaders

    public ProxyRequireHeader[] getProxyRequireHeaders()
                                                throws HeaderNotSetException
    Gets ProxyRequireHeaders of RequestMessage.
    Returns:
    ProxyRequireHeaders of RequestMessage
    Throws:
    HeaderNotSetException - if no ProxyRequireHeaders exist

    setProxyRequireHeaders

    public void setProxyRequireHeaders(ProxyRequireHeader[] proxyRequireHeaders)
                                throws java.lang.IllegalArgumentException
    Sets ProxyRequireHeaders of RequestMessage.
    Parameters:
    proxyRequireHeaders - ProxyRequireHeaders to set
    Throws:
    java.lang.IllegalArgumentException - if proxyRequireHeaders is null or empty, or if any ProxyRequireHeader in proxyRequireHeaders is null

    hasProxyRequireHeaders

    public boolean hasProxyRequireHeaders()
    Returns boolean value to indicate if RequestMessage has any ProxyRequireHeaders.
    Returns:
    boolean value to indicate if RequestMessage has any ProxyRequireHeaders

    removeProxyRequireHeaders

    public void removeProxyRequireHeaders()
    Removes all AProxyRequireHeaders from RequestMessage's Header list. Note that if no ProxyRequireHeaders exist the method has no effect

    getRequireHeaders

    public RequireHeader[] getRequireHeaders()
                                      throws HeaderNotSetException
    Gets RequireHeaders of RequestMessage.
    Returns:
    RequireHeaders of RequestMessage
    Throws:
    HeaderNotSetException - if no RequireHeaders exist

    setRequireHeaders

    public void setRequireHeaders(RequireHeader[] requireHeaders)
                           throws java.lang.IllegalArgumentException
    Sets RequireHeaders of RequestMessage.
    Parameters:
    requireHeaders - RequireHeaders to set
    Throws:
    java.lang.IllegalArgumentException - if requireHeaders is null or empty, or if any RequireHeader in requireHeaders is null

    hasRequireHeaders

    public boolean hasRequireHeaders()
    Returns boolean value to indicate if RequestMessage has any RequireHeaders.
    Returns:
    boolean value to indicate if RequestMessage has any RequireHeaders

    removeRequireHeaders

    public void removeRequireHeaders()
    Removes all RequireHeaders from RequestMessage's Header list. Note that if no RequireHeaders exist the method has no effect

    getRouteHeaders

    public RouteHeader[] getRouteHeaders()
                                  throws HeaderNotSetException
    Gets RouteHeaders of RequestMessage.
    Returns:
    RouteHeaders of RequestMessage
    Throws:
    HeaderNotSetException - if no RouteHeaders exist

    setRouteHeaders

    public void setRouteHeaders(RouteHeader[] routeHeaders)
                         throws java.lang.IllegalArgumentException
    Sets RouteHeaders of RequestMessage.
    Parameters:
    routeHeaders - RouteHeaders to set
    Throws:
    java.lang.IllegalArgumentException - if routeHeaders is null or empty, or if any RouteHeader in routeHeaders is null

    hasRouteHeaders

    public boolean hasRouteHeaders()
    Returns boolean value to indicate if RequestMessage has any outeHeaders.
    Returns:
    boolean value to indicate if RequestMessage has any RouteHeaders

    removeRouteHeaders

    public void removeRouteHeaders()
    Removes all RouteHeaders from RequestMessage's Header list. Note that if no RouteHeaders exist the method has no effect

    getResponseKeyHeader

    public ResponseKeyHeader getResponseKeyHeader()
                                           throws HeaderNotSetException
    Gets ResponseKeyHeader of RequestMessage.
    Returns:
    ResponseKeyHeader of RequestMessage
    Throws:
    HeaderNotSetException - if no ResponseKeyHeader exists

    setResponseKeyHeader

    public void setResponseKeyHeader(ResponseKeyHeader responseKeyHeader)
                              throws java.lang.IllegalArgumentException,
                                     SipException
    Sets ResponseKeyHeader of RequestMessage.
    Parameters:
    responseKeyHeader - ResponseKeyHeader to set
    Throws:
    java.lang.IllegalArgumentException - if responseKeyHeader is null

    hasResponseKeyHeader

    public boolean hasResponseKeyHeader()
    Returns boolean value to indicate if RequestMessage has ResponseKeyHeader.
    Returns:
    boolean value to indicate if RequestMessage has ResponseKeyHeader

    removeResponseKeyHeader

    public void removeResponseKeyHeader()
    Removes ResponseKeyHeader from RequestMessage's Header list. Note that if no ResponseKeyHeader exists the method has no effect, and if multiple ResponseKeyHeaders exist they are all removed

    getStartLine

    public java.lang.String getStartLine()
    Overrides:
    getStartLine in class Message


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


    Copyright - 2000 Sun Microsystems