SIP in WAS

 

+

Search Tips   |   Advanced Search

 

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.

Use 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.

WAS also provides tooling for the development environment and high performing Edge Components to handle distributed application environments. The SIP components in WAS 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 WAS, 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 ND version of WAS, of the converged applications is made possible because of the tight integration of HTTP and SIP in the base appserver.

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 appserver 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 WAS 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 WAS ND 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 appserver. The SIP infrastructure consists of:

SIP container Web container extension that implements JSR 116 plus a SIP protocol stack that implements all pertinent RFCs.
SIP proxy Stateless edge device that handles I/O concentration, load balancing, etc. Similar to the reverse HTTP proxy. This is not the same as the SIP Proxy defined by RFC 3261.
Load Balancer SIP enabled to interoperate with SIP proxies and SIP containers. The extendable SIP proxy handles session affinity, load balancing and failover. The Load Balancer functions as a highly available IP sprayer to dispatch messages to the proxies.

SIP is a key element for many new applications, especially when converged with HTTP, including:




 

Related tasks

Browse all SIP topics