public interface ViaHeader extends Parameters, Header
Branch Parameter:
The branch parameter value MUST be unique across space and time for all
requests sent by the User Agent. The exceptions to this rule are CANCEL and ACK for
non-2xx responses. A CANCEL request will have the same value of the branch
parameter as the request it cancels. An ACK for a non-2xx response will also
have the same branch ID as the INVITE whose response it acknowledges.
The uniqueness property of the branch ID parameter, to facilitate its use as
a transaction ID, was not part of RFC 2543. The branch ID inserted by an
element compliant with this specification MUST always begin with the
characters "z9hG4bK". These 7 characters are used as a magic cookie (7 is
deemed sufficient to ensure that an older RFC 2543 implementation would not
pick such a value), so that servers receiving the request can determine that
the branch ID was constructed in the fashion described by this specification
(that is, globally unique). Beyond this requirement, the precise format of
the branch token is implementation-defined. JSIP defines a convenience
function to generate unique branch identifiers at
Transaction.getBranchId()
A common way to create the branch value is to compute a cryptographic hash of the To tag, From tag, Call-ID header field, the Request-URI of the request received (before translation), the topmost Via header, and the sequence number from the CSeq header field, in addition to any Proxy-Require and Proxy-Authorization header fields that may be present. The algorithm used to compute the hash is implementation-dependent.
Via Processing Rules
Two Via header fields are equal if their sent-protocol and sent-by fields (including port) are equal, both have the same set of parameters, and the values of all parameters are equal.
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Compare this ViaHeader for equality with another.
|
String |
getBranch()
Gets the branch paramater of the ViaHeader.
|
String |
getHost()
Returns the host part of this ViaHeader.
|
String |
getMAddr()
Returns the value of the
maddr parameter, or null if this
is not set. |
int |
getPort()
Returns the port part of this ViaHeader.
|
String |
getProtocol()
Returns the value of the protocol used.
|
String |
getReceived()
Gets the received paramater of the ViaHeader.
|
int |
getRPort()
Returns the rport part of this ViaHeader.
|
String |
getTransport()
Returns the value of the transport parameter.
|
int |
getTTL()
Returns the value of the ttl parameter, or -1 if this is not set.
|
void |
setBranch(String branch)
Sets the branch parameter of the ViaHeader to the newly supplied
branch value.
|
void |
setHost(String host)
Set the host part of this ViaHeader to the newly supplied
host
parameter. |
void |
setMAddr(String mAddr)
Sets the value of the
maddr parameter of this ViaHeader. |
void |
setPort(int port)
Set the port part of this ViaHeader to the newly supplied
port
parameter. |
void |
setProtocol(String protocol)
Sets the value of the protocol parameter.
|
void |
setReceived(String received)
Sets the received parameter of ViaHeader.
|
void |
setRPort()
Set the rport part of this ViaHeader.
|
void |
setTransport(String transport)
Sets the value of the transport.
|
void |
setTTL(int ttl)
Sets the value of the ttl parameter.
|
getParameter, getParameterNames, removeParameter, setParameter
static final String NAME
void setHost(String host) throws ParseException
host
parameter.host
- - the new value of the host of this ViaHeaderParseException
- which signals that an error has been reached
unexpectedly while parsing the host value.String getHost()
void setPort(int port) throws InvalidArgumentException
port
parameter.port
- - the new integer value of the port of this ViaHeaderInvalidArgumentException
- when the port value is not -1 and <1 or >65535int getPort()
String getTransport()
void setTransport(String transport) throws ParseException
transport
- - new value for the transport parameterParseException
- which signals that an error has been reached
unexpectedly while parsing the transport value.String getProtocol()
void setProtocol(String protocol) throws ParseException
protocol
- - new value for the protocol parameterParseException
- which signals that an error has been reached
unexpectedly while parsing the protocol value.int getTTL()
ttl
parametervoid setTTL(int ttl) throws InvalidArgumentException
ttl
- - new value of the ttl parameterInvalidArgumentException
- if supplied value is less than zero or
greater than 255, excluding -1 the default not set value.String getMAddr()
maddr
parameter, or null if this
is not set.void setMAddr(String mAddr) throws ParseException
maddr
parameter of this ViaHeader. The
maddr parameter indicates the server address to be contacted for this
user, overriding any address derived from the host field.mAddr
- new value of the mAddr
parameterParseException
- which signals that an error has been reached
unexpectedly while parsing the mAddr value.String getReceived()
void setReceived(String received) throws ParseException
received
- - the newly supplied received parameter.ParseException
- which signals that an error has been reached
unexpectedly while parsing the received value.String getBranch()
void setBranch(String branch) throws ParseException
branch
- - the new string branch parmameter of the ViaHeader.ParseException
- which signals that an error has been reached
unexpectedly while parsing the branch value.void setRPort() throws InvalidArgumentException
InvalidArgumentException
- if rport value is an illegal integer ( <=0 ).int getRPort()
boolean equals(Object obj)
Copyright © 2014. All Rights Reserved.