SlideShare a Scribd company logo
1 of 42
A QUICK INTRODUCTION
TO KAMAILIO
Olle E. Johansson * oej@edvina.net * Twitter oej
Copyright Edvina AB, Sollentuna, Sweden 2013-205 .All rights reserved.V4.2
FIRST:
What is a proxy compared with a PBX?
A SIP PBX
You Me
PBX
Everyone talks with the PBX!
This is called a SIP b2bua
A SIP PROXY
You Me
SIP
We find each other using

the proxy.
Multimedia Communication is
peer2peer
Media
FINDINGYOU
You Me
SIP
DNS is used, like e-mail.
DNS
sip:alice@example.com
THE PROXY ANDTHE PBX
WORKS WELLTOGETHER.
You
Me
PBX
SIP
Services like	

IVR	

Conference
THE PROXY HAS MANY ROLES
SIP SIP SIP SIP
Proxy
Outbound proxy
Location server/registrar
Presence server
Call routing (LCR)
SIP
Application server
SIP
WHAT DOESN’T IT DO?
GW HOLD CONF REC
Gateway

to other protocols
Mix calls in a conference
Put calls on hold
Record

calls
Listen to DTMF
IVR
Handle media
RTP
INTRODUCING KAMAILIO
KAMAILIO
Open Source
SIP Server
Presence server
SIP Proxy
Application server
A lot of activity!
WebSocket SIP
server
THE KAMAILIO PROJECT
• Project leader:

Daniel Constatin Mierla (Asipto)	

• Management board with community members	

• Many developers, active community	

• Renamed to Kamailio in 2008	

• Merged with the original 

Sip Express Router for version 3 in 2008
kamailio.org
KAMAILIOTECHNOLOGY
• Written in ANSI C and optimized for speed !
!
• Modular design !
!
• Flexible configuration and routing language !
!
• Supports MySQL, PostgreSQL, LDAP, RADIUS, Sqlite , radius, UnixODBC!
!
• Standard (RFC3261) compliant !
• Web based administration interface: SIREMIS!
!
• Management port (TCP, UDP, XML)!
!
• Embedded HTTP server for Xcap (Presence)!
!
• Python, Perl, LUA development interfaces!
!
• NAT traversal capable !
!
• Portable, runs on POSIX compliant systems
KAMAILIO PHILOSOPHY
• Over 100 modules - build anything!	

• Many modules overlap	

• Especially in carrier-business-related stuff, like least cost routing	

• As long as we have maintainers, we’re fine with that.
KAMAILIO EVOLUTION
From http://sip-router.org/wiki/history/ser-9-years
Notice 

That we merged!
KAMAILIO DEVELOPMENT
MODEL
• Development base code is named ”SIP-router”!
!
• Licensed under GPL. Contributions may be under BSD.!
!
• Currently about 20 developers !
!
• Anyone can freely contribute extensions and modules !
!
• Changes to existing modules are subject to approval
SIP-router.org
Kamailo releases SER releases Tekelec products
WHERETO GET IT?
Linux packages

http://www.kamailio.org/wiki/
packages/rpms
FreeBSD/OpenBSD

Ports
Source code

www.kamailio.org Just download and run!
KAMAILIO FUNCTIONALITY
• It is a SIP server originally designed as a SIP proxy
• Can be configured as an
• SIP Outbound Proxy
• Location server/registrar
• Presence server
• Application server
• …and much more
• Development API for SIP servlets and UserAgent
functionality
• LUA, Java, Python module integration for
advanced functionality
• Runs on many operating systems
SIP proxy
Presence

server
SIP application

server
SIP load

balancer
SIP Session Border
Controller
ADDITIONAL FEATURES
• IPv4-IPv6 gateway
• UDP/TCP/SCTP/WS translator
• NAT traversal support
• anti-DOS functions (pike, blacklists)
• Gateway to SMS, XMPP (Jabber)
• Accounting
• Interface to LUA, Python, Mono/C# and Perl
• Database support MongoDB, Redis, Radius,
MySQL, PostgreSQL, UnixODBC, Berkeley DB
and Oracle
• ...much more
IPv4/IPv6

UDP/TCP/SCTP/WS

TLS	

NAT	

!
Languages:
Java, Python, Lua, Perl,
Mono, C#	

!
Databases:
Mysql	

PostgreSQL	

UnixODBC	

Berkeley DB	

Oracle

Redis, MongoDB

Cassandra
A MODULAR ARCHITECTURE
SIP Server core
Modules Modules Modules Modules
MySQL Radius TM
NAT

Support
Core provides	

Transport managements	

Memory management	

Module interface	

Shared memory	

Locking	

Configuration
Modules provide	

Script functions	

Module parameters	

Special variables	

Management functions
ADDITIONAL HELPERS
KAMCTL
KAMDBCTL
KAMCMD
SIREMIS
Management interface (MI) functions	

Start/stop	

Shared variables	

Statistics	

Database installation helper	

!
RPC Interface and MI functions	

Statistics	

Select/Config variables	

(Arrived from SER)	

!
Web application	

Statistics	

Database management	

Separate project	

!
KAMAILIO ISTHE HEART OFYOUR SIP NETWORK
Kamailio
RTP
relay
PSTN

gw
DB
Admin

(WEB)
Feature
server
3rd 

party
IM/SMS

gw
Internal network
Public network
Users
MULTIPROCESS, NOTTHREADS
UDP listen
TCP listen
TCP/TLS listen
STCP listen
Other worker processes
MANAGEMENT
RPC interface
XMLrpc Json Pipe
MI

(deprecated)
KAMCMD KAMCTL
Unix command line
applications
MEMORY HANDLING
PKG - Kamailio memory manager
Unix memory
manager
Shared memory

(core)
Per process memory
4 MB per process64 MB per Kamailio
Allocated at start.
Transactions SIP message
Shared variables Script variables
ABOUT KEEPING STATE:
• Kamailio keeps transaction, user
and location data in shared
memory (RAM) at runtime	

• Some of this can be cached to
database, but in-memory is the
default	

• This statelessness delivers
scalability and resilience in the
network
Stateless forwarding

and responses
Transaction states
Dialog - ”call” - states
GENERAL ADVICE:
• Try to keep proxy processing as simple as possible
• Be very careful on where you add states	

• In larger networks, separate 	

• Ingress/Egress proxys (Session Border Controllers)	

• Registrar/location server	

• Core proxy	

• Feature proxy
Compare with

IP routers!
CONFIGURATION
KAMAILIO IS ATOOLBOX
• Kamailio is not a ready-made
application like Asterisk or
FreeSwitch	

• There is a very powerful
configuration language where you
configure handling of individual SIP
Messages	

• You need understanding of the SIP
protocol to build your application
Load balancer
SBC
Trunk server
PBX
$avp(rtype)
if($rm ==
”INVITE”) {}
route(”NAT”);
t_relay();
THE KAMAILIO SCRIPTS
• C-like language	

• IF/THEN,WHILE constructs	

• Variables with different scopes (global, local,
transactions)	

• Hash tables, database integration, memcached
and much more	

• Loading a new module extends functionality,
like in Asterisk or Apache
?
WHERE’STHE DIAL PLAN?
• Kamailio routes SIP messages, not calls	

• There are many ways to route calls (consisting of at least an
INVITE and a BYE message)	

• There is a module called “DIALPLAN” that can simplify building a
pbx-like call routing engine	

• Remember, Kamailio does not handle media. Companion products
like RTPengine, RTPproxy, Asterisk and FreeSwitch handles media.
??
SOLUTIONS WITH KAMAILIO
SMALL CARRIER
SIP
Kamailio

Session Border

controller
SIP
Kamailio

Core proxy
SIP
Kamailio Registrar/Location server
Asterisk
PSTN Gateway
Asterisk
Voicemail Server
Asterisk
Feature/IVR Server
UNIVERSITY IPTRANSITION
.com
Session Border

controller

(commercial product)
SIP
Kamailio

Core proxy
Asterisk
PBX
Asterisk
Old PBX
Media gateway ISDN
FAILOVER
SIP
Core Kamailio

proxys
FreeSwitch
PBX
FreeSwitch
PBX backup
SIP
MULTI-FEATURE SERVICE
SIP
Asterisk
IVR, Queues, prompts
SIP
Audio
Video
Chat
Presence
Telephony
Core Kamailio

proxys
WHAT ABOUT WEBRTC?
KAMAILIO 4 COMES WITH
SIP OVER WEBSOCKETS
WWWyou
Me
SIP
WS
sip/websockets
sip/tcp
Javascript

app
Media over SRTP
KAMAILIO AND ASTERISK WITH
SIP OVER WEBSOCKETS
WWWyou
Me
SIP
WS
sip/websockets
Javascript

SIP app
Media over SRTP
AST
RTP
JSSIP: OPEN SOURCE SIPSTACK
IN JAVASCRIPT
• Available for download at jssip.net	

• Written by the authors of IETF RFC 7118 on SIP over
websockets	

• Reference implementation	

• MIT license
COMPONENTS NEEDED
• SIP over WS servers: Kamailio, OverSIP, Asterisk, FreeSwitch	

• Audio media server RTP gateway: Asterisk, FreeSwitch,
RTPengine	

• SIP/Javascript: SIPml5, JSSIP
EDVINATRAINING CLASSES
• Kamailio from start	

• The SIP Protocol	

• RTP, RTCP and QoS	

• SIP Security	

• Scalability	

• Many Kamailio labs
CUSTOM

INHOUSE

TRAININGS
• SIP,Asterisk, Kamailio
and much more	

• Done at your site,
customized for your
project	

• Cost effective when
more than four
students	

Find more details at http://edvina.net
• Advanced Kamailio	

• SIP trunking	

• NAT handling	

• WebRTC/SIP	

• Testing, debugging	

• Scalability	

• Many Kamailio labs
THAT’S ALL FOLKS.
Twitter @kamailioproject	

!
Like us on Facebook too!
Download on www.kamailio.org

More Related Content

What's hot

rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and BeyondAndreas Granig
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Fred Posner
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and KamailioGiacomo Vacca
 
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
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises Silva
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceMoises Silva
 
SIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldSIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldOlle E Johansson
 
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
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCHMoises Silva
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
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
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesPaolo Visintin
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
Traffic Control with Envoy Proxy
Traffic Control with Envoy ProxyTraffic Control with Envoy Proxy
Traffic Control with Envoy ProxyMark McBride
 
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
 

What's hot (20)

Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
Using Asterisk and Kamailio for Reliable, Scalable and Secure Communication S...
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
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.
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
 
SIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer worldSIP & TLS - Security in a peer to peer world
SIP & TLS - Security in a peer to peer world
 
SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
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
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and Kubernetes
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
Traffic Control with Envoy Proxy
Traffic Control with Envoy ProxyTraffic Control with Envoy Proxy
Traffic Control with Envoy Proxy
 
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
 

Similar to Kamailio :: A Quick Introduction

FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateOlle E Johansson
 
Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)Fred Posner
 
SIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsSIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsRADVISION Ltd.
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsOlle E Johansson
 
Uip Sip Implementation Best Practices060409
Uip Sip Implementation Best Practices060409Uip Sip Implementation Best Practices060409
Uip Sip Implementation Best Practices060409Abdel-Fattah M. Hmoud
 
FutureComm 2010: SIP Server Applications on Embedded Platforms
FutureComm 2010: SIP Server Applications on Embedded PlatformsFutureComm 2010: SIP Server Applications on Embedded Platforms
FutureComm 2010: SIP Server Applications on Embedded PlatformsRADVISION Ltd.
 
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
 
The ssca® sip training program course outline
The ssca® sip training program   course outlineThe ssca® sip training program   course outline
The ssca® sip training program course outlineswap3731
 
Introduction to IP Telephony
Introduction to IP TelephonyIntroduction to IP Telephony
Introduction to IP TelephonyVideoguy
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocolMichal Hrncirik
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPSean Flores
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresGiacomo Vacca
 
Solo Telco Gateway
Solo Telco GatewaySolo Telco Gateway
Solo Telco GatewaySOLO Gateway
 

Similar to Kamailio :: A Quick Introduction (20)

FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication Update
 
Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)
 
SIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communicationsSIP servers on embedded systems: Powering SoHo communications
SIP servers on embedded systems: Powering SoHo communications
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installations
 
Uip Sip Implementation Best Practices060409
Uip Sip Implementation Best Practices060409Uip Sip Implementation Best Practices060409
Uip Sip Implementation Best Practices060409
 
SIP Router Project
SIP Router ProjectSIP Router Project
SIP Router Project
 
Vo ip sip
Vo ip sipVo ip sip
Vo ip sip
 
FutureComm 2010: SIP Server Applications on Embedded Platforms
FutureComm 2010: SIP Server Applications on Embedded PlatformsFutureComm 2010: SIP Server Applications on Embedded Platforms
FutureComm 2010: SIP Server Applications on Embedded Platforms
 
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
 
Sangoma SBC Training Presentation
Sangoma SBC Training PresentationSangoma SBC Training Presentation
Sangoma SBC Training Presentation
 
The ssca® sip training program course outline
The ssca® sip training program   course outlineThe ssca® sip training program   course outline
The ssca® sip training program course outline
 
Introduction to IP Telephony
Introduction to IP TelephonyIntroduction to IP Telephony
Introduction to IP Telephony
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocol
 
SIP info
SIP infoSIP info
SIP info
 
Kamailio - The Story for Asterisk
Kamailio - The Story for AsteriskKamailio - The Story for Asterisk
Kamailio - The Story for Asterisk
 
ITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocketITSPA May 2013 - WebRTC, TURN, and WebSocket
ITSPA May 2013 - WebRTC, TURN, and WebSocket
 
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
FOSDEM 2013 - SIP and MSRP over WebSocket in KamailioFOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
 
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIPAN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
AN OVERVIEW OF VOICE OVER INTERNET PROTOCOL (VOIP
 
Modern VoIP in modern infrastructures
Modern VoIP in modern infrastructuresModern VoIP in modern infrastructures
Modern VoIP in modern infrastructures
 
Solo Telco Gateway
Solo Telco GatewaySolo Telco Gateway
Solo Telco Gateway
 

More from Olle E Johansson

Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Olle E Johansson
 
CRA - overview of vulnerability handling
CRA - overview of vulnerability handlingCRA - overview of vulnerability handling
CRA - overview of vulnerability handlingOlle E Johansson
 
Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Olle E Johansson
 
The birth and death of PSTN
The birth and death of PSTNThe birth and death of PSTN
The birth and death of PSTNOlle E Johansson
 
WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019Olle E Johansson
 
Kamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffKamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffOlle E Johansson
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack networkOlle E Johansson
 
The Realtime Story - part 2
The Realtime Story - part 2The Realtime Story - part 2
The Realtime Story - part 2Olle E Johansson
 
Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Olle E Johansson
 
Sips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolSips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolOlle E Johansson
 
SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)Olle E Johansson
 
Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Olle E Johansson
 
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Olle E Johansson
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIPOlle E Johansson
 
TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6Olle E Johansson
 
RFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeRFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeOlle E Johansson
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreOlle E Johansson
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoOlle E Johansson
 

More from Olle E Johansson (20)

Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)Cybernode.se: Securing the software supply chain (CRA)
Cybernode.se: Securing the software supply chain (CRA)
 
CRA - overview of vulnerability handling
CRA - overview of vulnerability handlingCRA - overview of vulnerability handling
CRA - overview of vulnerability handling
 
Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)Introduction to the proposed EU cyber resilience act (CRA)
Introduction to the proposed EU cyber resilience act (CRA)
 
The birth and death of PSTN
The birth and death of PSTNThe birth and death of PSTN
The birth and death of PSTN
 
WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019WebRTC and Janus intro for FOSS Stockholm January 2019
WebRTC and Janus intro for FOSS Stockholm January 2019
 
Kamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuffKamailio World 2018: Having fun with new stuff
Kamailio World 2018: Having fun with new stuff
 
Kamailio on air
Kamailio on airKamailio on air
Kamailio on air
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
Realtime communication over a dual stack network
Realtime communication over a dual stack networkRealtime communication over a dual stack network
Realtime communication over a dual stack network
 
The Realtime Story - part 2
The Realtime Story - part 2The Realtime Story - part 2
The Realtime Story - part 2
 
Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016
 
Sips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocolSips must die, die, die - about TLS usage in the SIP protocol
Sips must die, die, die - about TLS usage in the SIP protocol
 
SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)SIP :: Half outbound (random notes)
SIP :: Half outbound (random notes)
 
Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!
 
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
Tio tester av TLS - Transport Layer Security (TLS-O-MATIC.COM)
 
2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP2015 update: SIP and IPv6 issues - staying Happy in SIP
2015 update: SIP and IPv6 issues - staying Happy in SIP
 
TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6TCP/IP Geeks Stockholm :: Introduction to IPv6
TCP/IP Geeks Stockholm :: Introduction to IPv6
 
RFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the timeRFC 7435 - Opportunistic security - Some protection most of the time
RFC 7435 - Opportunistic security - Some protection most of the time
 
SIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and moreSIP and DNS - federation, failover, load balancing and more
SIP and DNS - federation, failover, load balancing and more
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
 

Recently uploaded

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialJoão Esperancinha
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...Karmanjay Verma
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 

Recently uploaded (20)

QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Kuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorialKuma Meshes Part I - The basics - A tutorial
Kuma Meshes Part I - The basics - A tutorial
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...React JS; all concepts. Contains React Features, JSX, functional & Class comp...
React JS; all concepts. Contains React Features, JSX, functional & Class comp...
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 

Kamailio :: A Quick Introduction

  • 1. A QUICK INTRODUCTION TO KAMAILIO Olle E. Johansson * oej@edvina.net * Twitter oej Copyright Edvina AB, Sollentuna, Sweden 2013-205 .All rights reserved.V4.2
  • 2. FIRST: What is a proxy compared with a PBX?
  • 3. A SIP PBX You Me PBX Everyone talks with the PBX! This is called a SIP b2bua
  • 4. A SIP PROXY You Me SIP We find each other using
 the proxy. Multimedia Communication is peer2peer Media
  • 5. FINDINGYOU You Me SIP DNS is used, like e-mail. DNS sip:alice@example.com
  • 6. THE PROXY ANDTHE PBX WORKS WELLTOGETHER. You Me PBX SIP Services like IVR Conference
  • 7. THE PROXY HAS MANY ROLES SIP SIP SIP SIP Proxy Outbound proxy Location server/registrar Presence server Call routing (LCR) SIP Application server SIP
  • 8. WHAT DOESN’T IT DO? GW HOLD CONF REC Gateway
 to other protocols Mix calls in a conference Put calls on hold Record
 calls Listen to DTMF IVR Handle media RTP
  • 10. KAMAILIO Open Source SIP Server Presence server SIP Proxy Application server A lot of activity! WebSocket SIP server
  • 11. THE KAMAILIO PROJECT • Project leader:
 Daniel Constatin Mierla (Asipto) • Management board with community members • Many developers, active community • Renamed to Kamailio in 2008 • Merged with the original 
 Sip Express Router for version 3 in 2008 kamailio.org
  • 12. KAMAILIOTECHNOLOGY • Written in ANSI C and optimized for speed ! ! • Modular design ! ! • Flexible configuration and routing language ! ! • Supports MySQL, PostgreSQL, LDAP, RADIUS, Sqlite , radius, UnixODBC! ! • Standard (RFC3261) compliant ! • Web based administration interface: SIREMIS! ! • Management port (TCP, UDP, XML)! ! • Embedded HTTP server for Xcap (Presence)! ! • Python, Perl, LUA development interfaces! ! • NAT traversal capable ! ! • Portable, runs on POSIX compliant systems
  • 13. KAMAILIO PHILOSOPHY • Over 100 modules - build anything! • Many modules overlap • Especially in carrier-business-related stuff, like least cost routing • As long as we have maintainers, we’re fine with that.
  • 15. KAMAILIO DEVELOPMENT MODEL • Development base code is named ”SIP-router”! ! • Licensed under GPL. Contributions may be under BSD.! ! • Currently about 20 developers ! ! • Anyone can freely contribute extensions and modules ! ! • Changes to existing modules are subject to approval SIP-router.org Kamailo releases SER releases Tekelec products
  • 16. WHERETO GET IT? Linux packages
 http://www.kamailio.org/wiki/ packages/rpms FreeBSD/OpenBSD
 Ports Source code
 www.kamailio.org Just download and run!
  • 17. KAMAILIO FUNCTIONALITY • It is a SIP server originally designed as a SIP proxy • Can be configured as an • SIP Outbound Proxy • Location server/registrar • Presence server • Application server • …and much more • Development API for SIP servlets and UserAgent functionality • LUA, Java, Python module integration for advanced functionality • Runs on many operating systems SIP proxy Presence
 server SIP application
 server SIP load
 balancer SIP Session Border Controller
  • 18. ADDITIONAL FEATURES • IPv4-IPv6 gateway • UDP/TCP/SCTP/WS translator • NAT traversal support • anti-DOS functions (pike, blacklists) • Gateway to SMS, XMPP (Jabber) • Accounting • Interface to LUA, Python, Mono/C# and Perl • Database support MongoDB, Redis, Radius, MySQL, PostgreSQL, UnixODBC, Berkeley DB and Oracle • ...much more IPv4/IPv6
 UDP/TCP/SCTP/WS
 TLS NAT ! Languages: Java, Python, Lua, Perl, Mono, C# ! Databases: Mysql PostgreSQL UnixODBC Berkeley DB Oracle
 Redis, MongoDB
 Cassandra
  • 19. A MODULAR ARCHITECTURE SIP Server core Modules Modules Modules Modules MySQL Radius TM NAT
 Support Core provides Transport managements Memory management Module interface Shared memory Locking Configuration Modules provide Script functions Module parameters Special variables Management functions
  • 20. ADDITIONAL HELPERS KAMCTL KAMDBCTL KAMCMD SIREMIS Management interface (MI) functions Start/stop Shared variables Statistics Database installation helper ! RPC Interface and MI functions Statistics Select/Config variables (Arrived from SER) ! Web application Statistics Database management Separate project !
  • 21. KAMAILIO ISTHE HEART OFYOUR SIP NETWORK Kamailio RTP relay PSTN
 gw DB Admin
 (WEB) Feature server 3rd 
 party IM/SMS
 gw Internal network Public network Users
  • 22. MULTIPROCESS, NOTTHREADS UDP listen TCP listen TCP/TLS listen STCP listen Other worker processes
  • 23. MANAGEMENT RPC interface XMLrpc Json Pipe MI
 (deprecated) KAMCMD KAMCTL Unix command line applications
  • 24. MEMORY HANDLING PKG - Kamailio memory manager Unix memory manager Shared memory
 (core) Per process memory 4 MB per process64 MB per Kamailio Allocated at start. Transactions SIP message Shared variables Script variables
  • 25. ABOUT KEEPING STATE: • Kamailio keeps transaction, user and location data in shared memory (RAM) at runtime • Some of this can be cached to database, but in-memory is the default • This statelessness delivers scalability and resilience in the network Stateless forwarding
 and responses Transaction states Dialog - ”call” - states
  • 26. GENERAL ADVICE: • Try to keep proxy processing as simple as possible • Be very careful on where you add states • In larger networks, separate • Ingress/Egress proxys (Session Border Controllers) • Registrar/location server • Core proxy • Feature proxy Compare with
 IP routers!
  • 28. KAMAILIO IS ATOOLBOX • Kamailio is not a ready-made application like Asterisk or FreeSwitch • There is a very powerful configuration language where you configure handling of individual SIP Messages • You need understanding of the SIP protocol to build your application Load balancer SBC Trunk server PBX
  • 29. $avp(rtype) if($rm == ”INVITE”) {} route(”NAT”); t_relay(); THE KAMAILIO SCRIPTS • C-like language • IF/THEN,WHILE constructs • Variables with different scopes (global, local, transactions) • Hash tables, database integration, memcached and much more • Loading a new module extends functionality, like in Asterisk or Apache
  • 30. ? WHERE’STHE DIAL PLAN? • Kamailio routes SIP messages, not calls • There are many ways to route calls (consisting of at least an INVITE and a BYE message) • There is a module called “DIALPLAN” that can simplify building a pbx-like call routing engine • Remember, Kamailio does not handle media. Companion products like RTPengine, RTPproxy, Asterisk and FreeSwitch handles media. ??
  • 32. SMALL CARRIER SIP Kamailio
 Session Border
 controller SIP Kamailio
 Core proxy SIP Kamailio Registrar/Location server Asterisk PSTN Gateway Asterisk Voicemail Server Asterisk Feature/IVR Server
  • 33. UNIVERSITY IPTRANSITION .com Session Border
 controller
 (commercial product) SIP Kamailio
 Core proxy Asterisk PBX Asterisk Old PBX Media gateway ISDN
  • 35. MULTI-FEATURE SERVICE SIP Asterisk IVR, Queues, prompts SIP Audio Video Chat Presence Telephony Core Kamailio
 proxys
  • 37. KAMAILIO 4 COMES WITH SIP OVER WEBSOCKETS WWWyou Me SIP WS sip/websockets sip/tcp Javascript
 app Media over SRTP
  • 38. KAMAILIO AND ASTERISK WITH SIP OVER WEBSOCKETS WWWyou Me SIP WS sip/websockets Javascript
 SIP app Media over SRTP AST RTP
  • 39. JSSIP: OPEN SOURCE SIPSTACK IN JAVASCRIPT • Available for download at jssip.net • Written by the authors of IETF RFC 7118 on SIP over websockets • Reference implementation • MIT license
  • 40. COMPONENTS NEEDED • SIP over WS servers: Kamailio, OverSIP, Asterisk, FreeSwitch • Audio media server RTP gateway: Asterisk, FreeSwitch, RTPengine • SIP/Javascript: SIPml5, JSSIP
  • 41. EDVINATRAINING CLASSES • Kamailio from start • The SIP Protocol • RTP, RTCP and QoS • SIP Security • Scalability • Many Kamailio labs CUSTOM
 INHOUSE
 TRAININGS • SIP,Asterisk, Kamailio and much more • Done at your site, customized for your project • Cost effective when more than four students Find more details at http://edvina.net • Advanced Kamailio • SIP trunking • NAT handling • WebRTC/SIP • Testing, debugging • Scalability • Many Kamailio labs
  • 42. THAT’S ALL FOLKS. Twitter @kamailioproject ! Like us on Facebook too! Download on www.kamailio.org