01: /**
02: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
03: * Unpublished - rights reserved under the Copyright Laws of the United States.
04: * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
05: * Copyright © 2005 BEA Systems, Inc. All rights reserved.
06: *
07: * Use is subject to license terms.
08: *
09: * This distribution may include materials developed by third parties.
10: *
11: * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12: *
13: * Module Name : JSIP Specification
14: * File Name : RecordRouteHeader.java
15: * Author : Phelim O'Doherty
16: *
17: * HISTORY
18: * Version Date Author Comments
19: * 1.1 08/10/2002 Phelim O'Doherty
20: *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21: */package javax.sip.header;
22:
23: /**
24: * The Record-Route header field is inserted by proxies in a request to force
25: * future requests in the dialog to be routed through the proxy. The
26: * SipProvider (as opposed to the application) should attach Record-Route
27: * headers to messages explicitly when forwarding them if necessary.
28: * <p>
29: * The RecordRouteHeader is added to a Request by any proxy that insists on being
30: * in the path of subsequent Requests for the same call leg. It contains
31: * a globally reachable RequestURI that identifies the proxy server. Each proxy
32: * server adds its Address URI to the beginning of the list.
33: * <p>
34: * The calling user agent client copies the RecordRouteHeaders into
35: * RouteHeaders of subsequent Requests within the same call leg, reversing the
36: * order, so that the first entry is closest to the user agent client. If the
37: * Response contained a ContactHeader field, the calling user agent adds its
38: * content as the last RouteHeader. Unless this would cause a loop, a client
39: * must send subsequent Requests for this call leg to the Address URI in the
40: * first RouteHeader and remove that entry.
41: * <p>
42: * Some proxies, such as those controlling firewalls or in an automatic call
43: * distribution (ACD) system, need to maintain call state and thus need to
44: * receive any BYE and ACK Requests for the call.
45: * <p>
46: * For Example:<br>
47: * <code>Record-Route: sip:server10.jcp.org;lr,
48: * sip:bigbox3.duke.jcp.org;lr</code>
49: *
50: * @see RouteHeader
51: * @see HeaderAddress
52: * @see Parameters
53: *
54: * @author BEA Systems, NIST
55: * @version 1.2
56: */
57: public interface RecordRouteHeader extends HeaderAddress, Parameters,
58: Header {
59:
60: /**
61: * Name of RecordRouteHeader
62: */
63: public final static String NAME = "Record-Route";
64: }
|