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

3,048 views
2,869 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,048
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
103
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Mobicents 2.0 The Open Source Java Communication PlatformDERUELLE JeanJean DeruelleJBoss, by Red HatMobicents Sip Servlets Lead138 1
  2. 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. 3. VoIP Introduction & Examples 3
  4. 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. 5. IT Monitoring 5
  6. 6. Location Based Services 6
  7. 7. Conference 7
  8. 8. CRM Integration 8
  9. 9. The Sky Is The Limit ! 9
  10. 10. VoIP Basics 10
  11. 11. VoIP Call> SIP – Negotiates RTP parameters (through SDP) – Authentication> RTP – carries audio stream in small packets 11
  12. 12. SIP Call Flow 12
  13. 13. Mobicents Overview 13
  14. 14. Mobicents 2.0 Overview> JBoss is the only vendor supporting both JSLEE and SIP Servlets 14
  15. 15. Mobicents Deployment Scenario 15
  16. 16. Mobicents SIP Servlets 16
  17. 17. SIP Servlets in Java EE Architecture 17
  18. 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. 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. 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. 21. Enterprise Monitoring & Management
  22. 22. Mobicents Sip Servlets Eclipse Plugin• pure/converged SIP Servlets Project creation• Application Router/Server Management• Integrated Sip Phone based on sip communicator
  23. 23. Mobicents JAIN SLEE 23
  24. 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. 25. JAIN SLEE Example 25
  26. 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. 27. High Availability 28
  28. 28. Mobicents SIP Failover & ReplicationMobicents supports from 5 to 12 in EARLY Dialog Failover
  29. 29. SIP Load Balancer> Java Based Stateless SIP Proxy> Pluggable Algorithms to stick related messages and calls based on business use cases 30
  30. 30. Converged Load Balancer 31
  31. 31. Mobicents Media Server 32
  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. 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. 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. 35. SS7 36
  36. 36. Mobicents SIP Presence 37
  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. 38. Implementation 39
  39. 39. Mobicents Diameter 40
  40. 40. Mobicents Diameter Architecture 41
  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. 42. DERUELLE JeanJBoss, by Red Hat www.mobicents.orgjderuell@redhat.com twitter.com/mobicentstwitter.com/deruelle

×