• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package gov.nist.javax.sip.header;
2 
3 import java.text.ParseException;
4 
5 import gov.nist.javax.sip.header.extensions.JoinHeader;
6 import gov.nist.javax.sip.header.extensions.ReferredByHeader;
7 import gov.nist.javax.sip.header.extensions.ReplacesHeader;
8 import gov.nist.javax.sip.header.extensions.SessionExpiresHeader;
9 import gov.nist.javax.sip.header.ims.PAccessNetworkInfoHeader;
10 import gov.nist.javax.sip.header.ims.PAssertedIdentityHeader;
11 import gov.nist.javax.sip.header.ims.PAssertedServiceHeader;
12 import gov.nist.javax.sip.header.ims.PAssociatedURIHeader;
13 import gov.nist.javax.sip.header.ims.PCalledPartyIDHeader;
14 import gov.nist.javax.sip.header.ims.PChargingFunctionAddressesHeader;
15 import gov.nist.javax.sip.header.ims.PChargingVectorHeader;
16 import gov.nist.javax.sip.header.ims.PMediaAuthorizationHeader;
17 import gov.nist.javax.sip.header.ims.PPreferredIdentityHeader;
18 import gov.nist.javax.sip.header.ims.PPreferredServiceHeader;
19 import gov.nist.javax.sip.header.ims.PProfileKeyHeader;
20 import gov.nist.javax.sip.header.ims.PServedUserHeader;
21 import gov.nist.javax.sip.header.ims.PUserDatabaseHeader;
22 import gov.nist.javax.sip.header.ims.PVisitedNetworkIDHeader;
23 import gov.nist.javax.sip.header.ims.PathHeader;
24 import gov.nist.javax.sip.header.ims.PrivacyHeader;
25 import gov.nist.javax.sip.header.ims.SecurityClientHeader;
26 import gov.nist.javax.sip.header.ims.SecurityServerHeader;
27 import gov.nist.javax.sip.header.ims.SecurityVerifyHeader;
28 import gov.nist.javax.sip.header.ims.ServiceRouteHeader;
29 
30 import javax.sip.InvalidArgumentException;
31 import javax.sip.address.Address;
32 import javax.sip.header.Header;
33 import javax.sip.header.HeaderFactory;
34 
35 /**
36  * Header factory extensions. These will be included in the next release of
37  * JAIN-SIP.
38  *
39  * @since 2.0
40  *
41  */
42 public interface HeaderFactoryExt extends HeaderFactory {
43 
44     /**
45      * Create a RequestLine from a String
46      * @throws ParseException
47      */
createRequestLine(String requestLine)48     public SipRequestLine createRequestLine(String requestLine) throws ParseException;
49 
50 
51     /**
52      * Create a StatusLine from a String.
53      */
createStatusLine(String statusLine)54     public SipStatusLine createStatusLine(String statusLine) throws ParseException;
55 
56 
57     /**
58      * Create a ReferredBy Header.
59      *
60      * @param address --
61      *            address for the header.
62      *
63      */
createReferredByHeader(Address address)64     public ReferredByHeader createReferredByHeader(Address address);
65 
66     /**
67      *
68      * Create a Replaces header with a call Id, to and from tag.
69      *
70      * @param callId -
71      *            the call id to use.
72      * @param toTag -
73      *            the to tag to use.
74      * @param fromTag -
75      *            the fromTag to use.
76      *
77      */
createReplacesHeader(String callId, String toTag, String fromTag)78     public ReplacesHeader createReplacesHeader(String callId, String toTag,
79             String fromTag) throws ParseException;
80 
81     /**
82      * creates a P-Access-Network-Info header.
83      *
84      * @return newly created P-Access-Network-Info header
85      */
createPAccessNetworkInfoHeader()86     public PAccessNetworkInfoHeader createPAccessNetworkInfoHeader();
87 
88     /**
89      * P-Asserted-Identity header
90      *
91      * @param address -
92      *            Address
93      * @return newly created P-Asserted-Identity header
94      * @throws ParseException
95      * @throws NullPointerException
96      */
createPAssertedIdentityHeader(Address address)97     public PAssertedIdentityHeader createPAssertedIdentityHeader(Address address)
98             throws NullPointerException, ParseException;
99 
100     /**
101      * Creates a new P-Associated-URI header based on the supplied address
102      *
103      * @param assocURI -
104      *            Address
105      * @return newly created P-Associated-URI header
106      * @throws NullPointerException
107      *             if the supplied address is null
108      * @throws ParseException
109      */
createPAssociatedURIHeader(Address assocURI)110     public PAssociatedURIHeader createPAssociatedURIHeader(Address assocURI);
111 
112     /**
113      * P-Called-Party-ID header
114      *
115      * @param address -
116      *            Address
117      * @return newly created P-Called-Party-ID header
118      * @throws NullPointerException
119      * @throws ParseException
120      */
createPCalledPartyIDHeader(Address address)121     public PCalledPartyIDHeader createPCalledPartyIDHeader(Address address);
122 
123     /**
124      * P-Charging-Function-Addresses header
125      *
126      * @return newly created P-Charging-Function-Addresses header
127      */
createPChargingFunctionAddressesHeader()128     public PChargingFunctionAddressesHeader createPChargingFunctionAddressesHeader();
129 
130     /**
131      * P-Charging-Vector header
132      *
133      * @param icid -
134      *            icid string
135      * @return newly created P-Charging-Vector header
136      * @throws NullPointerException
137      * @throws ParseException
138      */
createChargingVectorHeader(String icid)139     public PChargingVectorHeader createChargingVectorHeader(String icid) throws ParseException;
140 
141      /**
142      * P-Media-Authorization header
143      * @param token - token string
144      * @return newly created P-Media-Authorizarion header
145      * @throws InvalidArgumentException
146      * @throws ParseException
147      */
createPMediaAuthorizationHeader(String token)148     public PMediaAuthorizationHeader createPMediaAuthorizationHeader(String token)
149         throws InvalidArgumentException, ParseException;
150 
151     /**
152      * P-Preferred-Identity header
153      * @param address - Address
154      * @return newly created P-Preferred-Identity header
155      * @throws NullPointerException
156      */
createPPreferredIdentityHeader(Address address)157     public PPreferredIdentityHeader createPPreferredIdentityHeader(Address address);
158 
159     /**
160      * P-Visited-Network-ID header
161      * @return newly created P-Visited-Network-ID header
162      */
createPVisitedNetworkIDHeader()163     public PVisitedNetworkIDHeader createPVisitedNetworkIDHeader();
164 
165     /**
166      * PATH header
167      * @param address - Address
168      * @return newly created Path header
169      * @throws NullPointerException
170      * @throws ParseException
171      */
createPathHeader(Address address)172     public PathHeader createPathHeader(Address address);
173 
174     /**
175      * Privacy header
176      * @param privacyType - privacy type string
177      * @return newly created Privacy header
178      * @throws NullPointerException
179      */
createPrivacyHeader(String privacyType)180     public PrivacyHeader createPrivacyHeader(String privacyType);
181 
182 
183     /**
184      * Service-Route header
185      * @param address - Address
186      * @return newly created Service-Route header
187      * @throws NullPointerException
188      */
createServiceRouteHeader(Address address)189     public ServiceRouteHeader createServiceRouteHeader(Address address);
190 
191     /**
192      * Security-Server header
193      * @return newly created Security-Server header
194      */
createSecurityServerHeader()195     public SecurityServerHeader createSecurityServerHeader();
196 
197     /**
198      * Security-Client header
199      * @return newly created Security-Client header
200      */
createSecurityClientHeader()201     public SecurityClientHeader createSecurityClientHeader();
202 
203 
204     /**
205      * Security-Verify header
206      * @return newly created Security-Verify header
207      */
createSecurityVerifyHeader()208     public SecurityVerifyHeader createSecurityVerifyHeader();
209 
210 
211     /**
212      * Creates a new SessionExpiresHeader based on the newly supplied expires value.
213      *
214      * @param expires - the new integer value of the expires.
215      * @throws InvalidArgumentException if supplied expires is less
216      * than zero.
217      * @return the newly created SessionExpiresHeader object.
218      *
219      */
createSessionExpiresHeader(int expires)220     public SessionExpiresHeader createSessionExpiresHeader(int expires) throws InvalidArgumentException ;
221 
222     /**
223      *
224      * Create a Join header with a call Id, to and from tag.
225      *
226      * @param callId -
227      *            the call id to use.
228      * @param toTag -
229      *            the to tag to use.
230      * @param fromTag -
231      *            the fromTag to use.
232      *
233      */
createJoinHeader(String callId, String toTag, String fromTag)234     public JoinHeader createJoinHeader(String callId, String toTag,
235             String fromTag) throws ParseException;
236 
237     /**
238      *
239      * @return the newly created P-User-Database header
240      * @param the database name, that may be an IP:port or a domain name.
241      */
createPUserDatabaseHeader(String databaseName)242     public PUserDatabaseHeader createPUserDatabaseHeader(String databaseName);
243 
244 
245     /**
246      *
247      * @param address
248      * @return The newly created P-Profile-Key header
249      */
createPProfileKeyHeader(Address address)250     public PProfileKeyHeader createPProfileKeyHeader(Address address);
251 
252     /**
253      * @param address of the served user.
254      * @return The newly created P-Served-User Header.
255      */
createPServedUserHeader(Address address)256     public PServedUserHeader createPServedUserHeader(Address address);
257 
258     /**
259      *
260      * @return The newly created P-Preferred-Service Header.
261      */
createPPreferredServiceHeader()262     public PPreferredServiceHeader createPPreferredServiceHeader();
263 
264     /**
265      *
266      * @return The newly created P-Asserted-Service Header.
267      */
createPAssertedServiceHeader()268     public PAssertedServiceHeader createPAssertedServiceHeader();
269 
270     /**
271      * Create a header from a string. The string is assumed to be in the
272      * name:value format. The trailing CRLF (if any ) will be stripped
273      * before parsing this. The header should be a singleton.
274      */
createHeader(String header)275     public Header createHeader(String header) throws ParseException;
276 
277 }
278