210 likes | 339 Views
Mobicents Training. JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead. Plan. • Introduction • JSLEE • SIP-Servlets • JSLEE/SIP-Servlets interoperability • Future work.
E N D
Mobicents Training JSLEE & SIP Servlets Interoperability through the Mobicents Communications Platform Jean Deruelle, Mobicents SIP Servlets Lead 1
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 + 3rd 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 8.640.000 calls on 2x AMD 2220 SE server with 8GB of RAM
13 Plan • • Introduction • • JSLEE • • SIP-Servlets • • JSLEE/SIP-Servlets interoperability • • Future work
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.
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. 17
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 18
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. 19
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.