SIP servlet specification
This page describes the SIP servlet specification.
The SIP Servlet 1.0 specification (JSR 116) has a lot of sections, which can be useful, depending on the goal of the application developer. Some of these sections include application composition, the SipFactory API, and a lot of event listeners to handle events in the protocol handling.
Application composition is a complex portion of the SIP Servlet 1.0 specification that allows multiple applications to run on the same request message. Like the HTTP servlet model, the SIP servlets include a deployment descriptor to define the servlet to the container within which the servlet runs. However, because the application does not map to a definitive URI, multiple servlets can run on one request message. Each initial message, one the container has no prior knowledge of, gets matched against the set of rules in the deployment descriptor and invokes the applications based on those configured rules. Responses and subsequent requests follow the same path of that initial request.
Another valuable API in the SIP Servlet specification is the SipFactory API. The SipFactory API provides access to create more requests and sessions from within a servlet. This API is useful when writing functions such as a back-to-back user agent (B2BUA). Unlike a proxy that forwards on the requests, a B2BUA acts as both a user agent server (UAS) and a user agent client (UAC) to further participate in the SIP transaction. The UAS portion can receive and process the requests, while the UAC determines how to initiate one or more associated outbound calls.
The SipFactory API is also useful for invoking new requests out of the container when accessed through another type of service. Although one current limitation of the SipFactory API is that it is only available in the ServletContext object, you can use the SipFactory API to perform functions as a UAC, such as third-party-call setup. Because the SIP servlet container typically resides within a Java EE environment, you can write a Web service or enterprise bean that uses the SipFactory API to create application sessions and requests for other SIP entities. Other parts of the API include:
- ServletConfig -- A mechanism used by the container to pass configuration information to the servlet on initialization.
- ServletContext -- The primary mechanism to communicate with the container and store attributes for the servlet. Also, currently how you access the SipFactory API.
- SipAddress -- The address from the SIP From and To header.
- Proxy -- A useful API when trying to query or change how the container proxies on a SIP request.
Related tasks
Browse all SIP topics
SIP servlets
Related Reference
SIP SipServletRequest and SipServletResponse classes
SIP SipSession and SipApplicationSession classes
Example: SIP servlet simple proxy
Example: SIP servlet SendOnServlet class
Example: SIP servlet Proxy servlet class