SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Large 
Unified Communication Platforms 
ClueCon 2010, Chicago 
Daniel-Constantin Mierla 
Co-Founder Kamailio 
http://www.asipto.com
www.kamailio.org 
© 2010 asipto.com
A bit of history 
2002 Jun 2005 Jul 2008 Aug 2008 Nov 2008 
SIP Express Router (SER) 
OpenSER Kamailio 
Other Forks... 
Oct 2009 Jan 2010 
SIP Router Project 
v3.0.0 
Integration 
Completed 
v1.5.0 
Autumn 2010 
v3.1.0 
© 2010 asipto.com
Development portals 
 SourceForge Project: http://sourceforge.net/projects/openser/ 
 SIP Router Project: http://sip-router.org 
4 
© 2010 asipto.com
Awarded 
Best Open Source 
Networking Software 
2009 
By InfoWorld
Sample deployments 
 Some of biggest VoIP deployments world wide 
− 1&1 (members of the management board) 
 Over 4 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/ 
© 2010 asipto.com
Features 
SIP proxy, redirect 
and registrar server 
user registration 
with 
digest authorization 
Customizable routing 
policy 
User location service 
IPv4-IPv6 
UDP/TCP/TLS/SCTP 
SIP translator 
Instant Messaging 
Offline message 
service 
Presence server 
ENUM lookup support 
Advanced routing 
(dispatching and LCR) 
Dialing support 
aliases and speeddial 
Multi-domain support 
LDAP/H.350 support 
Plug in module 
interface 
Perl programming 
interface 
© 2010 asipto.com
Features 
NAT traversal 
Security 
permissions 
anti-DOS attacks 
User call preferences 
Call Processing 
Language 
OSP support for peering 
Java SIP Servlet 
programming interface 
Database API 
MySQL 
PostgreSQL 
UNIXODBC 
BERKELEYDB 
ORACLE 
Text files 
RADIUS 
Gateway 
SMS 
XMPP 
Accounting through log file, 
database or Radius/DIAMETER 
servers 
Link any application to Kamailio using 
FIFO/UNIXSOCK/DATAGRAM/XMLRPC interfaces 
© 2010 asipto.com
Features (1.5.x) 
© 2010 asipto.com 
 DialogInfo Presence support 
 Configuration file shared cache system 
 Fast SQL operations 
 XMPP/MSN/... interconnection via PURPLE library 
 HTTP query 
 Timer-based route execution 
 Perl-like regular expression support 
 Least cost routing re-shaping 
 Fine control and access of request/reply during transaction processing 
 Initiate SIP requests from config file 
 Fine access to user location records 
 Priority based load balancing destinations 
 Option to store and manage only one location record per subscriber 
 Message body handling dedicated functions
3.0.0 Releases 
© 2010 asipto.com
Improved architecture 
[ DB API ] [ MI ] … LIBRARIES ... [ P / XCAP ] [ RPC ] 
© 2010 asipto.com
New in 3.0.0 
Number Portability 
customizable policies 
caching system 
Asynchronous TCP 
several ten thousands 
of TCP connections 
SCTP 
multi-homing 
multi-streaming 
statistics 
Topology hiding 
fast and secure 
no session dependency 
Web & CLI Tools 
SIREMIS 
SERCMD 
© 2010 asipto.com
New in 3.0.0 
CFG Reload Framework 
update global parameters 
at runtime 
DNS Caching System 
fast failover 
blacklisting 
avoid blocking 
load balancing 
XMLRPC 
scalable control 
interface 
secure 
Memcached connector 
data distribution across 
many instances 
CFG Optimizations 
operations - operators 
switch - break - while 
© 2010 asipto.com
New in 3.0.0 
Transport layer 
UDP MTU fallback 
scalable TLS 
CFG Directives 
include 
define 
Auth 
Identity 
RFC4474 
New routing blocks 
onsend route 
event route 
Async SIP Message 
Processing 
suspend - process - resume 
© 2010 asipto.com
Siremis 
© 2010 asipto.com
Siremis 
© 2010 asipto.com
Sercmd 
© 2010 asipto.com
Sercmd 
© 2010 asipto.com
New in 3.0.0 
http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x 
http://www.kamailio.org/w/kamailio-openser-v3.0.0-release-notes/ 
http://by-miconda.blogspot.com/2010/01/best-of-new-in-kamailio-300-toc.html 
More 
http://www.kamailio.org/w/features/ 
http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.5.x 
© 2010 asipto.com
Upcoming 3.1.0 
Flexibility Maintenance Performance Features 
• Embedded Lua 
• Embedded 
Python 
• Extended 
preprocessor 
directive 
• #!define 
• #!subst 
• New variables 
• Interactive config 
debugger 
• step-by-step 
execution 
• execution 
trace 
• xlog enhan’s 
• print cfg line 
• k&s modules 
integration 
• Asynchronous 
TLS 
• UDP raw sockets 
• Multi-homed 
improvements 
• Load balancing 
• weight 
• call load 
• Traffic shaping 
• GeoIP API 
• Registration to 
remote servers 
• Reason header 
for Cancel 
• Embedded HTTP 
& XCAP servers 
• Cfg tree cashing 
& message 
queue systems 
• XML ops 
http://sip-router.org/wiki/features/new-in-devel 
© 2010 asipto.com
Load balancing 
LLooaadd B Baalalanncceerr 
- load balancing 
- traffic dispatching 
- high availability 
- security 
- as simple as possible 
© 2010 asipto.com
Load balancing 
LLooaadd B Baalalanncceerr 
CaRlla Rtionugt iEnngg Einnegine 
- main service 
- very reliable 
- easy to scale 
- >99.9% availability 
© 2010 asipto.com
Load balancing 
LLooaadd B Baalalanncceerr 
SIRP aRtionugt iEnngg Einnegine 
Application Srv 
Application Srv 
Application Srv 
- plus-value to servicing 
- controlled via routing engine 
- service partitioning 
- add as you needed 
© 2010 asipto.com
Using dispatcher module 
• dedicated load balancing module - dispatcher - developed since 2004 
• can load destination set from flat file or database 
• flexibility to define address of targets 
• many dispatching algorithms: hashing, priority, round robin, random, weight, 
call load (upcoming 3.1) 
• detection for unavailable targets and ability to mark them inactive 
• periodically ping (SIP OPTIONS) to inactive targets and can automatically 
mark them active 
© 2010 asipto.com
Using dispatcher module 
• load the module 
• set path to file or URL to database for loading destination sets 
• adapt parameter values as you need 
• documentation - in source tree at modules_k/dispatcher/README or 
online at http://www.kamailio.org 
© 2010 asipto.com
Using dispatcher module 
• when you have done with initial processing (sanity checks, authentication, 
authorization, routing of within-dialog SIP request, a.s.o.) use in your config 
ds_select_dst(setid, algorithm) 
• arm a failure route to re-route to next available target 
• relay SIP request 
© 2010 asipto.com
Using dispatcher module 
• in case of failure, re-route only for 500 reply from downstream and local 
timeout 
• use ds_next_dst() to select next available target 
• re-arm the failure route 
• create the branch and relay again 
© 2010 asipto.com
FreeSWITCH as media server 
Adding 
• voicemail 
• announcements 
• conferencing 
• troubleshooting audio and video 
• gateway to other protocols 
Proxy 
Registrar 
Media 
Server 
Other 
Protocols 
SIP routing logic 
• Kamailio: do initial sanity checks and caller-related 
processing (e.g., authentication) 
• Kamailio: if for a special service or other 
protocol then relay to FS (can be via load 
balancing) 
• Freeswitch: answer the call with appropriate 
application or gateway to other protocols 
• Kamailio: if not for a specials service or other 
protocon then do callee-related processing 
(e.g., user location, least cost routing, load 
balancing) 
http://kb.asipto.com 
© 2010 asipto.com
FreeSWITCH as back-to-back user agent 
Adding 
• session control (e.g., rtp timeout) 
• topology hiding 
• one-to-one SIP hop 
• prepaid billing 
• calling cards, call queues 
• call recording 
PSTN 
Gateways 
Proxy 
Registrar 
B2BUA 
Other 
Networks 
SIP routing logic 
• Kamailio: do initial sanity checks 
• Kamailio: if not coming from FS do caller-related 
processing (e.g., authentication) and 
then relay to FS (can be via load balancing) 
• Freeswitch: do the call processing and relay 
back to Kamailio or to other destination 
• Kamailio: if coming from FS do callee-related 
processing (e.g., user location, least cost 
routing, load balancing) 
© 2010 asipto.com
Extensibility: accounting server 
ACC 
© 2010 asipto.com 
Proxy Proxy 
Proxy
Extensibility: accounting server 
onreply_route[OK] { 
if(status!="200") 
return; 
$uac_req(method)="ACCOUNTING"; 
$uac_req(ruri)="sip:store@accounting.kamailio.org;transport=sctp"; 
$uac_req(furi)="sip:server@server1.kamailio.org"; 
$uac_req(hdrs)="Content-Type: text/accounting-csvrn"; 
pv_printf($uac_req(body), "$TS,$ci,$ft,$tt,$T_req($fu),$T_req($ru)"); 
uac_send_req(); 
} 
© 2010 asipto.com 
route { 
if(method=="ACCOUNTING" && $rU="store") 
{ 
sql_query("ca", 
"insert into accounting 
(timeval,callid,ftag,ttag,src,dst) 
values ('$(rb{s.select,0,,})', 
'$(rb{s.select,1,,})', '$(rb{s.select,2,,})', 
'$(rb{s.select,3,,})', '$(rb{s.select,4,,})', 
'$(rb{s.select,5,,})' )", 
"ra"); 
send_reply("200", "Stored"); 
} 
ACC Server Config 
SIP Proxy Config
Extensibility: within-group dialing 
 Centrex like feature 
 Users grouped by affiliation, friendship a.s.o. 
 Inside the group each member has a short extension 
assigned 
 What it takes 
 For many: new module and big waves 
 For the rest: 
 One table definition plus one more attribute per user 
 5 lines of configuration 
© 2010 asipto.com
Extensibility: within-group dialing 
Ext: 99123456 
EGrp: 1000 
Ext: 99123487 
EGrp: 1001 
Ext: 99123432 
EGrp: 1002 
Ext: 77129483 
EGrp: 1001 
Ext: 77549483 
EGrp: 1006 
Ext: 77339483 
EGrp: 1002 
SIP Router 
© 2010 asipto.com
Extensibility: within-group dialing 
ALTER TABLE subscriber ADD COLUMN pbxgroupid INT NOT NULL DEFAULT 0; 
CREATE TABLE pbxgroups ( 
id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, 
pbxgroupid INT DEFAULT 0 NOT NULL, 
shortdial VARCHAR(16) DEFAULT '' NOT NULL, 
extension VARCHAR(64) DEFAULT '' NOT NULL, 
CONSTRAINT pg_u UNIQUE (groupid, shortdial) 
) ENGINE=MyISAM; 
 modparam("auth_db", "load_credentials", "$avp(s:pbxgroupid)=pbxgroupid") 
.... 
 sql_query("ca" 
"select extension from pbxgroups where pbxgroupid=$avp(s:pbxgroupid) 
and shortdial='$(rU{s.escape.common})'", 
"ra"); 
 if($dbr(ra=>rows)>0) $rU = $dbr(ra=>[0,0]); 
... 
© 2010 asipto.com
Daniel-Constantin Mierla 
OpenIMSCore 
Co-Founder Kamailio 
http://www.asipto.com 
Thank you! 
Questions?

Contenu connexe

Tendances

Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentFred Posner
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす Akihiro Suda
 
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP mode
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP modeHUAWEI Switch HOW-TO - Configuring link aggregation in static LACP mode
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP modeIPMAX s.r.l.
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with KamailioFred Posner
 
Expanding Asterisk with Kamailio
Expanding Asterisk with KamailioExpanding Asterisk with Kamailio
Expanding Asterisk with KamailioFred Posner
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すKenichiro MATOHARA
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
VPP事始め
VPP事始めVPP事始め
VPP事始めnpsg
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線Motonori Shindo
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)Kuniyasu Suzaki
 
Kamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouKamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouFred Posner
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始めtetsusat
 
Kamailio - SIP Firewall for Carrier Grade Traffic
Kamailio - SIP Firewall for Carrier Grade TrafficKamailio - SIP Firewall for Carrier Grade Traffic
Kamailio - SIP Firewall for Carrier Grade TrafficDaniel-Constantin Mierla
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)VirtualTech Japan Inc.
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
 
openstack+cephインテグレーション
openstack+cephインテグレーションopenstack+cephインテグレーション
openstack+cephインテグレーションOSSラボ株式会社
 

Tendances (20)

Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす root権限無しでKubernetesを動かす
root権限無しでKubernetesを動かす
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介
 
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP mode
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP modeHUAWEI Switch HOW-TO - Configuring link aggregation in static LACP mode
HUAWEI Switch HOW-TO - Configuring link aggregation in static LACP mode
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with Kamailio
 
Expanding Asterisk with Kamailio
Expanding Asterisk with KamailioExpanding Asterisk with Kamailio
Expanding Asterisk with Kamailio
 
Raspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試すRaspberry PiのUSB OTGを試す
Raspberry PiのUSB OTGを試す
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
VPP事始め
VPP事始めVPP事始め
VPP事始め
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
Kamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouKamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and You
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
Kamailio - SIP Firewall for Carrier Grade Traffic
Kamailio - SIP Firewall for Carrier Grade TrafficKamailio - SIP Firewall for Carrier Grade Traffic
Kamailio - SIP Firewall for Carrier Grade Traffic
 
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
OpenStackで始めるクラウド環境構築入門(Horizon 基礎編)
 
An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
openstack+cephインテグレーション
openstack+cephインテグレーションopenstack+cephインテグレーション
openstack+cephインテグレーション
 

En vedette

Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Olle E Johansson
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTPaloSanto Solutions
 
FOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioFOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioDaniel-Constantin Mierla
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceMoises Silva
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz
 

En vedette (10)

Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.Why is Kamailio so different? An introduction.
Why is Kamailio so different? An introduction.
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Kamailio - The Story for Asterisk
Kamailio - The Story for AsteriskKamailio - The Story for Asterisk
Kamailio - The Story for Asterisk
 
FOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioFOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and Kamailio
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
 
Kamailio Updates - VUC 588
Kamailio Updates - VUC 588Kamailio Updates - VUC 588
Kamailio Updates - VUC 588
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
 
Participate in SIPit
Participate in SIPitParticipate in SIPit
Participate in SIPit
 

Similaire à Kamailio - Large Unified Communication Platforms

Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesAlcide
 
Attacking SAP Mobile
Attacking SAP MobileAttacking SAP Mobile
Attacking SAP MobileERPScan
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011telestax
 
Kamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaKamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaDaniel-Constantin Mierla
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admJeffrey Nunn
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDaniel-Constantin Mierla
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Capgemini
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Ram Vennam
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixYunong Xiao
 
Kubernetes Istio Miami meetup
Kubernetes Istio Miami meetupKubernetes Istio Miami meetup
Kubernetes Istio Miami meetupDustin Humphries
 
Ibm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalIbm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalElena Nanos
 
Ibm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalIbm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalElena Nanos
 
Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Roberto Polli
 
Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Team per la Trasformazione Digitale
 

Similaire à Kamailio - Large Unified Communication Platforms (20)

SIP Router Project
SIP Router ProjectSIP Router Project
SIP Router Project
 
Using Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your ServicesUsing Istio to Secure & Monitor Your Services
Using Istio to Secure & Monitor Your Services
 
Attacking SAP Mobile
Attacking SAP MobileAttacking SAP Mobile
Attacking SAP Mobile
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011
 
Kamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with LuaKamailio - Unifying SIP and Web Worlds with Lua
Kamailio - Unifying SIP and Web Worlds with Lua
 
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTCKamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
Kamailio World 2014 - Kamailio - The Platform for Interoperable WebRTC
 
Hpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago admHpe service virtualization 3.8 what's new chicago adm
Hpe service virtualization 3.8 what's new chicago adm
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
A10 Itil Oasys Webex 090309
A10 Itil Oasys  Webex 090309A10 Itil Oasys  Webex 090309
A10 Itil Oasys Webex 090309
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
HelixCloud Webinar
HelixCloud WebinarHelixCloud Webinar
HelixCloud Webinar
 
IMS Signaling (Rev. 3)
IMS Signaling (Rev. 3)IMS Signaling (Rev. 3)
IMS Signaling (Rev. 3)
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019
 
Going FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at NetflixGoing FaaSter, Functions as a Service at Netflix
Going FaaSter, Functions as a Service at Netflix
 
CrossFIX and CrossFAST 1.2
CrossFIX and CrossFAST 1.2CrossFIX and CrossFAST 1.2
CrossFIX and CrossFAST 1.2
 
Kubernetes Istio Miami meetup
Kubernetes Istio Miami meetupKubernetes Istio Miami meetup
Kubernetes Istio Miami meetup
 
Ibm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalIbm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 final
 
Ibm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 finalIbm session tac 2104 - ctg presentation for impact 2013 final
Ibm session tac 2104 - ctg presentation for impact 2013 final
 
Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?
 
Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?Interoperability rules for an European API ecosystem: do we still need SOAP?
Interoperability rules for an European API ecosystem: do we still need SOAP?
 

Plus de Daniel-Constantin Mierla

Plus de Daniel-Constantin Mierla (11)

TAD Summit 2016 - The Mobile World Up Side Down
TAD Summit 2016 - The Mobile World Up Side DownTAD Summit 2016 - The Mobile World Up Side Down
TAD Summit 2016 - The Mobile World Up Side Down
 
Kamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleKamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With Style
 
SIP Server Optimizations for Mobile Networks
SIP Server Optimizations for Mobile NetworksSIP Server Optimizations for Mobile Networks
SIP Server Optimizations for Mobile Networks
 
Kamailio and VoIP Wild World
Kamailio and VoIP Wild WorldKamailio and VoIP Wild World
Kamailio and VoIP Wild World
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
10 Years SER - Awards
10 Years SER - Awards10 Years SER - Awards
10 Years SER - Awards
 
Sculpturing SIP World
Sculpturing SIP WorldSculpturing SIP World
Sculpturing SIP World
 
CPDL - Charging Plan Definition Language
CPDL - Charging Plan Definition LanguageCPDL - Charging Plan Definition Language
CPDL - Charging Plan Definition Language
 
SER - SIP Express Router
SER - SIP Express RouterSER - SIP Express Router
SER - SIP Express Router
 
Kamailio - SIP Servers Everywhere
Kamailio - SIP Servers EverywhereKamailio - SIP Servers Everywhere
Kamailio - SIP Servers Everywhere
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration File
 

Dernier

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Dernier (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Kamailio - Large Unified Communication Platforms

  • 1. Large Unified Communication Platforms ClueCon 2010, Chicago Daniel-Constantin Mierla Co-Founder Kamailio http://www.asipto.com
  • 3. A bit of history 2002 Jun 2005 Jul 2008 Aug 2008 Nov 2008 SIP Express Router (SER) OpenSER Kamailio Other Forks... Oct 2009 Jan 2010 SIP Router Project v3.0.0 Integration Completed v1.5.0 Autumn 2010 v3.1.0 © 2010 asipto.com
  • 4. Development portals  SourceForge Project: http://sourceforge.net/projects/openser/  SIP Router Project: http://sip-router.org 4 © 2010 asipto.com
  • 5. Awarded Best Open Source Networking Software 2009 By InfoWorld
  • 6. Sample deployments  Some of biggest VoIP deployments world wide − 1&1 (members of the management board)  Over 4 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/ © 2010 asipto.com
  • 7. Features SIP proxy, redirect and registrar server user registration with digest authorization Customizable routing policy User location service IPv4-IPv6 UDP/TCP/TLS/SCTP SIP translator Instant Messaging Offline message service Presence server ENUM lookup support Advanced routing (dispatching and LCR) Dialing support aliases and speeddial Multi-domain support LDAP/H.350 support Plug in module interface Perl programming interface © 2010 asipto.com
  • 8. Features NAT traversal Security permissions anti-DOS attacks User call preferences Call Processing Language OSP support for peering Java SIP Servlet programming interface Database API MySQL PostgreSQL UNIXODBC BERKELEYDB ORACLE Text files RADIUS Gateway SMS XMPP Accounting through log file, database or Radius/DIAMETER servers Link any application to Kamailio using FIFO/UNIXSOCK/DATAGRAM/XMLRPC interfaces © 2010 asipto.com
  • 9. Features (1.5.x) © 2010 asipto.com  DialogInfo Presence support  Configuration file shared cache system  Fast SQL operations  XMPP/MSN/... interconnection via PURPLE library  HTTP query  Timer-based route execution  Perl-like regular expression support  Least cost routing re-shaping  Fine control and access of request/reply during transaction processing  Initiate SIP requests from config file  Fine access to user location records  Priority based load balancing destinations  Option to store and manage only one location record per subscriber  Message body handling dedicated functions
  • 10. 3.0.0 Releases © 2010 asipto.com
  • 11. Improved architecture [ DB API ] [ MI ] … LIBRARIES ... [ P / XCAP ] [ RPC ] © 2010 asipto.com
  • 12. New in 3.0.0 Number Portability customizable policies caching system Asynchronous TCP several ten thousands of TCP connections SCTP multi-homing multi-streaming statistics Topology hiding fast and secure no session dependency Web & CLI Tools SIREMIS SERCMD © 2010 asipto.com
  • 13. New in 3.0.0 CFG Reload Framework update global parameters at runtime DNS Caching System fast failover blacklisting avoid blocking load balancing XMLRPC scalable control interface secure Memcached connector data distribution across many instances CFG Optimizations operations - operators switch - break - while © 2010 asipto.com
  • 14. New in 3.0.0 Transport layer UDP MTU fallback scalable TLS CFG Directives include define Auth Identity RFC4474 New routing blocks onsend route event route Async SIP Message Processing suspend - process - resume © 2010 asipto.com
  • 15. Siremis © 2010 asipto.com
  • 16. Siremis © 2010 asipto.com
  • 17. Sercmd © 2010 asipto.com
  • 18. Sercmd © 2010 asipto.com
  • 19. New in 3.0.0 http://www.kamailio.org/dokuwiki/doku.php/features:new-in-3.0.x http://www.kamailio.org/w/kamailio-openser-v3.0.0-release-notes/ http://by-miconda.blogspot.com/2010/01/best-of-new-in-kamailio-300-toc.html More http://www.kamailio.org/w/features/ http://www.kamailio.org/dokuwiki/doku.php/features:new-in-1.5.x © 2010 asipto.com
  • 20. Upcoming 3.1.0 Flexibility Maintenance Performance Features • Embedded Lua • Embedded Python • Extended preprocessor directive • #!define • #!subst • New variables • Interactive config debugger • step-by-step execution • execution trace • xlog enhan’s • print cfg line • k&s modules integration • Asynchronous TLS • UDP raw sockets • Multi-homed improvements • Load balancing • weight • call load • Traffic shaping • GeoIP API • Registration to remote servers • Reason header for Cancel • Embedded HTTP & XCAP servers • Cfg tree cashing & message queue systems • XML ops http://sip-router.org/wiki/features/new-in-devel © 2010 asipto.com
  • 21. Load balancing LLooaadd B Baalalanncceerr - load balancing - traffic dispatching - high availability - security - as simple as possible © 2010 asipto.com
  • 22. Load balancing LLooaadd B Baalalanncceerr CaRlla Rtionugt iEnngg Einnegine - main service - very reliable - easy to scale - >99.9% availability © 2010 asipto.com
  • 23. Load balancing LLooaadd B Baalalanncceerr SIRP aRtionugt iEnngg Einnegine Application Srv Application Srv Application Srv - plus-value to servicing - controlled via routing engine - service partitioning - add as you needed © 2010 asipto.com
  • 24. Using dispatcher module • dedicated load balancing module - dispatcher - developed since 2004 • can load destination set from flat file or database • flexibility to define address of targets • many dispatching algorithms: hashing, priority, round robin, random, weight, call load (upcoming 3.1) • detection for unavailable targets and ability to mark them inactive • periodically ping (SIP OPTIONS) to inactive targets and can automatically mark them active © 2010 asipto.com
  • 25. Using dispatcher module • load the module • set path to file or URL to database for loading destination sets • adapt parameter values as you need • documentation - in source tree at modules_k/dispatcher/README or online at http://www.kamailio.org © 2010 asipto.com
  • 26. Using dispatcher module • when you have done with initial processing (sanity checks, authentication, authorization, routing of within-dialog SIP request, a.s.o.) use in your config ds_select_dst(setid, algorithm) • arm a failure route to re-route to next available target • relay SIP request © 2010 asipto.com
  • 27. Using dispatcher module • in case of failure, re-route only for 500 reply from downstream and local timeout • use ds_next_dst() to select next available target • re-arm the failure route • create the branch and relay again © 2010 asipto.com
  • 28. FreeSWITCH as media server Adding • voicemail • announcements • conferencing • troubleshooting audio and video • gateway to other protocols Proxy Registrar Media Server Other Protocols SIP routing logic • Kamailio: do initial sanity checks and caller-related processing (e.g., authentication) • Kamailio: if for a special service or other protocol then relay to FS (can be via load balancing) • Freeswitch: answer the call with appropriate application or gateway to other protocols • Kamailio: if not for a specials service or other protocon then do callee-related processing (e.g., user location, least cost routing, load balancing) http://kb.asipto.com © 2010 asipto.com
  • 29. FreeSWITCH as back-to-back user agent Adding • session control (e.g., rtp timeout) • topology hiding • one-to-one SIP hop • prepaid billing • calling cards, call queues • call recording PSTN Gateways Proxy Registrar B2BUA Other Networks SIP routing logic • Kamailio: do initial sanity checks • Kamailio: if not coming from FS do caller-related processing (e.g., authentication) and then relay to FS (can be via load balancing) • Freeswitch: do the call processing and relay back to Kamailio or to other destination • Kamailio: if coming from FS do callee-related processing (e.g., user location, least cost routing, load balancing) © 2010 asipto.com
  • 30. Extensibility: accounting server ACC © 2010 asipto.com Proxy Proxy Proxy
  • 31. Extensibility: accounting server onreply_route[OK] { if(status!="200") return; $uac_req(method)="ACCOUNTING"; $uac_req(ruri)="sip:store@accounting.kamailio.org;transport=sctp"; $uac_req(furi)="sip:server@server1.kamailio.org"; $uac_req(hdrs)="Content-Type: text/accounting-csvrn"; pv_printf($uac_req(body), "$TS,$ci,$ft,$tt,$T_req($fu),$T_req($ru)"); uac_send_req(); } © 2010 asipto.com route { if(method=="ACCOUNTING" && $rU="store") { sql_query("ca", "insert into accounting (timeval,callid,ftag,ttag,src,dst) values ('$(rb{s.select,0,,})', '$(rb{s.select,1,,})', '$(rb{s.select,2,,})', '$(rb{s.select,3,,})', '$(rb{s.select,4,,})', '$(rb{s.select,5,,})' )", "ra"); send_reply("200", "Stored"); } ACC Server Config SIP Proxy Config
  • 32. Extensibility: within-group dialing  Centrex like feature  Users grouped by affiliation, friendship a.s.o.  Inside the group each member has a short extension assigned  What it takes  For many: new module and big waves  For the rest:  One table definition plus one more attribute per user  5 lines of configuration © 2010 asipto.com
  • 33. Extensibility: within-group dialing Ext: 99123456 EGrp: 1000 Ext: 99123487 EGrp: 1001 Ext: 99123432 EGrp: 1002 Ext: 77129483 EGrp: 1001 Ext: 77549483 EGrp: 1006 Ext: 77339483 EGrp: 1002 SIP Router © 2010 asipto.com
  • 34. Extensibility: within-group dialing ALTER TABLE subscriber ADD COLUMN pbxgroupid INT NOT NULL DEFAULT 0; CREATE TABLE pbxgroups ( id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY NOT NULL, pbxgroupid INT DEFAULT 0 NOT NULL, shortdial VARCHAR(16) DEFAULT '' NOT NULL, extension VARCHAR(64) DEFAULT '' NOT NULL, CONSTRAINT pg_u UNIQUE (groupid, shortdial) ) ENGINE=MyISAM;  modparam("auth_db", "load_credentials", "$avp(s:pbxgroupid)=pbxgroupid") ....  sql_query("ca" "select extension from pbxgroups where pbxgroupid=$avp(s:pbxgroupid) and shortdial='$(rU{s.escape.common})'", "ra");  if($dbr(ra=>rows)>0) $rU = $dbr(ra=>[0,0]); ... © 2010 asipto.com
  • 35. Daniel-Constantin Mierla OpenIMSCore Co-Founder Kamailio http://www.asipto.com Thank you! Questions?