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

43
1 Mobicents 2.0 The Open Source Java Communication Platform DERUELLE Jean JBoss, by Red Hat 138 Jean Deruelle Mobicents Sip Servlets Lead

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

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

1

Mobicents 2.0The Open Source Java

Communication Platform

DERUELLE Jean

JBoss, by Red Hat

138

Jean DeruelleMobicents Sip Servlets Lead

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

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

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

3

VoIP Introduction & Examples

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

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.

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

5

IT Monitoring

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

6

Location Based Services

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

7

Conference

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

8

CRM Integration

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

9

The Sky Is The Limit !

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

10

VoIP Basics

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

11

VoIP Call

> SIP

– Negotiates RTP parameters (through SDP)

– Authentication

> RTP – carries audio stream in small packets

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

12

SIP Call Flow

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

13

Mobicents Overview

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

14

Mobicents 2.0 Overview

> JBoss is the only vendor supporting both JSLEE and SIP Servlets

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

15

Mobicents Deployment Scenario

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

16

Mobicents SIP Servlets

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

17

SIP Servlets in Java EE Architecture

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

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();

}

}

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

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 Seam Telco Framework, Spring Telco Framework, Telco Framework, JRuby Torquebox Telco Framework, Echarts For Sip Servlets Framework, JAIN SLEE Interoperability Patterns

> Need anything else? It's on a case-by-case basis, but JAIN SLEE is the general solution.

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

@Name("simpleSeamSipService")

@Scope(ScopeType.STATELESS)

@Transactional

public 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"})

    public void doRegister(SipServletRequest request)     throws Exception {

        inc();

        request.createResponse(200).send();

    }

}

SEAM Telco Framework

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

Enterprise Monitoring & Management

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

Mobicents Sip Servlets Eclipse Plugin

• pure/converged SIP Servlets Project creation

• Application Router/Server Management

• Integrated Sip Phone based on sip communicator

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

23

Mobicents JAIN SLEE

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

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

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

25

JAIN SLEE Example

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

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

Page 27: Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean Deruelle
Page 28: Mobicents 2.0, The Java Open Source Communications Platform-FOSDEM 2011 Jean Deruelle

28

High Availability

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

Mobicents supports from 5 to 12 in EARLY Dialog Failover

Mobicents SIP Failover & Replication

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

30

SIP Load Balancer> Java Based Stateless SIP Proxy

> Pluggable Algorithms to stick related messages and calls based on business use cases

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

31

Converged Load Balancer

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

32

Mobicents Media Server

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

33

Mobicents Media Server> Handles Media processing to

Deliver competitive, complete, best-of-breed, high quality media gateway

> Provides a very flexible Component model

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

34

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)

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

35

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

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

36

SS7

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

37

Mobicents SIP Presence

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

38

SIP Presence Service

> Provides presence functionalities to SIP-based networks using standards developed by the IETF, OMA, 3GPP and the ETSI

PUBLISH

SUBSCRIBE / NOTIFY

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

39

Implementation

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

40

Mobicents Diameter

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

41

Mobicents Diameter Architecture

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

42

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)

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

DERUELLE Jean

JBoss, by Red Hat www.mobicents.org

[email protected] twitter.com/mobicents

twitter.com/deruelle