1 /*
2 * Conditions Of Use
3 *
4 * This software was developed by employees of the National Institute of
5 * Standards and Technology (NIST), an agency of the Federal Government.
6 * Pursuant to title 15 Untied States Code Section 105, works of NIST
7 * employees are not subject to copyright protection in the United States
8 * and are considered to be in the public domain.  As a result, a formal
9 * license is not needed to use the software.
10 *
11 * This software is provided by NIST as a service and is expressly
12 * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
13 * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
14 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
15 * AND DATA ACCURACY.  NIST does not warrant or make any representations
16 * regarding the use of the software or the results thereof, including but
17 * not limited to the correctness, accuracy, reliability or usefulness of
18 * the software.
19 *
20 * Permission to use this software is contingent upon your acceptance
21 * of the terms of this agreement
22 *
23 * .
24 *
25 */
26 /*******************************************
27  * PRODUCT OF PT INOVACAO - EST DEPARTMENT *
28  *******************************************/
29 
30 package gov.nist.javax.sip.header.ims;
31 
32 import gov.nist.core.Token;
33 
34 import javax.sip.header.Header;
35 import javax.sip.header.Parameters;
36 
37 
38 
39 /**
40  * P-Visited-Network-ID SIP Private Header: RFC 3455.
41  *
42  * <ul>
43  * <li>
44  * . One of the conditions for a home network to accept the registration of a UA roaming to a
45  * particular visited network, is the existence of a roaming agreement between the home and
46  * the visited network. There is a need to indicate to the home network which one is the visited
47  * network that is providing services to the roaming UA.
48  * <li>
49  * . user agents always register to the home network. The REGISTER request is proxied by
50  * one or more proxies located in the visited network towards the home network
51  * <li>
52  * . the visited network includes an identification that is known at the home network
53  * <li>
54  * . This identification should be globally unique, and takes the form of a quoted text string or a token
55  * <li>
56  * . In case a REGISTER or other request is traversing different administrative domains
57  * (e.g., different visited networks), a SIP proxy MAY insert a NEW P-Visited-Network-ID header
58  * if the request does not contain a P-Visited-Network-ID header with the same network
59  * identifier as its own network identifier
60  * </ul>
61  *
62  * <p>Sintax: </p>
63  *
64  * <pre>
65  * P-Visited-Network-ID = "P-Visited-Network-ID" HCOLON
66  *                         vnetwork-spec
67  *                         *(COMMA vnetwork-spec)
68  * vnetwork-spec        = (token / quoted-string)
69  *                         *(SEMI vnetwork-param)
70  * vnetwork-param       = generic-param
71  *
72  *
73  * eg: P-Visited-Network-ID: other.net, "Visited network number 1"
74  * </pre>
75  *
76  * @author ALEXANDRE MIGUEL SILVA SANTOS - Nú 10045401
77  */
78 
79 
80 
81 
82 public interface PVisitedNetworkIDHeader extends Parameters, Header {
83 
84     /**
85      * Name of VisitedNetworkIDHeader
86      */
87     public final static String NAME = "P-Visited-Network-ID";
88 
89 
90     /**
91      * Set the visited network ID as a string. The value will be quoted in the header.
92      * @param networkID - string value
93      */
setVisitedNetworkID(String networkID)94     public void setVisitedNetworkID(String networkID);
95 
96     /**
97      * Set the visited network ID as a token
98      * @param networkID - token value
99      */
setVisitedNetworkID(Token networkID)100     public void setVisitedNetworkID(Token networkID);
101 
102     /**
103      * Get the visited network ID value of this header
104      */
getVisitedNetworkID()105     public String getVisitedNetworkID();
106 
107 }
108