Converged Application Server Architecture
The “SIP Stack" of Converged Application Server is fully integrated into the SIP Servlet container and is substantially more powerful and easier to use than a traditional protocol stack.
As shown in Figure 1-2, Converged Application Server combines the SIP Servlet container with EJB and HTTP Servlet containers, supporting application convergence through session context sharing.
Figure 1-2 Converged Application Server Extended Java EE for Next Generation Networks

The SIP Servlet API defines a higher layer of abstraction than simple protocol stacks provide and frees the developer from concern for the mechanics of the SIP protocol itself. Specifically, the API handles the syntactic validation of received requests, transaction layer timers, generation of non-application-related responses, generation of fully-formed SIP requests from request objects (which involves correct preparation of system headers and generation of syntactically correct SIP messages), and lower-layer transport protocols (such as TCP, UDP or SCTP).
The Servlet container distributes request and response objects to components in a structured way, maintains awareness of the state of the larger, converged SIP and HTTP application session, and manages the end-to-end object lifecycle, including resource, transaction, and session state management. The converged SIP and HTTP container thereby frees the developer from much work (and opportunity for error) and allows deployed applications to inherit the high-availability, performance, and operational features provided by the robust Converged Application Server container implementation.
The SIP Servlet API greatly simplifies the task of implementing SIP User Agents, Proxies and Back-to-Back-User-Agents, and it narrows the developers exposure to operational concerns such as resource management, reliability, manageability and interaction between services. (See "Developing Applications for Converged Application Server" for more information.)
Converged Application Server incorporates a number of architectural features that allow for its deployment as a highly-available, fault tolerant cluster.
Engines processes all signaling traffic and replicates transaction and session state between all engines in a cluster. This clustering capability, combined with a third-party load balancer, transparently provides services with Telco-grade availability, scalability, and fault tolerance (session retention), ensuring that ongoing sessions are not affected by the failure of individual cluster members since a production deployment of Converged Application Server has no single point of failure.