javax.sip.header.RecordRouteHeader Maven / Gradle / Ivy
/**
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Unpublished - rights reserved under the Copyright Laws of the United States.
* Copyright ? 2003 Sun Microsystems, Inc. All rights reserved.
* Copyright ? 2005 BEA Systems, Inc. All rights reserved.
*
* Use is subject to license terms.
*
* This distribution may include materials developed by third parties.
*
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*
* Module Name : JSIP Specification
* File Name : RecordRouteHeader.java
* Author : Phelim O'Doherty
*
* HISTORY
* Version Date Author Comments
* 1.1 08/10/2002 Phelim O'Doherty
*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package javax.sip.header;
/**
* The Record-Route header field is inserted by proxies in a request to force
* future requests in the dialog to be routed through the proxy. The
* SipProvider (as opposed to the application) should attach Record-Route
* headers to messages explicitly when forwarding them if necessary.
*
* The RecordRouteHeader is added to a Request by any proxy that insists on being
* in the path of subsequent Requests for the same call leg. It contains
* a globally reachable RequestURI that identifies the proxy server. Each proxy
* server adds its Address URI to the beginning of the list.
*
* The calling user agent client copies the RecordRouteHeaders into
* RouteHeaders of subsequent Requests within the same call leg, reversing the
* order, so that the first entry is closest to the user agent client. If the
* Response contained a ContactHeader field, the calling user agent adds its
* content as the last RouteHeader. Unless this would cause a loop, a client
* must send subsequent Requests for this call leg to the Address URI in the
* first RouteHeader and remove that entry.
*
* 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 BYE and ACK Requests for the call.
*
* For Example:
* Record-Route: sip:server10.jcp.org;lr,
* sip:bigbox3.duke.jcp.org;lr
*
* @see RouteHeader
* @see HeaderAddress
* @see Parameters
*
* @author BEA Systems, NIST
* @version 1.2
*/
public interface RecordRouteHeader extends HeaderAddress, Parameters, Header {
/**
* Name of RecordRouteHeader
*/
public final static String NAME = "Record-Route";
}