SlideShare a Scribd company logo
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?

More Related Content

What's hot

SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)Fred Posner
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with KamailioFred Posner
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and BeyondAndreas Granig
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingHossein Yavari
 
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
 
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
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCHChien Cheng Wu
 
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
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises Silva
 
Getting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopGetting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopstefansayer
 
Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances Jöran Vinzens
 
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
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileDaniel-Constantin Mierla
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceEvan McGee
 

What's hot (20)

SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
Scaling Asterisk with Kamailio
Scaling Asterisk with KamailioScaling Asterisk with Kamailio
Scaling Asterisk with Kamailio
 
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on KamailioAstricon 10 (October 2013) - SIP over WebSocket on Kamailio
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
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.
 
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
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
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
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
Getting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshopGetting started with SIP Express Media Server SIP app server and SBC - workshop
Getting started with SIP Express Media Server SIP app server and SBC - workshop
 
Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances Using ARI and AGI to Connect Asterisk Instances
Using ARI and AGI to Connect Asterisk Instances
 
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
 
Aynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration FileAynchronous Processing in Kamailio Configuration File
Aynchronous Processing in Kamailio Configuration File
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
VoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacksVoIP – vulnerabilities and attacks
VoIP – vulnerabilities and attacks
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 

Viewers also liked

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
 

Viewers also liked (9)

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
 

Similar to 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
 

Similar to 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?
 

More from Daniel-Constantin Mierla

More from Daniel-Constantin Mierla (9)

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
 
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
 

Recently uploaded

ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupCatarinaPereira64715
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsVlad Stirbu
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoTAnalytics
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Alison B. Lowndes
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...Sri Ambati
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...Product School
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
 

Recently uploaded (20)

ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 2024)PHP Frameworks: I want to break free (IPC Berlin 2024)
PHP Frameworks: I want to break free (IPC Berlin 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?