|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
Factory interface for a variety of SIP Servlet API abstractions.
SIP servlet containers are requried to make a
SipFactory instance available to applications
through a ServletContext attribute with name
javax.servlet.sip.SipFactory.
| Method Summary | |
Address |
createAddress(java.lang.String sipAddress)
Returns a Address corresponding to the specified
string. |
Address |
createAddress(URI uri)
Returns an Address with the specified URI and no
display name. |
Address |
createAddress(URI uri,
java.lang.String displayName)
Returns a new Address with the specified
URI and display name. |
SipApplicationSession |
createApplicationSession()
Returns a new SipApplicationSession. |
SipServletRequest |
createRequest(SipApplicationSession appSession,
java.lang.String method,
Address from,
Address to)
Returns a new request object with the specified request method, From, and To headers. |
SipServletRequest |
createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
Returns a new request object with the specified request method, From, and To headers. |
SipServletRequest |
createRequest(SipApplicationSession appSession,
java.lang.String method,
URI from,
URI to)
Returns a new request object with the specified request method, From, and To headers. |
SipServletRequest |
createRequest(SipServletRequest origRequest,
boolean sameCallId)
Creates a new request object belonging to a new SipSession. |
SipURI |
createSipURI(java.lang.String user,
java.lang.String host)
Constructs a SipURI with the specified user and host
components. |
URI |
createURI(java.lang.String uri)
Returns a URI object corresponding to the specified
string. |
| Method Detail |
public URI createURI(java.lang.String uri)
throws ServletParseException
URI object corresponding to the specified
string. The URI may then be used as request URI in
SIP requests or as the URI component of Address objects.
Implementations must be able to represent URIs of any scheme.
This method returns a SipURI object if the specified
string is a sip or a sips URI, and a
TelURL object if it's a tel URL.
uri - the URI string to parseURI objectServletParseException - if the URI scheme
is unknown or parsing failed
public SipURI createSipURI(java.lang.String user,
java.lang.String host)
SipURI with the specified user and host
components. The scheme will initially be sip but the
application may change it to sips by calling
setSecure(true) on the returned SipURI.
Likewise, the port number of the new URI is left unspecified but
may subsequently be set by calling setPort on the
returned SipURI.user - user part of the new SipURIhost - host part of the new SipURISipURI with the specified
user and host parts
public Address createAddress(java.lang.String sipAddress)
throws ServletParseException
Address corresponding to the specified
string. The resulting object can be used, for example, as the
value of From or To headers of locally initiated SIP requests.
The special argument "*" results in a wildcard
Address being returned, that is, an Address
for which isWildcard returns true. Such addresses are
for use in Contact headers only.
addr - valid value of SIP From or To headerAddressServletParseException - if parsing failedpublic Address createAddress(URI uri)
Address with the specified URI and no
display name.uri - the URI of the returned AddressAddress whose URI
component is the argument
public Address createAddress(URI uri,
java.lang.String displayName)
Address with the specified
URI and display name.uri - URI of the new AddressdisplayName - display name of the new Address
public SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
Address from,
Address to)
SipSession which belongs to the specified
SipApplicationSession.
This method is used by servlets acting as SIP clients in order to send a request in a new call leg. The container is responsible for assigning the request appropriate Call-ID and CSeq headers, as well as Contact header if the method is not REGISTER.
This method makes a copy of the from and to arguments and
associates them with the new SipSession. Any component
of the from and to URIs not allowed in the context of SIP
From and To headers are removed from the copies. This includes,
headers and various parameters. Also, a "tag" parameter in either
of the copied from or to is also removed, as it is illegal in an
initial To header and the container will choose it's own tag for
the From header. The copied from and to addresses can be obtained
from the SipSession but must not be modified by applications.
appSession - the application session to which the new
SipSession and SipServletRequest
belongsmethod - the method of the new request, e.g. "INVITE"from - value of the From headerto - value of the To headerjava.lang.IllegalArgumentException - if the method is "ACK" or "CANCEL"
public SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
URI from,
URI to)
SipSession which belongs to the specified
SipApplicationSession.
This method is used by servlets acting as SIP clients in order to send a request in a new call leg. The container is responsible for assigning the request appropriate Call-ID and CSeq headers, as well as Contact header if the method is not REGISTER.
This method makes a copy of the from and to arguments and
associates them with the new SipSession. Any component
of the from and to URIs not allowed in the context of SIP
From and To headers are removed from the copies. This includes,
headers and various parameters.
The from and to addresses can subsequently be obtained from the
SipSession or the returned request object but must not be modified
by applications.
appSession - the application session to which the new
SipSession and SipServletRequest
belongsmethod - the method of the new request, e.g. "INVITE"from - value of the From headerto - value of the To headerjava.lang.IllegalArgumentException - if the method is "ACK" or "CANCEL"
public SipServletRequest createRequest(SipApplicationSession appSession,
java.lang.String method,
java.lang.String from,
java.lang.String to)
throws ServletParseException
SipSession which belongs to the specified
SipApplicationSession.
This method is used by servlets acting as SIP clients in order to send a request in a new call leg. The container is responsible for assigning the request appropriate Call-ID and CSeq headers, as well as Contact header if the method is not REGISTER.
This method is functionally equivalent to:
createRequest(method, f.createAddress(from), f.createAddress(to));Note that this implies that if either of the from or to argument is a SIP URI containing parameters, the URI must be enclosed in angle brackets. Otherwise the address will be parsed as if the parameter belongs to the address and not the URI.
appSession - the application session to which the new
SipSession and SipServletRequest
belongsmethod - the method of the new request, e.g. "INVITE"from - value of the From header -- this must be a
valid Addressto - value of the To header -- this must be a
valid AddressServletParseException - if the URI scheme of
the from or to argument is unknown or if parsing failedjava.lang.IllegalArgumentException - if the method is "ACK" or "CANCEL"
public SipServletRequest createRequest(SipServletRequest origRequest,
boolean sameCallId)
origRequest
in that the method and the majority of header fields are copied
from origRequest to the new request.
This method satisfies the following rules:
sameCallId argument is false, the new
request (and the corresponding SipSession)is
assigned a new Call-ID.
This method provides a convenient and efficient way of
constructing the second "leg" of a B2BUA application. It is used
only for the initial request. Subsequent requests in either leg
must be created using SipSession.createRequest(java.lang.String) as usual.
origRequest - request to be "copied"sameCallId - whether or not to use same Call-ID for the new
dialog (To/From tags will make its ID unique)public SipApplicationSession createApplicationSession()
SipApplicationSession. This is useful,
for example, when an application is being initialized and wishes
to perform some signaling action.SipApplicationSession object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||