| package gov.nist.javax.sip.header; |
| |
| import java.text.ParseException; |
| |
| import gov.nist.javax.sip.header.extensions.JoinHeader; |
| import gov.nist.javax.sip.header.extensions.ReferredByHeader; |
| import gov.nist.javax.sip.header.extensions.ReplacesHeader; |
| import gov.nist.javax.sip.header.extensions.SessionExpiresHeader; |
| import gov.nist.javax.sip.header.ims.PAccessNetworkInfoHeader; |
| import gov.nist.javax.sip.header.ims.PAssertedIdentityHeader; |
| import gov.nist.javax.sip.header.ims.PAssertedServiceHeader; |
| import gov.nist.javax.sip.header.ims.PAssociatedURIHeader; |
| import gov.nist.javax.sip.header.ims.PCalledPartyIDHeader; |
| import gov.nist.javax.sip.header.ims.PChargingFunctionAddressesHeader; |
| import gov.nist.javax.sip.header.ims.PChargingVectorHeader; |
| import gov.nist.javax.sip.header.ims.PMediaAuthorizationHeader; |
| import gov.nist.javax.sip.header.ims.PPreferredIdentityHeader; |
| import gov.nist.javax.sip.header.ims.PPreferredServiceHeader; |
| import gov.nist.javax.sip.header.ims.PProfileKeyHeader; |
| import gov.nist.javax.sip.header.ims.PServedUserHeader; |
| import gov.nist.javax.sip.header.ims.PUserDatabaseHeader; |
| import gov.nist.javax.sip.header.ims.PVisitedNetworkIDHeader; |
| import gov.nist.javax.sip.header.ims.PathHeader; |
| import gov.nist.javax.sip.header.ims.PrivacyHeader; |
| import gov.nist.javax.sip.header.ims.SecurityClientHeader; |
| import gov.nist.javax.sip.header.ims.SecurityServerHeader; |
| import gov.nist.javax.sip.header.ims.SecurityVerifyHeader; |
| import gov.nist.javax.sip.header.ims.ServiceRouteHeader; |
| |
| import javax.sip.InvalidArgumentException; |
| import javax.sip.address.Address; |
| import javax.sip.header.Header; |
| import javax.sip.header.HeaderFactory; |
| |
| /** |
| * Header factory extensions. These will be included in the next release of |
| * JAIN-SIP. |
| * |
| * @since 2.0 |
| * |
| */ |
| public interface HeaderFactoryExt extends HeaderFactory { |
| |
| /** |
| * Create a RequestLine from a String |
| * @throws ParseException |
| */ |
| public SipRequestLine createRequestLine(String requestLine) throws ParseException; |
| |
| |
| /** |
| * Create a StatusLine from a String. |
| */ |
| public SipStatusLine createStatusLine(String statusLine) throws ParseException; |
| |
| |
| /** |
| * Create a ReferredBy Header. |
| * |
| * @param address -- |
| * address for the header. |
| * |
| */ |
| public ReferredByHeader createReferredByHeader(Address address); |
| |
| /** |
| * |
| * Create a Replaces header with a call Id, to and from tag. |
| * |
| * @param callId - |
| * the call id to use. |
| * @param toTag - |
| * the to tag to use. |
| * @param fromTag - |
| * the fromTag to use. |
| * |
| */ |
| public ReplacesHeader createReplacesHeader(String callId, String toTag, |
| String fromTag) throws ParseException; |
| |
| /** |
| * creates a P-Access-Network-Info header. |
| * |
| * @return newly created P-Access-Network-Info header |
| */ |
| public PAccessNetworkInfoHeader createPAccessNetworkInfoHeader(); |
| |
| /** |
| * P-Asserted-Identity header |
| * |
| * @param address - |
| * Address |
| * @return newly created P-Asserted-Identity header |
| * @throws ParseException |
| * @throws NullPointerException |
| */ |
| public PAssertedIdentityHeader createPAssertedIdentityHeader(Address address) |
| throws NullPointerException, ParseException; |
| |
| /** |
| * Creates a new P-Associated-URI header based on the supplied address |
| * |
| * @param assocURI - |
| * Address |
| * @return newly created P-Associated-URI header |
| * @throws NullPointerException |
| * if the supplied address is null |
| * @throws ParseException |
| */ |
| public PAssociatedURIHeader createPAssociatedURIHeader(Address assocURI); |
| |
| /** |
| * P-Called-Party-ID header |
| * |
| * @param address - |
| * Address |
| * @return newly created P-Called-Party-ID header |
| * @throws NullPointerException |
| * @throws ParseException |
| */ |
| public PCalledPartyIDHeader createPCalledPartyIDHeader(Address address); |
| |
| /** |
| * P-Charging-Function-Addresses header |
| * |
| * @return newly created P-Charging-Function-Addresses header |
| */ |
| public PChargingFunctionAddressesHeader createPChargingFunctionAddressesHeader(); |
| |
| /** |
| * P-Charging-Vector header |
| * |
| * @param icid - |
| * icid string |
| * @return newly created P-Charging-Vector header |
| * @throws NullPointerException |
| * @throws ParseException |
| */ |
| public PChargingVectorHeader createChargingVectorHeader(String icid) throws ParseException; |
| |
| /** |
| * P-Media-Authorization header |
| * @param token - token string |
| * @return newly created P-Media-Authorizarion header |
| * @throws InvalidArgumentException |
| * @throws ParseException |
| */ |
| public PMediaAuthorizationHeader createPMediaAuthorizationHeader(String token) |
| throws InvalidArgumentException, ParseException; |
| |
| /** |
| * P-Preferred-Identity header |
| * @param address - Address |
| * @return newly created P-Preferred-Identity header |
| * @throws NullPointerException |
| */ |
| public PPreferredIdentityHeader createPPreferredIdentityHeader(Address address); |
| |
| /** |
| * P-Visited-Network-ID header |
| * @return newly created P-Visited-Network-ID header |
| */ |
| public PVisitedNetworkIDHeader createPVisitedNetworkIDHeader(); |
| |
| /** |
| * PATH header |
| * @param address - Address |
| * @return newly created Path header |
| * @throws NullPointerException |
| * @throws ParseException |
| */ |
| public PathHeader createPathHeader(Address address); |
| |
| /** |
| * Privacy header |
| * @param privacyType - privacy type string |
| * @return newly created Privacy header |
| * @throws NullPointerException |
| */ |
| public PrivacyHeader createPrivacyHeader(String privacyType); |
| |
| |
| /** |
| * Service-Route header |
| * @param address - Address |
| * @return newly created Service-Route header |
| * @throws NullPointerException |
| */ |
| public ServiceRouteHeader createServiceRouteHeader(Address address); |
| |
| /** |
| * Security-Server header |
| * @return newly created Security-Server header |
| */ |
| public SecurityServerHeader createSecurityServerHeader(); |
| |
| /** |
| * Security-Client header |
| * @return newly created Security-Client header |
| */ |
| public SecurityClientHeader createSecurityClientHeader(); |
| |
| |
| /** |
| * Security-Verify header |
| * @return newly created Security-Verify header |
| */ |
| public SecurityVerifyHeader createSecurityVerifyHeader(); |
| |
| |
| /** |
| * Creates a new SessionExpiresHeader based on the newly supplied expires value. |
| * |
| * @param expires - the new integer value of the expires. |
| * @throws InvalidArgumentException if supplied expires is less |
| * than zero. |
| * @return the newly created SessionExpiresHeader object. |
| * |
| */ |
| public SessionExpiresHeader createSessionExpiresHeader(int expires) throws InvalidArgumentException ; |
| |
| /** |
| * |
| * Create a Join header with a call Id, to and from tag. |
| * |
| * @param callId - |
| * the call id to use. |
| * @param toTag - |
| * the to tag to use. |
| * @param fromTag - |
| * the fromTag to use. |
| * |
| */ |
| public JoinHeader createJoinHeader(String callId, String toTag, |
| String fromTag) throws ParseException; |
| |
| /** |
| * |
| * @return the newly created P-User-Database header |
| * @param the database name, that may be an IP:port or a domain name. |
| */ |
| public PUserDatabaseHeader createPUserDatabaseHeader(String databaseName); |
| |
| |
| /** |
| * |
| * @param address |
| * @return The newly created P-Profile-Key header |
| */ |
| public PProfileKeyHeader createPProfileKeyHeader(Address address); |
| |
| /** |
| * @param address of the served user. |
| * @return The newly created P-Served-User Header. |
| */ |
| public PServedUserHeader createPServedUserHeader(Address address); |
| |
| /** |
| * |
| * @return The newly created P-Preferred-Service Header. |
| */ |
| public PPreferredServiceHeader createPPreferredServiceHeader(); |
| |
| /** |
| * |
| * @return The newly created P-Asserted-Service Header. |
| */ |
| public PAssertedServiceHeader createPAssertedServiceHeader(); |
| |
| /** |
| * Create a header from a string. The string is assumed to be in the |
| * name:value format. The trailing CRLF (if any ) will be stripped |
| * before parsing this. The header should be a singleton. |
| */ |
| public Header createHeader(String header) throws ParseException; |
| |
| } |