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

Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Fred Posner
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
Daniel-Constantin Mierla
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
Moises Silva
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
Andreas Granig
 
Using Kamailio for Scalability and Security
Using Kamailio for Scalability and SecurityUsing Kamailio for Scalability and Security
Using Kamailio for Scalability and Security
Fred Posner
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
Daniel-Constantin Mierla
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
Andreas 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
 
FreeSBC How To - Advanced SIP Routing
FreeSBC How To - Advanced SIP RoutingFreeSBC How To - Advanced SIP Routing
FreeSBC How To - Advanced SIP Routing
Alan Percy
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
Evan McGee
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
Giacomo Vacca
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
Daniel-Constantin Mierla
 
Kamalio and Asterisk: What, Why & How
Kamalio and Asterisk: What, Why & HowKamalio and Asterisk: What, Why & How
Kamalio and Asterisk: What, Why & How
Fred Posner
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
Daniel-Constantin Mierla
 
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
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH 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
Crocodile WebRTC SDK and Cloud Signalling Network
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
Chien Cheng Wu
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
Chien Cheng Wu
 
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
 

What's hot (20)

Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH DeploymentThree Ways Kamailio Can Help Your FreeSWITCH Deployment
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
Using Kamailio for Scalability and Security
Using Kamailio for Scalability and SecurityUsing Kamailio for Scalability and Security
Using Kamailio for Scalability and Security
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
Sipwise rtpengine
Sipwise rtpengineSipwise rtpengine
Sipwise rtpengine
 
Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)Introduction to Kamailio (TADSummit 2020 Asia)
Introduction to Kamailio (TADSummit 2020 Asia)
 
FreeSBC How To - Advanced SIP Routing
FreeSBC How To - Advanced SIP RoutingFreeSBC How To - Advanced SIP Routing
FreeSBC How To - Advanced SIP Routing
 
FreeSWITCH as a Microservice
FreeSWITCH as a MicroserviceFreeSWITCH as a Microservice
FreeSWITCH as a Microservice
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
Kamailio - Secure Communication
Kamailio - Secure CommunicationKamailio - Secure Communication
Kamailio - Secure Communication
 
Kamalio and Asterisk: What, Why & How
Kamalio and Asterisk: What, Why & HowKamalio and Asterisk: What, Why & How
Kamalio and Asterisk: What, Why & How
 
Kamailio - SIP Routing in Lua
Kamailio - SIP Routing in LuaKamailio - SIP Routing in Lua
Kamailio - SIP Routing in Lua
 
SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)SIP Attack Handling (Kamailio World 2021)
SIP Attack Handling (Kamailio World 2021)
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH 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
 
Introduction to FreeSWITCH
Introduction to FreeSWITCHIntroduction to FreeSWITCH
Introduction to FreeSWITCH
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
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...
 

Viewers also liked

Participate in SIPit
Participate in SIPitParticipate in SIPit
Participate in SIPit
Olle E Johansson
 
Kamailio - The Story for Asterisk
Kamailio - The Story for AsteriskKamailio - The Story for Asterisk
Kamailio - The Story for Asterisk
Daniel-Constantin Mierla
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication Platforms
Daniel-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 Traffic
Daniel-Constantin Mierla
 
Astricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installationsAstricon 2010: Scaling Asterisk installations
Astricon 2010: Scaling Asterisk installations
Olle E Johansson
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
Olle E Johansson
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
PaloSanto Solutions
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
Daniel-Constantin Mierla
 
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
Daniel-Constantin Mierla
 
Kamailio Updates - VUC 588
Kamailio Updates - VUC 588Kamailio Updates - VUC 588
Kamailio Updates - VUC 588
Daniel-Constantin Mierla
 
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
Crocodile WebRTC SDK and Cloud Signalling Network
 
KamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTCKamailioWorld 2014: Kamailio, IMS and WebRTC
KamailioWorld 2014: Kamailio, IMS and WebRTC
Carsten 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 Sejahtera
Echov Deep
 
Kamailio & IMS
Kamailio & IMSKamailio & IMS
Kamailio & IMS
Carsten Bock
 
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
2600Hz
 
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
Olle E Johansson
 
WebRTC - a quick introduction
WebRTC - a quick introductionWebRTC - a quick introduction
WebRTC - a quick introduction
Olle 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 communication
Olle 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 agenda
PaloSanto 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 West
Graham 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 Datacenter
Open 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 shorewall
minh 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-7
ELI KENDEL אלי קנדל
 
Wim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 TrainingWim Delrue - Trends in IPv6 Training
Wim Delrue - Trends in IPv6 Training
IPv6 Conference
 
Modern App Development with Oracle Cloud
Modern App Development with Oracle CloudModern App Development with Oracle Cloud
Modern App Development with Oracle Cloud
Juan 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 protocol
Michal 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 handling
Olle 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 PSTN
Olle 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 2019
Olle 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 stuff
Olle E Johansson
 
Kamailio on air
Kamailio on airKamailio on air
Kamailio on air
Olle 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 network
Olle E Johansson
 
The Realtime Story - part 2
The Realtime Story - part 2The Realtime Story - part 2
The Realtime Story - part 2
Olle E Johansson
 
Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016Sip2016 - a talk at VOIP2DAY 2016
Sip2016 - a talk at VOIP2DAY 2016
Olle 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 protocol
Olle 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
 
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
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 SIP
Olle 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 IPv6
Olle 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 time
Olle E Johansson
 
TCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: ManifestoTCP/IP geeks Stockholm :: Manifesto
TCP/IP geeks Stockholm :: Manifesto
Olle 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.2
Olle 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 TLS
Olle 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)
 
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
 
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
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 

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