Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean Deruelle
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean Deruelle

  • 2,951 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,951
On Slideshare
2,951
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
99
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Mobicents 2.0 The Open Source Java Communication PlatformDERUELLE JeanJean DeruelleJBoss, by Red HatMobicents Sip Servlets Lead138 1
  • 2. AGENDA> VoIP Introduction & Examples> VoIP Basics> Mobicents 2.0 Overview – SIP Servlets Server – JAIN SLEE Server – High Availability – Media Server – SIP Presence Service – Diameter 2
  • 3. VoIP Introduction & Examples 3
  • 4. Introduction> Voice over Internet Protocol ? – Voice communications over IP networks – Not limited to voice anymore> Converged VoIP & Web Applications? – Converged service was serving VoIP and traditional packet-switched networks. – Now mixing traditional internet applications such as the web. 4
  • 5. IT Monitoring 5
  • 6. Location Based Services 6
  • 7. Conference 7
  • 8. CRM Integration 8
  • 9. The Sky Is The Limit ! 9
  • 10. VoIP Basics 10
  • 11. VoIP Call> SIP – Negotiates RTP parameters (through SDP) – Authentication> RTP – carries audio stream in small packets 11
  • 12. SIP Call Flow 12
  • 13. Mobicents Overview 13
  • 14. Mobicents 2.0 Overview> JBoss is the only vendor supporting both JSLEE and SIP Servlets 14
  • 15. Mobicents Deployment Scenario 15
  • 16. Mobicents SIP Servlets 16
  • 17. SIP Servlets in Java EE Architecture 17
  • 18. SIP Servlets Source Codepublic class UasSipServlet extends SipServlet { protected void doInvite(SipServletRequest request) throws ServletException,<IOException { // Send the ringing request.createResponse(SipServletResponse.SC_RINGING).send(); sipServletResponse = request.createResponse(SipServletResponse.SC_OK) ; //should get the SDP from media server (for media negotiation) and set it sipServletResponse.send(); } protected void doBye(SipServletRequest request) throws ServletException,IOException { request.createResponse(SipServletResponse.SC_OK).send(); }} 18
  • 19. Extra SIP Servlets features outside of the spec> (Mobicents-specific beyond JSR-289) – Media – playback, record, conferencing, IVR, TTS and others, JSR 309 support (JSR 309) – Diameter – Base, Sh, Ro, Rf – Tooling - JBCP Developer Studio SIP Servlets Plugin – Integrated with Rich Web UI frameworks for Desktop-like experience – support for Ajax and Comet-enabled frameworks – Seam, Richfaces, GWT, Tomcat AIO, Jruby/Rails – Telco Frameworks - Seam Telco Framework, Spring Telco Framework, JRuby Torquebox Telco Framework, Echarts For Sip Servlets Framework, JAIN SLEE Interoperability Patterns> Need anything else? Its on a case-by-case basis, but JAIN SLEE is the general solution. 19
  • 20. SEAM Telco Framework@Name("simpleSeamSipService")@Scope(ScopeType.STATELESS)@Transactionalpublic class SimpleSeamSipService {    @Logger Log log;    @In SessionMessageCounter sessionMessageCounter;    public void inc() {        sessionMessageCounter.increment();        log.info("Processed SIP messages " + sessionMessageCounter.getMessages());    }    @Observer("INVITE")    public void doInvite(SipServletRequest request)     throws Exception {        inc();        request.createResponse(200).send();    }    @Observer("ACK")    public void doAck(SipServletRequest request)     throws Exception {        inc();    }    @Observer({"BYE"})
  • 21. Enterprise Monitoring & Management
  • 22. Mobicents Sip Servlets Eclipse Plugin• pure/converged SIP Servlets Project creation• Application Router/Server Management• Integrated Sip Phone based on sip communicator
  • 23. Mobicents JAIN SLEE 23
  • 24. JAIN SLEE - Concepts> Geared towards Telco> SLEE = Service Logic Execution Environment – High throughput, low latency event processing – High performing platform for event driven applications> Asynchronous & Event Orientated> Network Abstraction Layer 24
  • 25. JAIN SLEE Example 25
  • 26. Mobicents JAIN SLEE Server> Integrated Java EE + JAIN SLEE environment> Network abstraction layer - SIP, XMPP, Diameter, Media/MGCP, HTTP, SMPP> Tooling - JBCP Developer Studio JAIN SLEE Plugin> Enterprise Monitoring with JBoss ON (JAIN SLEE Plugin)> High Performance and High Availibility 26
  • 27. High Availability 28
  • 28. Mobicents SIP Failover & ReplicationMobicents supports from 5 to 12 in EARLY Dialog Failover
  • 29. SIP Load Balancer> Java Based Stateless SIP Proxy> Pluggable Algorithms to stick related messages and calls based on business use cases 30
  • 30. Converged Load Balancer 31
  • 31. Mobicents Media Server 32
  • 32. Mobicents Media Server> Handles Media processing to Deliver competitive, complete, best-of-breed, high quality media gateway> Provides a very flexible Component model 33
  • 33. Architecture> Ann(ouncement) Endpoint: Allows playback for announcements in wav files.> Interactive Voice Response: Allows playback for announcements and tones, listen for DTMF events or voice messages. Allows recording.> Conference Bridge: provide access to a specific conference where calls are mixed.> Packet Relay: specific form of conference bridge with only two sockets> SS7 endpoints for interface with legacy networks> Custom Endpoint : Flexibility to define your own media path> Pure Java Implementation> Control the Media Server – MGCP, JSR-309 API (uses MGCP under the covers) 34
  • 34. Features> Media bearing/Audi Codecs – RTP formats: G711, G729, GSM, SPEEX, PCM 16bit 8-44kHz (Mono/Stereo)> Video – any ISO Based format (.3GPP, ...), H263> SS7 support in progress - ISUP : Signaling and Voice, INAP, MAP, CAMEL> Text To Speech> DTMF Recognition 35
  • 35. SS7 36
  • 36. Mobicents SIP Presence 37
  • 37. SIP Presence Service PUBLISH> Provides presence functionalities to SIP-based SUBSCRIBE networks using standards / NOTIFY developed by the IETF, OMA, 3GPP and the ETSI 38
  • 38. Implementation 39
  • 39. Mobicents Diameter 40
  • 40. Mobicents Diameter Architecture 41
  • 41. Features> Core – Stack : Own fork of JDiameter open source stack – Multiplexer + Customizable Validator (message validation) + Customizable Dictionnary (provide dictionnary of AVP to applications)> Interfaces – Base : responsible for managing connection between peers and provide basic Authentication, Accounting and Session Management – Sh (Client/Server) : managing User Data in HSS – CCA: enable credit session management, and convey sufficient information for applications to perform charging activities. – Ro/Rf : Online/Offline charging – Cx/Dx : interaction between SIP IMS Proxies and HSS – Gx : Provisoning charging rules> Example applications (both for JSLEE and J2EE) – Base and Mobicents SIP Servlets Event Call Charging – Sh (Client/Server) and OpenIMS Integration – Ro/Rf example> Enterprise Monitoring with JBoss ON (Diameter Plugin) 42
  • 42. DERUELLE JeanJBoss, by Red Hat www.mobicents.orgjderuell@redhat.com twitter.com/mobicentstwitter.com/deruelle