jain.protocol.ip.sip.header
Class RequireHeader

java.lang.Object
  |
  +--jain.protocol.ip.sip.header.Header
        |
        +--jain.protocol.ip.sip.header.RequestHeader
              |
              +--jain.protocol.ip.sip.header.RequireHeader

public final class RequireHeader
extends RequestHeader

This class representshe Require request-header. The RequireHeader is used by clients to tell user agent servers about options that the client expects the server to support in order to properly process the RequestMessage. If a server does not understand the option, it must respond by returning a BAD_EXTENSION ResponseMessage and list those options it does not understand in the UnsupportedHeader.

This is to make sure that the client-server interaction will proceed without delay when all options are understood by both sides, and only slow down if options are not understood. For a well-matched client-server pair, the interaction proceeds quickly, saving a round-trip often required by negotiation mechanisms. In addition, it also removes ambiguity when the client requires features that the server does not understand. Some features, such as call handling fields, are only of interest to end systems.

Proxy and redirect servers must ignore features that are not understood. If a particular extension requires that intermediate devices support it, the extension must be tagged in the ProxyRequireHeader as well.

Version:
0.6
See Also:
ProxyRequireHeader

Field Summary
static java.lang.String token
          Token of RequireHeader
 
Fields inherited from class jain.protocol.ip.sip.header.Header
ENTITY_HEADER, GENERAL_HEADER, REQUEST_HEADER, RESPONSE_HEADER
 
Constructor Summary
RequireHeader(java.lang.String optionTag)
          Creates a RequireHeader based on given option tag
 
Method Summary
 java.lang.Object clone()
          Creates and returns a copy of RequireHeader
 boolean equals(RequireHeader requireHeader)
          Indicates whether some other RequireHeader is "equal to" this one
 java.lang.String getOptionTag()
          Gets option tag of RequireHeader
 java.lang.String getValue()
          Gets value of RequireHeader
 void setOptionTag(java.lang.String optionTag)
          Sets option tag of RequireHeader
 
Methods inherited from class jain.protocol.ip.sip.header.Header
equals, getHeaderType, getToken, setValue, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

token

public static final java.lang.String token
Token of RequireHeader
Constructor Detail

RequireHeader

public RequireHeader(java.lang.String optionTag)
              throws java.lang.IllegalArgumentException
Creates a RequireHeader based on given option tag
Parameters:
optionTag - option tag
Throws:
java.lang.IllegalArgumentException - if optionTag is null or zero-length
Method Detail

getOptionTag

public java.lang.String getOptionTag()
Gets option tag of RequireHeader
Returns:
option tag of RequireHeader

setOptionTag

public void setOptionTag(java.lang.String optionTag)
                  throws java.lang.IllegalArgumentException
Sets option tag of RequireHeader
Parameters:
optionTag - option tag
Throws:
java.lang.IllegalArgumentException - if optionTag is null or zero-length

getValue

public java.lang.String getValue()
Gets value of RequireHeader
Overrides:
getValue in class Header
Returns:
value of RequireHeader

clone

public java.lang.Object clone()
Creates and returns a copy of RequireHeader
Overrides:
clone in class Header

equals

public boolean equals(RequireHeader requireHeader)
Indicates whether some other RequireHeader is "equal to" this one
Parameters:
requireHeader - the RequireHeader with which to compare


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


Copyright - 2000 Sun Microsystems