WebSphere Application Server V6.1 delivers rich SIP functionality throughout its infrastructure.
Session Initiation Protocol (SIP) has grown considerably since it first became an IETF standard in 1999. SIP was originally intended purely for video and audio but has now grown to become the control protocol for many interactive services, particularly in the peer-to-peer realm. SIP, and the standards surrounding SIP, provide the mechanisms to look up, negotiate, and manage connections to peers on any network over any other protocol.
Using version 6.1, you can write applications using the SIP Servlet 1.0 specification, which was introduced to allow enterprise applications to use SIP and to support SIP-predominant applications in the Java EE environment.
WebSphere Application Server also provides tooling for the development environment and high performing Edge Components to handle distributed application environments. The SIP components in WebSphere Application Server have a tight integration with the existing HTTP servlet and portlet work, with which you can write a highly converged HTTP and SIP application with seamless failover provided by the Proxy Server.
In WebSphere Application Server, the Web container and SIP container are converged and are able to share session management, security and other attributes. In this model, an application that includes SIP servlets, HTTP servlets, and portlets can seamlessly interact, regardless of the protocol.
High availability, offered by the Network Deployment version of WebSphere Application Server, of the converged applications is made possible because of the tight integration of HTTP and SIP in the base application server.
In front of a clustered application sits the Proxy server, managing the traffic and workload of the SIP and HTTP traffic to the Container. This Proxy Server is a stateless SIP proxy and a HTTP reverse proxy together, which uses the unified clustering framework and high availability manager services of the ND package to seamlessly monitor the health of the servers and failover work, when necessary. The Proxy server also can act as a stand alone Stateless SIP proxy in front of the SIP Container in the application server when no HTTP traffic is present.
With the converged proxy and converged container, session failover is done with affinity to the application, allowing the HTTP and SIP sessions to be tied together automatically. Having the SIP and HTTP Sessions automatically tied together from the container to the Proxy is another way the WebSphere Application Server 6.1 solution excels in converged environments.
For the SIP function in the Proxy server, it is important to understand that it is stateless. The SIP RFC defines two types of Proxy Servers, one stateful and one stateless. Normally, a SIP Proxy is a stateful instance and stateless proxies are specified as such. A stateful proxy participates in the call flows as we had seen in example from the SIP Overview. A stateful proxy can be implemented using SIP Servlets as a basic example was shown in the SIP Servlet section.
The stateless SIP proxy functionality in the Proxy server allows the Proxy to handle the workload, routing, and session affinity needs of the SIP container with less complexity. Being stateless, the Proxy server can be fronted by a simple IP sprayer such as the Load Balancer component included in the WebSphere Application Server Network Deployment package. If a Proxy Server fails, the affinity is to the container and not to the proxy itself so there is one less potential failure along the message flow.
SIP Infrastructure The SIP infrastructure is a multi-tiered architecture made up of SIP containers, SIP proxies and an IP sprayer. The SIP container is a general purpose SIP application server. The SIP infrastructure consists of:
SIP is a key element for many new applications, especially when converged with HTTP, including: