1600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpackage gov.nist.javax.sip.header; 2600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 3600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport java.text.ParseException; 4600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 5600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.extensions.JoinHeader; 6600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.extensions.ReferredByHeader; 7600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.extensions.ReplacesHeader; 8600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.extensions.SessionExpiresHeader; 9600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PAccessNetworkInfoHeader; 10600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PAssertedIdentityHeader; 11600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PAssertedServiceHeader; 12600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PAssociatedURIHeader; 13600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PCalledPartyIDHeader; 14600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PChargingFunctionAddressesHeader; 15600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PChargingVectorHeader; 16600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PMediaAuthorizationHeader; 17600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PPreferredIdentityHeader; 18600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PPreferredServiceHeader; 19600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PProfileKeyHeader; 20600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PServedUserHeader; 21600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PUserDatabaseHeader; 22600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PVisitedNetworkIDHeader; 23600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PathHeader; 24600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.PrivacyHeader; 25600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.SecurityClientHeader; 26600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.SecurityServerHeader; 27600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.SecurityVerifyHeader; 28600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport gov.nist.javax.sip.header.ims.ServiceRouteHeader; 29600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 30600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.InvalidArgumentException; 31600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.address.Address; 32600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.Header; 33600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangimport javax.sip.header.HeaderFactory; 34600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 35600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang/** 36600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Header factory extensions. These will be included in the next release of 37600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * JAIN-SIP. 38600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 39600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @since 2.0 40600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 41600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 42600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wangpublic interface HeaderFactoryExt extends HeaderFactory { 43600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 44600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 45600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a RequestLine from a String 46600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 47600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 48600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SipRequestLine createRequestLine(String requestLine) throws ParseException; 49600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 50600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 51600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 52600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a StatusLine from a String. 53600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 54600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SipStatusLine createStatusLine(String statusLine) throws ParseException; 55600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 56600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 57600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 58600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a ReferredBy Header. 59600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 60600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address -- 61600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * address for the header. 62600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 63600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 64600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ReferredByHeader createReferredByHeader(Address address); 65600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 66600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 67600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 68600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a Replaces header with a call Id, to and from tag. 69600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 70600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param callId - 71600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the call id to use. 72600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param toTag - 73600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the to tag to use. 74600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param fromTag - 75600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the fromTag to use. 76600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 77600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 78600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ReplacesHeader createReplacesHeader(String callId, String toTag, 79600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang String fromTag) throws ParseException; 80600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 81600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 82600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * creates a P-Access-Network-Info header. 83600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 84600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Access-Network-Info header 85600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 86600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PAccessNetworkInfoHeader createPAccessNetworkInfoHeader(); 87600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 88600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 89600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Asserted-Identity header 90600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 91600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address - 92600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Address 93600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Asserted-Identity header 94600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 95600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 96600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 97600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PAssertedIdentityHeader createPAssertedIdentityHeader(Address address) 98600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang throws NullPointerException, ParseException; 99600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 100600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 101600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Creates a new P-Associated-URI header based on the supplied address 102600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 103600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param assocURI - 104600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Address 105600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Associated-URI header 106600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 107600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * if the supplied address is null 108600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 109600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 110600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PAssociatedURIHeader createPAssociatedURIHeader(Address assocURI); 111600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 112600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 113600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Called-Party-ID header 114600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 115600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address - 116600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Address 117600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Called-Party-ID header 118600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 119600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 120600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 121600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PCalledPartyIDHeader createPCalledPartyIDHeader(Address address); 122600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 123600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 124600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Charging-Function-Addresses header 125600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 126600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Charging-Function-Addresses header 127600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 128600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PChargingFunctionAddressesHeader createPChargingFunctionAddressesHeader(); 129600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 130600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 131600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Charging-Vector header 132600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 133600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param icid - 134600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * icid string 135600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Charging-Vector header 136600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 137600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 138600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 139600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PChargingVectorHeader createChargingVectorHeader(String icid) throws ParseException; 140600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 141600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 142600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Media-Authorization header 143600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param token - token string 144600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Media-Authorizarion header 145600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws InvalidArgumentException 146600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 147600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 148600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PMediaAuthorizationHeader createPMediaAuthorizationHeader(String token) 149600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang throws InvalidArgumentException, ParseException; 150600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 151600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 152600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Preferred-Identity header 153600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address - Address 154600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Preferred-Identity header 155600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 156600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 157600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PPreferredIdentityHeader createPPreferredIdentityHeader(Address address); 158600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 159600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 160600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * P-Visited-Network-ID header 161600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created P-Visited-Network-ID header 162600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 163600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PVisitedNetworkIDHeader createPVisitedNetworkIDHeader(); 164600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 165600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 166600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * PATH header 167600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address - Address 168600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Path header 169600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 170600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws ParseException 171600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 172600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PathHeader createPathHeader(Address address); 173600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 174600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 175600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Privacy header 176600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param privacyType - privacy type string 177600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Privacy header 178600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 179600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 180600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PrivacyHeader createPrivacyHeader(String privacyType); 181600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 182600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 183600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 184600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Service-Route header 185600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address - Address 186600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Service-Route header 187600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws NullPointerException 188600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 189600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public ServiceRouteHeader createServiceRouteHeader(Address address); 190600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 191600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 192600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Security-Server header 193600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Security-Server header 194600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 195600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SecurityServerHeader createSecurityServerHeader(); 196600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 197600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 198600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Security-Client header 199600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Security-Client header 200600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 201600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SecurityClientHeader createSecurityClientHeader(); 202600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 203600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 204600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 205600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Security-Verify header 206600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return newly created Security-Verify header 207600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 208600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SecurityVerifyHeader createSecurityVerifyHeader(); 209600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 210600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 211600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 212600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Creates a new SessionExpiresHeader based on the newly supplied expires value. 213600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 214600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param expires - the new integer value of the expires. 215600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @throws InvalidArgumentException if supplied expires is less 216600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * than zero. 217600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return the newly created SessionExpiresHeader object. 218600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 219600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 220600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public SessionExpiresHeader createSessionExpiresHeader(int expires) throws InvalidArgumentException ; 221600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 222600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 223600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 224600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a Join header with a call Id, to and from tag. 225600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 226600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param callId - 227600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the call id to use. 228600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param toTag - 229600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the to tag to use. 230600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param fromTag - 231600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * the fromTag to use. 232600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 233600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 234600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public JoinHeader createJoinHeader(String callId, String toTag, 235600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang String fromTag) throws ParseException; 236600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 237600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 238600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 239600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return the newly created P-User-Database header 240600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param the database name, that may be an IP:port or a domain name. 241600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 242600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PUserDatabaseHeader createPUserDatabaseHeader(String databaseName); 243600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 244600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 245600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 246600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 247600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address 248600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return The newly created P-Profile-Key header 249600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 250600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PProfileKeyHeader createPProfileKeyHeader(Address address); 251600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 252600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 253600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @param address of the served user. 254600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return The newly created P-Served-User Header. 255600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 256600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PServedUserHeader createPServedUserHeader(Address address); 257600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 258600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 259600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 260600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return The newly created P-Preferred-Service Header. 261600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 262600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PPreferredServiceHeader createPPreferredServiceHeader(); 263600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 264600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 265600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * 266600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * @return The newly created P-Asserted-Service Header. 267600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 268600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public PAssertedServiceHeader createPAssertedServiceHeader(); 269600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 270600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang /** 271600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * Create a header from a string. The string is assumed to be in the 272600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * name:value format. The trailing CRLF (if any ) will be stripped 273600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang * before parsing this. The header should be a singleton. 274600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang */ 275600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang public Header createHeader(String header) throws ParseException; 276600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang 277600c7a4bbc7348167293eac928192e695b4ad5baChung-yih Wang} 278