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

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

Jun 29, 2015

Download

Technology

Jean Deruelle
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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