Download - From MSS to TelScale - Mobicents Summit 2011
From MSS To TelScale
Mobicents 2011 Summit
Agenda
• MSS Achievements• Community• Introducing TelScale• Roadmaps
MSS Achievements
Mobicents 2011 Summit
Innovation Branches and Initiatives
• MSS 2.X Added Servlet 3.0 Support through Tomcat 7• Started CDI Telco Framework : CDI Integration with SIP Servlets with the end goal to feed it
back to SIP Servlet 2.0 spec (See Georges' Presentation)• Started Arquillian Integration to create a standard test framework for testing SIP Servlets
applications (See Georges' Presentation)• Started RestComm : our turnkey private cloud Telco 2.0 SaaS based on Mobicents• Experimented and Delivered a Proof of Concept of MSS AutoScaling in the Cloud to be the
foundation of our future turnkey Mobicents PaaS.
SIP Passivation
• Passivation : Control memory usage by removing relatively unused sessions from memory while storing them in persistent storage. If a passivated session is requested by a client, it can be "activated" back into memory and removed from the persistent store.
• MSS supports passivation of SipSessions (and by extension SIP Dialogs) and SipApplicationSessions • Passivation occurs at 2 points during the lifecycle of a sip application:• When the container requests the creation of a new SIP Session or SIP Application Session. If the number of currently
active session exceeds a configurable limit, an attempt is made to passivate sessions to make room in memory.• Periodically (by default, every ten seconds) as the JBoss Web background thread runs.• A session will be passivated if one of the following holds true:• The session hasn't been used in greater than a configurable maximum idle time.• The number of active sessions exceeds a configurable maximum and the session hasn't been used in
greater than a configurable minimum idle time.• Need to be enabled in the application jboss-web.xml or container wide at
$JBOSS_HOME/server/<profile>/deployers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml
MSS Failover Capabilities
confidential
INVITE
Trying
Ringing
OK
ACK
BYE
OK
INVITE
Ringing
OK
ACK
BYE
OK
UA1 UA2SIP AS
1
2
3
4
5
6
7
8
9
10
11
12
• Mobicents supports from 9 to 12 in CONFIRMED Dialog Failover
• Mobicents now supports from 5 to 12 in EARLY Dialog Failover (introduces more overhead as more JAIN SIP state is replicated)
RFC 3263 Support
• An client that wishes to send a request need to perform DNS processing to determine the IP address, port, and transport protocol of a next hop elemen (it can be a proxy or a user agent)
• DNS canprovide the ability for a given domain to configure a set of servers, along with prioritization and weights, in order to provide a crude level of capacity-based load-balancing and failover
• DNS lookup is done once per transaction (so for ACK to 2xx as well)• Simplified flow :• NAPTR query for the domain in the URI to check the preferred transport ; order pref flags service regexp
replacement IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com. IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.example.com IN NAPTR 100 50 "s" "SIP+D2U" "" _sip._udp.example.com.
• SRV lookup on _sip._tcp.example.com• ;; Priority Weight Port Target IN SRV 0 1 5060 server1.example.com IN SRV 0 2 5060 server2.example.com
• A or AAAA record lookup of the domain name to get the IP Address• If the hop fails (timeout) the next one is tried.
E.164 NUmber Mapping
• Telephone number mapping is the process of unifying the telephone number system of the public switched telephone network with the Internet addressing and identification name space. Telephone numbers are systematically organized in the E.164 standard, while the Internet uses the Domain Name System for linking domain names to IP Addresses and other resource information.
• Telephone number mapping systems provide facilities to determine applicable Internet communications servers responsible for servicing a given telephone number by simple lookups in the Domain Name System.
• ENUM uses special DNS Record types to translate a telephone number into a URI or IP address that can be used in Internet communications.
• the Registrar provides the Subscriber (or Registrant) with a domain name, the URI that will be used for accessing a DNS server to fetch a NAPTR record, a personal E.164 telephone number. The URI domain name is one-to-one mapped to the subscriber E.164 ENUM number. The NAPTR record corresponding to the subscriber URI contains the subscriber call forwarding/termination preferences.
E.164 NUmber Mapping
1. Subscriber A calls +34 98 765 4321 which is translated to 1.2.3.4.5.6.7.8.9.4.3.e164.arpa.2. A request is sent to the Domain Name System asking it to look up the ENUM domain 1.2.3.4.5.6.7.8.9.4.3.e164.arpa.3. The query returns :
$ORIGIN 1.2.3.4.5.6.7.8.9.4.3.e164.arpa.IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:[email protected]!" .IN NAPTR 102 10 "u" "E2U+mailto" "!^.*$!mailto:[email protected]!" .
• The first result can be used as a URI to contact the callee over SIP. This URI will then go through RFC 3263 lookups to get the IP Address, port and transport to contact the callee.
Simple global logging config
• Provides templates for log4j.xml o DEFAULTo DEBUGo TRACEo PRODUCTION
• Configurable through Management Consoles or JMX
SNMP Support
• Refactored and revamped the old JBoss AS SNMP Adaptor• Moved from joesnmp obsolete stack to snmp4j living stack• New features :
o Real compliance with SNMP (was not the case before)o Added Support for v3 of the protocolo Added Security for v3 and v2co Support for INFORMs in addition to TRAPso Support for Tableso Capability for applications to expose their JMX Beans through SNMP and send
TRAPs and INFORMso Maven MIB Generator plugin to avoid double editing pain
DoS Attack Prevention
• Improved Transaction Maximum Retention in the stack to avoid transaction leaks• Improved Message Handling and Parsing• Limit Stack Max Message Size• Added JAIN SIP Congestion Control Valve
General
• More than 165 bug fixes scattered over MSS, SIP LB, JAIN SIP, JAIN SIP HA, JAIN SIP Ext, Cluster
• More Extensions to JSR 289
Community
Mobicents 2011 Summit
MSS CompanyContributors
MSS IndividualContributors
Contributions
• Georges Vagenas : Led MSS 2.X (2 ALPHA releases before merging to trunk), Leading CDI Telco Framework and Sip Servlets Testing with Arquillian
• Thomas Quintana : Leading the RestComm• Thibault Leruitte who has greatly contributed to boostrap our Mobicents in the cloud
initiative by porting Mobicents Sip Servlets in the cloud• Subramanian Thamaraisamy from Cisco : Dos Attacks Prevention• Ivan Dubrov : bug fixes• Oifa Yulian from Web Ukraine : bug fixes• Andrew Miller from Crocodile RCS : bug fixes• Horaci Macias from Avaya : bug fixes• Naoki Nishihara from OKI : bug fixes
Downloads
• 6200+ downloads on cumulated versions since last Summit (source http://sourceforge.net/projects/mobicents/files/Mobicents%20Sip%20Servlets/stats/timeline?dates=2010-10-07+to+2011-12-02)
• 1,5x improvements since last Summit
International Events Presence
• Fosdem 2011 (Belgium) : Global Platform Presentation• JUDCon/JBossWorld 2011 (Boston, USA) : Co Presentation
with OKI on Mobicents Perf Tuning and Frameworks• JBoss In Bossa 2011 (Brazil) : Done by Community RHQ +
MSS Integration http://rafaeltuelho.wordpress.com/2011/10/12/jboss-in-bossa-2011-eu-participei/
ShortComings
• Too few community releases : Two 1.X FINAL releases, Two 2.X ALPHA releases
• Late on schedule : due to too much travel for both me and vlad + increasing support from JBCP
Introducing TelScale
Mobicents 2011 Summit
Mobicents Sip Servlets Stack
TelScale Stack
TelScale Project
• http://code.google.com/p/telscale/• Container Abstraction layer : can support any JavaEE vendor that makes sense for
our community and customers (Tomcat, Jetty, JBoss, Glassfish, ...)• HA Abstraction Layer independent of a particular vendor technology (See Container
independent failover framework presentation)• Focus toward Cloud paradigm and running Mobicents as a Telco 2.0 PaaS• Increasing number of contributors, moving to Git will ease the collaborative work on
community
Cloud Communications
• Main focus for the 12-18 month roadmap• Sponsored by several service providers
confidential
Cloud Notions
confidential
Cloud Vendor Agnostic
confidential
• Strong demand for private deployments for SaaS and PaaS
• Moving from Standalone static Vitual Image to Dynamic Puppet/Chef Configuration and Image Management
Mobicents Turnkey PaaS
confidential
• Auto-scaling prototyped
• Rolling upgrades• Media Server in
the cloud• Working on
production grade cloud packaging
RestComm :SaaS turnkey solution
confidential
• www.restcomm.orgALPHA1 : REST API Based on Twilio Simple APIs and TwiML (Twilio Markup Language)• ALPHA2 will offer RCML
superset above TwiML adding Fax and MMS
Roadmaps
Mobicents 2011 Summit
MSS 1.X Legacy Branch Roadmap
Stable Branch where all Stability and Enterprise Features will be added• ICE TURN support• RFC 5626 support• RFC 5393 support• Application Rolling Upgrades• TLS and HTTPS support in Converged LB• DoS / Fraud Detection-Intrusion• NIO TCP/TLS JAIN SIP Connectors• Media Libraries (MSML, Netann, MSRP, ...)• Bug fixes
TelScale 2.X Roadmap
Cloud Communications Branch• Rebranding to TelScale
Container Abstraction Layer• HA Independent Layer• DataGrid Integration• Geo Failover• Rolling Upgrades• AutoScaling Capabilities• Chef/Puppet integration
• SIP Servlets 2.0 Non Backward Compatible Work
TelScale 3.X Roadmap
confidential
Thank you !
http://telestax.com/