34
From MSS To TelScale Mobicents 2011 Summit

From MSS to TelScale - Mobicents Summit 2011

Embed Size (px)

Citation preview

Page 1: From MSS to TelScale - Mobicents Summit 2011

From MSS To TelScale

Mobicents 2011 Summit

Page 2: From MSS to TelScale - Mobicents Summit 2011

Agenda

• MSS Achievements• Community• Introducing TelScale• Roadmaps

Page 3: From MSS to TelScale - Mobicents Summit 2011

MSS Achievements

Mobicents 2011 Summit

Page 4: From MSS to TelScale - Mobicents Summit 2011

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.

Page 5: From MSS to TelScale - Mobicents Summit 2011

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

Page 6: From MSS to TelScale - Mobicents Summit 2011

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)

Page 7: From MSS to TelScale - Mobicents Summit 2011

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.

Page 8: From MSS to TelScale - Mobicents Summit 2011

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.

Page 9: From MSS to TelScale - Mobicents Summit 2011

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.

Page 10: From MSS to TelScale - Mobicents Summit 2011

Simple global logging config

• Provides templates for log4j.xml o DEFAULTo DEBUGo TRACEo PRODUCTION

• Configurable through Management Consoles or JMX

Page 11: From MSS to TelScale - Mobicents Summit 2011

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

Page 12: From MSS to TelScale - Mobicents Summit 2011

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

Page 13: From MSS to TelScale - Mobicents Summit 2011

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

Page 14: From MSS to TelScale - Mobicents Summit 2011

Community

Mobicents 2011 Summit

Page 15: From MSS to TelScale - Mobicents Summit 2011

MSS CompanyContributors

Page 16: From MSS to TelScale - Mobicents Summit 2011

MSS IndividualContributors

Page 17: From MSS to TelScale - Mobicents Summit 2011

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

Page 18: From MSS to TelScale - Mobicents Summit 2011

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

Page 19: From MSS to TelScale - Mobicents Summit 2011

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/

Page 20: From MSS to TelScale - Mobicents Summit 2011

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

Page 21: From MSS to TelScale - Mobicents Summit 2011

Introducing TelScale

Mobicents 2011 Summit

Page 22: From MSS to TelScale - Mobicents Summit 2011

Mobicents Sip Servlets Stack

Page 23: From MSS to TelScale - Mobicents Summit 2011

TelScale Stack

Page 24: From MSS to TelScale - Mobicents Summit 2011

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

Page 25: From MSS to TelScale - Mobicents Summit 2011

Cloud Communications

• Main focus for the 12-18 month roadmap• Sponsored by several service providers

confidential

Page 26: From MSS to TelScale - Mobicents Summit 2011

Cloud Notions

confidential

Page 27: From MSS to TelScale - Mobicents Summit 2011

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

Page 28: From MSS to TelScale - Mobicents Summit 2011

Mobicents Turnkey PaaS

confidential

• Auto-scaling prototyped

• Rolling upgrades• Media Server in

the cloud• Working on

production grade cloud packaging

Page 29: From MSS to TelScale - Mobicents Summit 2011

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

Page 30: From MSS to TelScale - Mobicents Summit 2011

Roadmaps

Mobicents 2011 Summit

Page 31: From MSS to TelScale - Mobicents Summit 2011

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

Page 32: From MSS to TelScale - Mobicents Summit 2011

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

Page 33: From MSS to TelScale - Mobicents Summit 2011

• SIP Servlets 2.0 Non Backward Compatible Work

TelScale 3.X Roadmap

Page 34: From MSS to TelScale - Mobicents Summit 2011

confidential

Thank you !

http://telestax.com/