Presentation on theme: "1 Mobicents Training JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead."— Presentation transcript:
1 Mobicents Training JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead
2 Plan Introduction JSLEE SIP-Servlets JSLEE/SIP-Servlets interoperability Future work
3 Introduction – Telco Landscape has changed Convergence has become a reality. New Services combining web, voice, and video are emerging. Operators are embracing innovation New open standards, specifications, frameworks now mature. Open platforms are flexible, cost effective, and faster to deploy than traditional proprietary products. The Mobicents Communications Platform is an Open Platform that drives Convergence.
4 Java in Next Generation Networking Telecommunications applications are moving to component based architectures on Java containers Let developers focus on valueadd application logic and reduce time to market and cut development costs. Java Advanced Intelligent Network (JAIN) group has been defined that has released JAIN-SIP, JSLEE and SIP Servlets specifications. JAIN SIP can be used independently to program SIP applications or be used by higher level programming entities and container based environments. The latter is how JAIN SIP is utilized by the Mobicents Communications Platform.
5 Plan Introduction JSLEE SIP-Servlets JSLEE/SIP-Servlets interoperability Future work
6 JSLEE - Concepts Specification Defined by the JCP, v1.1 (JSR 240) just released SLEE = Service Logic Execution Environment High throughput, low latency event processing. Built-in support for HA and scalability Asynchronous support & Event oriented Elaborated event distribution mechanism (with priority) Mapping of events and method invocation on components Creates components instances in response to initial events Independent of underlying networks through Resource Adaptors High performing platform for event driven applications SLEE is complementary to Java EE
7 Simplified JSLEE Architecture SIP, H323 or any protocol Network
The Open Source Mobicents JSLEE Server ● Four Core Capabilities ✓ Integrated Java EE + JSLEE environment Shares Jboss Container Building Blocks : Jboss JMX MicroKernel, JNDI, JTA, AOP, Jboss Cache, JGroups, Javassist, Jboss Rules,... ✓ Network abstraction layer SIP, XMPP/Jingle, XCAP, Asterisk, Parlay, Diameter, Media/RTP, Persistence, LDAP, HTTP, Production Rules (JSR 94), TTS (Text to speech) ✓ Management interface + 3 rd party API Provides High Performance and High Availibility : 250 calls per second on 3Ghz Xeon, 4Gb RAM; 400 calls per second on 4CPU server.
9 Plan Introduction JSLEE SIP-Servlets JSLEE/SIP-Servlets interoperability Future work
SIP Servlets - Concepts ● Defined by the JCP v1.1 (JSR 289), just achieved Final Release. ● SIP Servlets API : ✓ Familiar to HTTP servlet programmers because it leverages the well know servlet model to develop SIP applications. ✓ Defines high-level objects ✓ Container provides value-adds such as protocol stack, state management, proxy & b2bua capabilities, etc. ✓ Ability to mix SIP Servlets and Java EE components to add rich media interactions to enterprise. ✓ Application Composition through the Application Router ✓ Declarative or programmatic security
11 Sip-Servlets in Java EE Architecture
12 Mobicents Sip Servlets Implementation of all SIP Servlets v1.1 specification features High Availability : Load Balancing and Mid-Call Failover support ✓ support for MESSAGE, SUBSCRIBE/NOTIFY, INFO, UPDATE, PUBLISH, REFER SIP extensions ✓ Integration with SEAM ✓ DNS SRV lookup & STUN support for NAT Traversal ✓ Media Support : Integration with Mobicents Media Server ✓ Management Console ✓ NIST SIP stack used as the JAIN SIP Stack as in Mobicents JSLEE SIP RA. ✓ Soak tests showed 100 calls/sec for 24h for a total of calls on 2x AMD 2220 SE server with 8GB of RAM
13 Plan Introduction JSLEE SIP-Servlets JSLEE/SIP-Servlets interoperability Future work
14 Sip-Servlets vs JAIN-SLEE (1/2)
15 Sip-Servlets vs JAIN-SLEE (2/2)
16 JSLEE & SIP Servlets interoperability, why ? ● SIP Servlets is more of a programming model, JAIN SLEE is more of an application environment, a platform. ● SIP Servlets focus currently on SIP + HTTP/JEE only, other protocols are vendor specific extensions ● JAIN SLEE is truly protocol agnostic through Resource Adaptors thus covering a variety of telco protocols. ● SIP Servlets more tightly integrated to JEE, driving towards Converged Applications to add SIP capability to existing JEE business apps. ● JAIN SLEE is a more complex specification than SIP Servlets. JAIN SLEE has standardized a high performing event driven application server, an execution environment. ● JBoss is the only vendor to implement both specifications through its Mobicents Communication Platform ● Build converged and interoperable JSLEE/SIP Servlets applications that are able to comply with standards in a portable manner and benefit from the best of both worlds.
17 JSLEE & SIP Servlets interoperability: our implementation ● Mobicents SIP Servlets is used to handle the SIP protocol and uses a stateful EJB as a gateway to communicate between SIP Servlets and JSLEE worlds. ● Usage of SleeConnection to fire events into JSLEE to control media. ● Drawback of this approach : ✓ stores the SIP Servlets request into the EJB.
18 Other approach to interoperability: SIP ● Drawbacks of this approach : ✓ JSLEE container has also to implement the SIP logic and duplicates the work of the SIP Servlets application. ✓ SIP Servlets application existence might only be justified in this case if there is a need to interact with Web content or some business logic contained in EJBs
19 Other approach to interoperability: JMS ● Drawbacks of this approach : ✓ stores the SIP Servlets request into the EJB. ✓ More complexity to the architecture and more application development time for no real gain.
20 Plan Introduction JSLEE SIP-Servlets JSLEE/SIP-Servlets interoperability Future work
21 Mobicents Communications Platform ● Only vendor to implement and deliver both competing and interoperable programming models so that you can leverage standards all the way ✓ JSLEE Heavy Protocol Agnostic Use SleeConnection interface to connect from external application ✓ SIP Servlets Simple Limited to SIP and HTTP protocols Powerful to build SIP/JEE Converged Applications ● Work in progress to create a unified programming model that will integrate the best of both worlds.