jain.protocol.ip.sip.message
Class ByeMessage

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

public final class ByeMessage
extends RequestMessage

This calls represents a BYE request message. The user agent client uses a ByeMessage to indicate to the server that it wishes to release the call. A ByeMessage is forwarded like an InviteMessage and may be issued by either caller or callee. A party to a call should issue a ByeMessage before releasing a call ("hanging up"). A party receiving a ByeMessage must cease transmitting media streams specifically directed at the party issuing the ByeMessage.

If the InviteMessage contained a ContactHeader, the callee should send a ByeMessage to that address rather than the FromHeader address.

ByeMessages must be supported by proxy servers and should be supported by redirect and user agent SIP servers.

Version:
0.6
See Also:
InviteMessage, ContactHeader, Serialized Form

Field Summary
static java.lang.String method
          ByeMessage's method
 
Constructor Summary
ByeMessage(java.lang.Object source, InviteMessage invite)
          Constructor of ByeMessage based on sent InviteMessage Note - the ByeMessage will have a CSeq number equal to the CSeq number of the InviteMessage plus one i.e.
ByeMessage(java.lang.Object source, ResponseMessage response)
          Constructor of ByeMessage based on received ResponseMessage Note - the ByeMessage will have a CSeq number equal to the CSeq number of the ResponseMessage plus one i.e.
ByeMessage(java.lang.Object source, URI requestURI, CallIdHeader callIdHeader, CSeqHeader cSeqHeader, FromHeader fromHeader, ToHeader toHeader, ViaHeader[] viaHeaders)
          Constructor of ByeMessage
 
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
ByeMessage's method
Constructor Detail

ByeMessage

public ByeMessage(java.lang.Object source,
                  InviteMessage invite)
           throws java.lang.IllegalArgumentException,
                  HeaderNotSetException
Constructor of ByeMessage based on sent InviteMessage Note - the ByeMessage will have a CSeq number equal to the CSeq number of the InviteMessage plus one i.e. it is assumed that there have been no requests sent after the intial InviteMessage and AckMessage
Parameters:
source - source of the ByeMessage
invite - sent InviteMessage
Throws:
java.lang.IllegalArgumentException - if invite is null
HeaderNotSetException - if invite is missing any mandatory Headers

ByeMessage

public ByeMessage(java.lang.Object source,
                  ResponseMessage response)
           throws java.lang.IllegalArgumentException,
                  HeaderNotSetException
Constructor of ByeMessage based on received ResponseMessage Note - the ByeMessage will have a CSeq number equal to the CSeq number of the ResponseMessage plus one i.e. it is assumed that there has been no requests sent after the RequestMessage associated with the ResponseMessage
Parameters:
source - source of the ByeMessage
response - received ResponseMessage
Throws:
java.lang.IllegalArgumentException - if response is null
HeaderNotSetException - if response is missing any mandatory Headers

ByeMessage

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


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


Copyright - 2000 Sun Microsystems