+ All Categories
Home > Documents > Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing...

Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing...

Date post: 25-Sep-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
31
Asynchronous SIP Routing SIP Express Router (SER) and Kamailio (OpenSER) SIP-Router.org Daniel-Constantin Mierla Co-Founder Kamailio asipto.com
Transcript
Page 1: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

Asynchronous SIP RoutingSIP Express Router (SER) and Kamailio (OpenSER)

SIP-Router.org

Daniel-Constantin MierlaCo-Founder Kamailio

asipto.com

Page 3: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

3

History

2002 Jun 2005 Jul 2008 Aug 2008 Nov 2008

SIP Express Router (SER)

OpenSER Kamailio

Other Forks...

SIP Router Project

Oct 2009 Jan 2010

v3.0.0

IntegrationCompleted

v1.5.0

Page 4: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

Open source, GPL SIP server – IETF RFC3261 Web: http://www.kamailio.org SourceForge Project: http://sourceforge.net/projects/openser/ SIP Router Project: http://sip-router.org

4

Development Portals

Page 5: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

5

Awarded

Best Open SourceNetworking Software

2009

By InfoWorld

Page 6: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

6

Usage in Germany

Some of biggest VoIP deployments world wide− 1&1 (members of the management board)

Over 3 millions subscribers Over 1.5 billion minutes per month

− Sipgate− Freenet

0.8 million subscribers Hundreds of millions of minutes per month

http://www.kamailio.org/w/references/

Page 7: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

7

Features

SIP proxy, redirect and registrar server

user registration with

digest authorization

Customizable routing policy

User location serviceIPv4-IPv6

UDP/TCP/TLS/SCTPSIP translator

Instant MessagingOffline message

servicePresence server

ENUM lookup supportAdvanced routing

(dispatching and LCR)Dialing support

aliases and speeddial

Multi-domain supportLDAP/H.350 support

Plug in module interface

Perl programminginterface

Page 8: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

8

Features

NAT traversalSecurity

permissionsanti-DOS attacks

User call preferences Call Processing

Language

Database APIMySQL

PostgreSQLUNIXODBC

BERKELEYDBORACLEText filesRADIUS

Accounting through log file, database or Radius/DIAMETER

servers

Gateway

SMSXMPP

Link any application to Kamailio using FIFO/UNIXSOCK/DATAGRAM/XMLRPC interfaces

OSP support for peeringJava SIP Servlet

programming interface

Page 9: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in 3.0.0

Released January 11, 2010

Page 10: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

3.0 Releases

10

Page 11: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

11

Improving architecture

[ DB API ] [ MI ] … LIBRARIES ... [ P / XCAP ] [ RPC ]

Page 12: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in 3.0.0

12

Number Portability

customizable policiescaching system

Asynchronous TCP

several ten thousandsof TCP connections

SCTP

multi-homingmulti-streaming

statistics

Topology hiding

fast and secureno session dependency

Web & CLI ToolsSIREMISSERCMD

Page 13: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in 3.0.0

13

CFG Reload Framework

update global parametersat runtime

DNS Caching System

fast failoverblacklisting

avoid blocking

XMLRPC

scalable controlinterfacesecure

Memcached connector

data distribution acrossmany instances

CFG Optimizationsoperations - operatorsswitch - break - while

Page 14: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in 3.0.0

14

Transport layer

UDP MTU fallbackscalable TLS

CFG Directives

includedefine

AuthIdentity

RFC4474

New routing blocks

onsend routeevent route

Async SIP MessageProcessing

suspend - process - resume

Page 15: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

SIREMIS

15

Page 16: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

SIREMIS

16

Page 17: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

SIREMIS

17

Page 18: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

SERCMD

18

Page 19: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

SERCMD

19

Page 21: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in Development3.1.0

Autumn 2010

Page 22: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in devel (upcoming 3.1.0)

22

EmbeddedLua

ConfigPreprocessor

Directive

EmbeddedPython

GeoIPAPI

TreeCachingSystem

NewTraffic

ShapingModule Config

MessageQueuingSystem

SIPRegistration

toRemoteServers

Page 23: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in devel (upcoming 3.1.0)

23

LoadBalancing

weightcall loadReason

Headerfor

CANCEL

XLOGEnhancements

line, file

ConfigParameters

ReloadFrameworkEmbedded

HTTP&

XCAPServer

AsynchronousTLS

InteractiveConfig

Debugger

Page 24: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

New in devel (upcoming 3.1.0)

24

http://sip-router.org/wiki/features/new-in-devel

Page 25: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

Asynchronous SIP Routing

Page 26: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

26

Asynchronous TCP

present in 3.0.x (latest stable) Issues solved

blocking the SIP worker process opening a connection sending data

Configuration as easy as: tcp_async = yes

Benefits increased processing capacity over TCP better handling of traffic for IM and Presence transparent for modules and config file functions integrated with DNS blacklisting

Page 27: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

27

Asynchronous TLS

Asynchronous TCP and TLS for SIP Routing worldwide - you can get them only with Kamailio and SER

in code tree GIT repository (ready for upcoming 3.1.0) Same benefits as for asynchronous TCP

asynchronous TCP implies asynchronous TLS same config parameter: tcp_async=yes

Extra increased capacity of handling secure communication

Page 28: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

28

Asynchronous SIP Message Processing present in 3.0.x (latest stable)

default message processing receive - process - forward/reply

new possibility of message processing receive - process - suspend - do something else - resume

- forward/reply requirements

transaction management module (tm) example

call comes in, authenticate user, then send a request to billing engine to authorize the call

suspend handling the invite (park it), process other SIP requests

when billing engine replies, resume INVITE processing and allow or deny the call

Page 29: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

29

Asynchronous SIP Message Processing

INVITE X IN

INVITE X INITIALPROCESSING

SUSPENDINVITE X

OPTIONS Y OUT

READ SIPMESSAGE

READ SIPMESSAGE

READ SIPMESSAGE

OPTIONS Y REPLY IN

RESUMEINVITE X

INVITE X COMPLETINGPROCESSING

READ SIPMESSAGE

KA

MA

IALI

O P

RO

CES

S A

KA

MA

IALI

O P

RO

CES

S B

T1

T2 = T1 + N1

T3 = T2 + N2

Page 30: Asynchronous SIP Routing - Kamailio · 2010. 6. 10. · 28 Asynchronous SIP Message Processing present in 3.0.x (latest stable) default message processing receive - process - forward/reply

30

Config Message Queuing System

in code tree GIT repository (ready for upcoming 3.1.0) New module: mqueue

multiple message queues message: (key, body)

Features inter-process communication SIP worker process can send commands to timer

worker Examples

SIPWEET send notifications to Twitter (see my other talk @18:00)

email on various events


Recommended