SlideShare a Scribd company logo
1 of 27
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Why is Kamailio so
different?
…than FreeSwitch, Asterisk and other PBXs
oej@edvina.net | 2015-02-07 | v1.1
Ⓒ 2005-2014 Edvina AB, Sollentuna, Sweden

All rights reserved.
Because it’s

not a PBX.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
It’s a SIP router
SIP Request
SIP Response
SIP
The main decision you have to do

when configuring Kamailio

is whether to forward a SIP message,

or respond to a request.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Most PBX’s 

doesn't work like that
SIP Call PBX
In these systems, you route calls.

The SIP messaging has been programmed 

by a developer. It’s not as flexible as Kamailio.

Nor is it as dangerous…
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Most PBX’s 

handle media
SIP Call
PBX
Kamailio by default does not handle media.

We have 3rd party products for media 

NAT traversal assistance.
RTP media
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
In Kamailio, we handle SIP
messaging.
REGISTER
SIP
PRACK
INFO
MESSAGE
SUBSCRIBE
NOTIFY
ACK
INVITE
You need to
understand all of SIP
and do the right thing
in every situation.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
In Kamailio we handle SIP
transactions
SIP request
SIP
SIP request
SIP request
SIP request
SIP response
SIP response
SIP response
SIP response
This is not a call - but a request and

a response. Kamailio helps to find the right destination.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Some transactions belong
together
SIP request
SIP response
SIP request
SIP response
SIP request
SIP response
This is what we in SIP
call a dialog.Typically a call or a
subscription.
Kamailio by
default does not bother
with dialogs. In your script, you
need to.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Simplified routing script
request_route()
{
xlog(“SIP request: $rm to $run”);
!
if (has_to_tag()) {
route(WITHINDIALOG);
exit;
}
!
if ($fd == MYSELF) {
route(AUTH);
}
!
if (!lookup()) {
sl_send_reply(“404”, “Not found”);
exit;
}
!
t_relay();
}
The request_route starts with an incoming
SIP request. Log what it is!
Find out if it’s in a dialog.
Find out if it’s a known user

- authenticate -
Find out if it’s to a known SIP address
Forward the message
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
# record routing for dialog forming reque
are routed)	
# - remove preloaded route headers	
remove_hf("Route");	
if (is_method("INVITE|SUBSCRIBE"))	
record_route();	
!
# account only INVITEs	
if (is_method("INVITE")) {	
setflag(FLT_ACC); # do accounting	
}	!
# dispatch requests to foreign domains	
route(SIPOUT);	
!
### requests for my local domains	
!
# handle registrations	
route(REGISTRAR);	
!
if ($rU==$null) {	# request with no User
sl_send_rep
Yes, you write code.
You configure Kamailio by writing
programming logic.
You write in Kamailio’s own

script language
Kamailio modules extend

the language.
The core alone is actually pretty
stupid. But very powerful.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Good to know
Like in many script languages there are
many ways to accomplish the same
result.
Many modules are overlapping.

That’s fine.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Where’s the CLI?
Kamailio doesn’t have a command
line interface where you can see
what’s going on.
We have utilities that communicate
with a running server.
In Kamailio 4.2 we got an event API
module. We still don’t know what will
happen with that.
KAMCMD
KAMCTL
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
A huge selection of modules
Kamailio has over 100
modules. It’s hard to find the right
set for your need.
Start with the default
configuration and build from
there.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Transaction handling.
Some basic modules
TM & TMX
Stateless handling.
SL
Record Routing
RR
Authentication
AUTH *
Location database
USRLOC
SIP registration
REGISTRAR
Smart routing
DIALPLAN
In-memory hash tables
HTABLE
Pseudovariables
PV
Logging to syslog
XLOG
Denial-of-service attack
prevention
PIKE
Accounting
ACC
APIs
CTL, FIFO
Signalling security
TLS
NAT traversal support
NATHELPER
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Modules can depend

on each other
REGISTRAR
USRLOC
The REGISTRAR handles
registrations of devices.
The USRLOC module stores the
registrations and handles lookups.
Dependencies are well documented in each module’s

documentation page.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
The core
MEMORY HANDLING
CONFIGURATION
MANAGEMENT
NETWORK TRAFFIC
PROCESS MANAGEMENT
STATISTICS
…much more
The core starts Kamailio, loads
modules and handles a lot of
generic issues.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Kamailio and databases
DB

A standardised data interface.
Used by many modules.
NDB

For new databases, NoSQL.

Not used by modules.
db_mysql
db_text
db_pgsql
ndb_redis
ndb_cassandra
db_oracle
db_sqlite Please check the list of modules for
all available database modules.
ndb_mongodb
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
SIP authentication
AUTH
AUTH_DB

Database-driven
authentication
Anything

(using variables)
Fetching over HTTP
RADIUS or LDAP
Your own application.
SIP MD5 digest authentication
can be done in multiple ways.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Build your own data model,
don’t just copy.
Alias phone number
Alias phone number
Auth account

desk phone
Auth account

soft phone
Auth account

cell phone
Address of record, THE
SIP address
Don’t assume one SIP account, one
phone number, one set of credentials
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Base your model

on existing data
Alias phone numbers
Auth accounts
The SIP server is just one server in your
infrastructure.
LDAP account
Address of record, THE
SIP address
Name, address etc
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
What? No RELOAD?
There’s no overall RELOAD
command.
Some modules have a
reload command.
Some modules only operate
on database.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Where to start.
Learn SIP in detail.
Read the core cookbook.
Browse through the example
configuration and make sure you
understand it.
1.
2.
3.
Now start building,

add modules as you need them.
4.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Getting help.
Use the mailing list, the IRC
channel or the G+ forum.
Please do not mail developers
directly. Use public channels.
Consultants that can help you are
available on the web site.
Trainings are regularly held, both
basic and advanced.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Common mistakes:

Call routing
Carrierroute
LCR
The carrierroute module is not
the only way to do carrier routing. It’s
just one way, maybe it doesn’t fit your
model.
The LCR module is not the only
module for least cost routing. Discover
all the options and select the one that
fits your business.
Ⓒ 2015 Edvina AB, Sollentuna, Sweden

All rights reserved.
Common mistakes:

Call states
Dialog
The DIALOG module adds call
states. Don’t add it by default, you may
not need it.
Having call states makes failover
harder. You may have perfectly good call
states in other servers in your
network.
Adding call states use memory and
makes scalability not impossibly, but
much harder.
Ⓒ 2005-2014 Edvina AB, Sollentuna, Sweden

All rights reserved.
Good luck,
Kamailian!
www.kamailio.org
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

More Related Content

What's hot

FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and BeyondAndreas Granig
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scaleAndreas Granig
 
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 Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHMoises 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
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCHMoises Silva
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCHChien Cheng Wu
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceMoises Silva
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingHossein Yavari
 
Kamailio, FreeSWITCH, and the Half-Blood Prince
Kamailio, FreeSWITCH, and the Half-Blood PrinceKamailio, FreeSWITCH, and the Half-Blood Prince
Kamailio, FreeSWITCH, and the Half-Blood PrinceFred Posner
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesPaolo Visintin
 

What's hot (20)

FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
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
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scale
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
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 Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
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
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
Wazo Platform @ Astricon19
Wazo Platform @ Astricon19Wazo Platform @ Astricon19
Wazo Platform @ Astricon19
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
 
SIPREC RTPEngine Media Forking
SIPREC RTPEngine Media ForkingSIPREC RTPEngine Media Forking
SIPREC RTPEngine Media Forking
 
Kamailio, FreeSWITCH, and the Half-Blood Prince
Kamailio, FreeSWITCH, and the Half-Blood PrinceKamailio, FreeSWITCH, and the Half-Blood Prince
Kamailio, FreeSWITCH, and the Half-Blood Prince
 
Kamailio with Docker and Kubernetes
Kamailio with Docker and KubernetesKamailio with Docker and Kubernetes
Kamailio with Docker and Kubernetes
 

Viewers also liked

Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsDaniel-Constantin Mierla
 
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
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsOlle E Johansson
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTPaloSanto Solutions
 
FOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioFOSDEM 2017 - RTC Services With Lua and Kamailio
FOSDEM 2017 - RTC Services With Lua and KamailioDaniel-Constantin Mierla
 
KamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTCKamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTCCarsten Bock
 
Workshop for metal work and General trading PD.Baja Mulia Sejahtera
Workshop for metal work and General trading PD.Baja Mulia SejahteraWorkshop for metal work and General trading PD.Baja Mulia Sejahtera
Workshop for metal work and General trading PD.Baja Mulia SejahteraEchov Deep
 
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
 
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
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introductionOlle E Johansson
 

Viewers also liked (17)

Participate in SIPit
Participate in SIPitParticipate in SIPit
Participate in SIPit
 
Kamailio - The Story for Asterisk
Kamailio - The Story for AsteriskKamailio - The Story for Asterisk
Kamailio - The Story for Asterisk
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication Platforms
 
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
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installations
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
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
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
 
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
 
Kamailio Updates - VUC 588
Kamailio Updates - VUC 588Kamailio Updates - VUC 588
Kamailio Updates - VUC 588
 
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
 
KamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTCKamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTC
 
Workshop for metal work and General trading PD.Baja Mulia Sejahtera
Workshop for metal work and General trading PD.Baja Mulia SejahteraWorkshop for metal work and General trading PD.Baja Mulia Sejahtera
Workshop for metal work and General trading PD.Baja Mulia Sejahtera
 
Kamailio & IMS
Kamailio & IMSKamailio & IMS
Kamailio & IMS
 
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
 
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
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
 

Similar to Why is Kamailio so different? An introduction.

Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Alan Quayle
 
Time to get serious about realtime communication
Time to get serious about realtime communicationTime to get serious about realtime communication
Time to get serious about realtime communicationOlle E Johansson
 
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)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
 
10-4-1 : The Open Communication Revolution agenda
10-4-1 : The Open Communication Revolution agenda10-4-1 : The Open Communication Revolution agenda
10-4-1 : The Open Communication Revolution agendaPaloSanto Solutions
 
05 Voice / Video
05 Voice / Video 05 Voice / Video
05 Voice / Video Videoguy
 
The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?Olle E Johansson
 
Kamailio-In-A-Mobile-World
Kamailio-In-A-Mobile-WorldKamailio-In-A-Mobile-World
Kamailio-In-A-Mobile-WorldFederico Cabiddu
 
SIP in action Itexpo West
SIP in action Itexpo WestSIP in action Itexpo West
SIP in action Itexpo WestGraham Francis
 
CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterOpen Networking Summits
 
Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Olle E Johansson
 
Intro to shorewall
Intro to shorewallIntro to shorewall
Intro to shorewallminh pham
 
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7ELI KENDEL אלי קנדל
 
Wim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 TrainingWim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 TrainingIPv6 Conference
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle CloudJuan Carlos Ruiz Rico
 
Introduction to IP Telephony
Introduction to IP TelephonyIntroduction to IP Telephony
Introduction to IP TelephonyVideoguy
 
Accordia CIS IP PBX Overview
Accordia CIS IP PBX OverviewAccordia CIS IP PBX Overview
Accordia CIS IP PBX OverviewHanggono Duto
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocolMichal Hrncirik
 
Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Motty Ben Atia
 

Similar to Why is Kamailio so different? An introduction. (20)

Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...Security and Real-time Communications – a maze of twisty little passages, tha...
Security and Real-time Communications – a maze of twisty little passages, tha...
 
Time to get serious about realtime communication
Time to get serious about realtime communicationTime to get serious about realtime communication
Time to get serious about realtime communication
 
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
Reboot the Open Realtime Revolution - #MoreCrypto (Fall 2014)
 
Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!Kamailio World 2016: Update your SIP!
Kamailio World 2016: Update your SIP!
 
10-4-1 : The Open Communication Revolution agenda
10-4-1 : The Open Communication Revolution agenda10-4-1 : The Open Communication Revolution agenda
10-4-1 : The Open Communication Revolution agenda
 
05 Voice / Video
05 Voice / Video 05 Voice / Video
05 Voice / Video
 
The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?
 
Kamailio-In-A-Mobile-World
Kamailio-In-A-Mobile-WorldKamailio-In-A-Mobile-World
Kamailio-In-A-Mobile-World
 
SIP in action Itexpo West
SIP in action Itexpo WestSIP in action Itexpo West
SIP in action Itexpo West
 
CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a Datacenter
 
SIP info
SIP infoSIP info
SIP info
 
Sip & IPv6 - time for action!
Sip & IPv6 - time for action!Sip & IPv6 - time for action!
Sip & IPv6 - time for action!
 
Intro to shorewall
Intro to shorewallIntro to shorewall
Intro to shorewall
 
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7
Kendel Avaya-Fabric connect - Demo Lab Guide – L2VSN Multicast-7
 
Wim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 TrainingWim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 Training
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
 
Introduction to IP Telephony
Introduction to IP TelephonyIntroduction to IP Telephony
Introduction to IP Telephony
 
Accordia CIS IP PBX Overview
Accordia CIS IP PBX OverviewAccordia CIS IP PBX Overview
Accordia CIS IP PBX Overview
 
Introduction into SIP protocol
Introduction into SIP protocolIntroduction into SIP protocol
Introduction into SIP protocol
 
Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)Avaya Session Border Controller (SBC)
Avaya Session Border Controller (SBC)
 

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
 
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
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoOlle E Johansson
 
#Morecrypto (with tis) - version 2.2
#Morecrypto (with tis) - version 2.2#Morecrypto (with tis) - version 2.2
#Morecrypto (with tis) - version 2.2Olle E Johansson
 
#Morecrypto 1.8 - with introduction to TLS
#Morecrypto 1.8 - with introduction to TLS#Morecrypto 1.8 - with introduction to TLS
#Morecrypto 1.8 - with introduction to TLSOlle E Johansson
 
#MoreCrypto : Introduction to TLS
#MoreCrypto : Introduction to TLS#MoreCrypto : Introduction to TLS
#MoreCrypto : Introduction to TLSOlle 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
 
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)
 
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
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
 
#Morecrypto (with tis) - version 2.2
#Morecrypto (with tis) - version 2.2#Morecrypto (with tis) - version 2.2
#Morecrypto (with tis) - version 2.2
 
#Morecrypto 1.8 - with introduction to TLS
#Morecrypto 1.8 - with introduction to TLS#Morecrypto 1.8 - with introduction to TLS
#Morecrypto 1.8 - with introduction to TLS
 
#MoreCrypto : Introduction to TLS
#MoreCrypto : Introduction to TLS#MoreCrypto : Introduction to TLS
#MoreCrypto : Introduction to TLS
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Why is Kamailio so different? An introduction.

  • 1. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Why is Kamailio so different? …than FreeSwitch, Asterisk and other PBXs oej@edvina.net | 2015-02-07 | v1.1
  • 2. Ⓒ 2005-2014 Edvina AB, Sollentuna, Sweden
 All rights reserved. Because it’s
 not a PBX.
  • 3. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. It’s a SIP router SIP Request SIP Response SIP The main decision you have to do
 when configuring Kamailio
 is whether to forward a SIP message,
 or respond to a request.
  • 4. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Most PBX’s 
 doesn't work like that SIP Call PBX In these systems, you route calls.
 The SIP messaging has been programmed 
 by a developer. It’s not as flexible as Kamailio.
 Nor is it as dangerous…
  • 5. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Most PBX’s 
 handle media SIP Call PBX Kamailio by default does not handle media.
 We have 3rd party products for media 
 NAT traversal assistance. RTP media
  • 6. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. In Kamailio, we handle SIP messaging. REGISTER SIP PRACK INFO MESSAGE SUBSCRIBE NOTIFY ACK INVITE You need to understand all of SIP and do the right thing in every situation.
  • 7. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. In Kamailio we handle SIP transactions SIP request SIP SIP request SIP request SIP request SIP response SIP response SIP response SIP response This is not a call - but a request and
 a response. Kamailio helps to find the right destination.
  • 8. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Some transactions belong together SIP request SIP response SIP request SIP response SIP request SIP response This is what we in SIP call a dialog.Typically a call or a subscription. Kamailio by default does not bother with dialogs. In your script, you need to.
  • 9. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Simplified routing script request_route() { xlog(“SIP request: $rm to $run”); ! if (has_to_tag()) { route(WITHINDIALOG); exit; } ! if ($fd == MYSELF) { route(AUTH); } ! if (!lookup()) { sl_send_reply(“404”, “Not found”); exit; } ! t_relay(); } The request_route starts with an incoming SIP request. Log what it is! Find out if it’s in a dialog. Find out if it’s a known user
 - authenticate - Find out if it’s to a known SIP address Forward the message
  • 10. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. # record routing for dialog forming reque are routed) # - remove preloaded route headers remove_hf("Route"); if (is_method("INVITE|SUBSCRIBE")) record_route(); ! # account only INVITEs if (is_method("INVITE")) { setflag(FLT_ACC); # do accounting } ! # dispatch requests to foreign domains route(SIPOUT); ! ### requests for my local domains ! # handle registrations route(REGISTRAR); ! if ($rU==$null) { # request with no User sl_send_rep Yes, you write code. You configure Kamailio by writing programming logic. You write in Kamailio’s own
 script language Kamailio modules extend
 the language. The core alone is actually pretty stupid. But very powerful.
  • 11. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Good to know Like in many script languages there are many ways to accomplish the same result. Many modules are overlapping.
 That’s fine.
  • 12. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Where’s the CLI? Kamailio doesn’t have a command line interface where you can see what’s going on. We have utilities that communicate with a running server. In Kamailio 4.2 we got an event API module. We still don’t know what will happen with that. KAMCMD KAMCTL
  • 13. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. A huge selection of modules Kamailio has over 100 modules. It’s hard to find the right set for your need. Start with the default configuration and build from there.
  • 14. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Transaction handling. Some basic modules TM & TMX Stateless handling. SL Record Routing RR Authentication AUTH * Location database USRLOC SIP registration REGISTRAR Smart routing DIALPLAN In-memory hash tables HTABLE Pseudovariables PV Logging to syslog XLOG Denial-of-service attack prevention PIKE Accounting ACC APIs CTL, FIFO Signalling security TLS NAT traversal support NATHELPER
  • 15. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Modules can depend
 on each other REGISTRAR USRLOC The REGISTRAR handles registrations of devices. The USRLOC module stores the registrations and handles lookups. Dependencies are well documented in each module’s
 documentation page.
  • 16. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. The core MEMORY HANDLING CONFIGURATION MANAGEMENT NETWORK TRAFFIC PROCESS MANAGEMENT STATISTICS …much more The core starts Kamailio, loads modules and handles a lot of generic issues.
  • 17. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Kamailio and databases DB
 A standardised data interface. Used by many modules. NDB
 For new databases, NoSQL.
 Not used by modules. db_mysql db_text db_pgsql ndb_redis ndb_cassandra db_oracle db_sqlite Please check the list of modules for all available database modules. ndb_mongodb
  • 18. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. SIP authentication AUTH AUTH_DB
 Database-driven authentication Anything
 (using variables) Fetching over HTTP RADIUS or LDAP Your own application. SIP MD5 digest authentication can be done in multiple ways.
  • 19. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Build your own data model, don’t just copy. Alias phone number Alias phone number Auth account
 desk phone Auth account
 soft phone Auth account
 cell phone Address of record, THE SIP address Don’t assume one SIP account, one phone number, one set of credentials
  • 20. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Base your model
 on existing data Alias phone numbers Auth accounts The SIP server is just one server in your infrastructure. LDAP account Address of record, THE SIP address Name, address etc
  • 21. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. What? No RELOAD? There’s no overall RELOAD command. Some modules have a reload command. Some modules only operate on database.
  • 22. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Where to start. Learn SIP in detail. Read the core cookbook. Browse through the example configuration and make sure you understand it. 1. 2. 3. Now start building,
 add modules as you need them. 4.
  • 23. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Getting help. Use the mailing list, the IRC channel or the G+ forum. Please do not mail developers directly. Use public channels. Consultants that can help you are available on the web site. Trainings are regularly held, both basic and advanced.
  • 24. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Common mistakes:
 Call routing Carrierroute LCR The carrierroute module is not the only way to do carrier routing. It’s just one way, maybe it doesn’t fit your model. The LCR module is not the only module for least cost routing. Discover all the options and select the one that fits your business.
  • 25. Ⓒ 2015 Edvina AB, Sollentuna, Sweden
 All rights reserved. Common mistakes:
 Call states Dialog The DIALOG module adds call states. Don’t add it by default, you may not need it. Having call states makes failover harder. You may have perfectly good call states in other servers in your network. Adding call states use memory and makes scalability not impossibly, but much harder.
  • 26. Ⓒ 2005-2014 Edvina AB, Sollentuna, Sweden
 All rights reserved. Good luck, Kamailian! www.kamailio.org
  • 27. 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