|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--jain.protocol.ip.sip.header.Header
|
+--jain.protocol.ip.sip.header.GeneralHeader
|
+--jain.protocol.ip.sip.header.RecordRouteHeader
This class represents the Record-Route request and response header. The RecordRouteHeader is added to a RequestMessage by any proxy that insists on being in the path of subsequent RequestMessages for the same call leg. It contains a globally reachable RequestURI that identifies the proxy server. Each proxy server adds its RequestURI to the beginning of the list.
The server copies the RecordRouteHeader unchanged into the ResponseMessage. (RecordRouteHeader is only relevant for SUCCESS ResponseMessages.)
The calling user agent client copies the RecordRouteHeaders into RouteHeaders of subsequent RequestMessages within the same call leg, reversing the order, so that the first entry is closest to the user agent client. If the ResponseMessage contained a ContactHeader field, the calling user agent adds its content as the last RouteHeader. Unless this would cause a loop, any client must send any subsequent RequestMessages for this call leg to the RequestURI in the first RouteHeader and remove that entry.
The calling user agent must not use the RecordRouteHeaders in RequestMessages that contain RouteHeaders.
Some proxies, such as those controlling firewalls or in an automatic call distribution (ACD) system, need to maintain call state and thus need to receive any ByeMessages and AckMessages for the call.
Proxy servers should use the SipURL maddr in the NameAddress containing their address to ensure that subsequent RequestMessages are guaranteed to reach exactly the same server.
RouteHeader| Field Summary | |
static java.lang.String |
token
Token of RecordRouteHeader |
| Fields inherited from class jain.protocol.ip.sip.header.Header |
ENTITY_HEADER,
GENERAL_HEADER,
REQUEST_HEADER,
RESPONSE_HEADER |
| Constructor Summary | |
RecordRouteHeader(NameAddress nameAddress)
Creates a RecordRouteHeader based on given NameAddress |
|
| Method Summary | |
java.lang.Object |
clone()
Creates and returns a copy of RecordRouteHeader |
boolean |
equals(RecordRouteHeader recordRouteHeader)
Indicates whether some other RecordRouteHeader is "equal to" this one |
NameAddress |
getNameAddress()
Gets NameAddress of RecordRouteHeader |
java.lang.String |
getValue()
Gets value of RecordRouteHeader |
void |
setNameAddress(NameAddress nameAddress)
Sets NameAddress of RecordRouteHeader |
| 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 |
public static final java.lang.String token
| Constructor Detail |
public RecordRouteHeader(NameAddress nameAddress)
throws java.lang.IllegalArgumentException
nameAddress - NameAddress| Method Detail |
public NameAddress getNameAddress()
public void setNameAddress(NameAddress nameAddress)
throws java.lang.IllegalArgumentException
nameAddress - NameAddresspublic java.lang.String getValue()
public java.lang.Object clone()
public boolean equals(RecordRouteHeader recordRouteHeader)
recordRouteHeader - the RecordRouteHeader with which to compare
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright - 2000 Sun Microsystems