SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
SIP Express Media Server
SBC
KamailioWorld 2014
Stefan Sayer, CTO FRAFOS GmbH
stefan.sayer@frafos.com
VoIP Services Consulting and Development
email/xmpp:stefan.sayer@gmail.com
2
Contents
● The SIP Express Media Server
● SEMS SBC
…....................... snip ….......................
● #MoreCrypto
3
SEMS
● Originates from the same team as SER
(Kamailio/OpenSER/...) at Fraunhofer FOKUS
● SIP Media and Application Server
● Developed at various related companies
(iptelorg, IPTEGO, ...)
● Since 2010 mainly at FRAFOS
● Open Source community since 2003
4
FRAFOS ABC SBC
● Full-fledged SBC, turn-key solution
● Border security, monitoring, SIP control and
mediation, registration offload, transcoding etc
● Software only, on FRAFOS-provided hardware
or virtualized deployment (incl EC2)
● HA with active-hot standby (SIP+RTP)
● 100% rule based administration through GUI
● Application offloading and integration
through open APIs and programming
platform
● WebRTC gateway
5
ABC SBC - GUI
6
SEMS project focus
● Telecoms applications, carrier environment
 High volume prompts, voicemail, conferencing, …
 B2BUA / SBC
● Speed and reliability
● Only SIP, not multi-protocol (almost)
● Versatile and easy to use app server for SIP
networks
● Built for purpose
7
SEMS use cases
8
SEMS SBC application
● B2BUA, completely transparent to fully opaque
● Handles SIP and (optional) RTP
● Flexible and programmable
● ”The Swiss Army Knife of call stateful SIP
processing”
9
SEMS SBC features
● B2BUA, network separation
● SIP message manipulation & mediation,
header/message filter
● SIP NAT handling, TCP/UDP, DNS SRV
w/failover
● SST enforcement
● Registration Caching
● SIP client auth
● CDR generation, call timer, parallel call limits,
prepaid, ...
10
SBC: media features
● RTP relaying
● Near & far end NAT traversal
● Codec filter, SDP filter
● Transcoding
11
SBC: Profile based control
SEMS SBC
#
U 210.13.3.122:5080 -> 210.13.3.100:5060
INVITE sip:+49123@osbc1.mynet.net SIP/2.0
From: “John” <sip:+431556221@mynet.net>;tag=12
To: “Clara” <+49123@mynet.net>
Call-ID: 3cde5d1a960a-dez6oz34llo4
...
#
U 210.13.3.100:5060 -> 213.192.59.75:5060
INVITE sip:+49123@sbc1.mypeer.net SIP/2.0
From: <+431556221@mynet.net>;tag=3213
To: <sip:+49123@mypeer.net>
Call-ID: 3cde5d1a960a-dez6oz34llo4_leg2
...
URI=$tU@sbc1.mypeer.net
From=<$fU@mynet.net>
To=<sip:$tU@mypeer.net>
Call-ID=$ci_leg2
enable_rtprelay=yes
set_fromto.sbcprofile.conf
known
SER
pseudo-variables
12
SBC example: auth_b2b
● Identity change
● SIP auth upstream
● Set e.g. In headers
 $P(name) selects
name from P-App-Param
RURI=sip:$rU@$P(d)
From=""$P(u)" <sip:$P(u)@$P(d)>"
To=""$rU" <sip:$rU@$P(d)>"
enable_auth=yes
auth_user=$P(u)
auth_pwd=$P(p)
auth_b2b.sbcprofile.conf
Test:
13
Some profile options
RURI=$r
From=$f
To=$t
Contact=<sip:$Ri>
Call-ID=$ci_leg2
outbound_proxy=sip:192.168.5.106:5060
force_outbound_proxy=yes
next_hop=192.168.5.106:5060
outbound_interface=extern
enable_reg_caching=yes
min_reg_expires=3600
max_ua_expires=60
dlg_nat_handling=yes
enable_rtprelay=yes
rtprelay_force_symmetric_rtp=yes
aleg_rtprelay_interface=intern
rtprelay_interface=default
header_filter=blacklist
header_list=P-App-Param,P-App-Name
sdp_filter=whitelist
sdpfilter_list=g729,g723,ilbc,speex,gsm
append_headers="P-Src-IP: $sirn"
enable_session_timer=yes
session_expires=120
minimum_timer=90
enable_auth=yes
auth_user=$P(u)
auth_pwd=$P(p)
…
14
SBC: programmability
● Modules included e.g.
 Blacklist from REDIS: bl_redis
 SIP/feature control from http (REST) API: rest
● Simple Call Control API - start()/connect()/end()
● Extended Call Control API
 Control each message in detail
 Switch call legs PBX style, e.g. Mid-call prompts
 Program also with DSM script
15
SBC programmability example
switch
B2B
to
local media
processing
16
E stands for Express?
USE_THREADPOOL=yes
MAX_RTP_SESSIONS=...
Makefile.defs:
● Excellent signaling performance
● RTP: fills 2x1 GbE to ~55% line rate (G711)
 Limit: high PPS (loss NIC-kernel)
 Perf testing without packet loss detection is
meaningless!
● tuning:
session_processor_threads=32
media_processor_threads=32
rtp_receiver_threads=32
sip_server_threads=16
/etc/sems/sems.conf:
ulimit -n 100000
/etc/init.d/sems:
start with cores x 2
● HT on/off
17
#MoreCrypto - Motivation
● Too much centralization of power is dangerous
 e.g. see Joseph Nacchio case
● Who is going to participate in society and
politics in a 100% controlled Orwellian state
with ubiquituous surveillance?
● I want to live in a free society under rule of law
 Secret laws with secret courts are NOT rule of law
● Where people also contribute to common good
 Not only to the interests of rich & powerful few
18
#MoreCrypto - WebRTC
● Widespread consumer use of encryption with
DTLS-SRTP
● Great VoIP UA stack in browser and mobile
 e.g. webrtc for android app anyone?
● FRAFOS ABC SBC
 WebRTC-gateway (to vanilla-SIP)
 TLS, SDES/SRTP & DTLS-SRTP, ICE in SEMS
19
#MoreCrypto - RedPhone
● Android VoIP app with ZRTP from Open
Whisper Systems (makers of TextSecure)
● Elegant app, doesn't get in your way
● Signaling: HTTP-websocket-ish
relay.whispersystems.org
HTTPS Initiate:
(GET +491234567)
Google CGM or SMS
Initiate via PUSH or SMS:
GET +491234567
rtprelay1
...
rtprelay1.whispersystems.org
200 OK
rtprelay1
...
NAT open (UDP) NAT open (UDP)
HTTPS: Ringing ...
ZRTP
ZRTP
20
#MoreCrypto - RedPhone-SIP-GW
● Based on SEMS, DSM, mod_httpd
● Challenges
 Extend libmicrohttpd with websockets
 Testing on real Android instead of simulator
 Will have to implement codec (PT) negotiation
● WIP – need help!
 Join OWS ML, join dev @github/sanchi/, PM
21
#MoreCrypto - #redecentralize
● Need to decentralize signaling (as in p2psip)
 Each user her own DNS domain too complex
 Location DB on P2P overlay (MaidSafe?)
● Distributed NAT handling (ICE, TURN)
 Use friend's, or FOAF's server as turn server?
● Call hash(pubkey) instead of name/telnr
● Keys from namecoin, DNS, keyserver,
webfinger, QR-code, NFC …
● Add to Freedombox, ArkOS?
22
Questions?
Thanks for your attention.
23
Links and References
● SEMS homepage: http://iptel.org/sems
● Code: sems repo at git.sip-router.org
● DSM documentation
http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sems;a=tree;f=doc/dsm
● FRAFOS website: www.frafos.com

Weitere ähnliche Inhalte

Was ist angesagt?

Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionOlle E Johansson
 
VoIP - Cisco CME &amp; IP Communicator
VoIP - Cisco CME &amp; IP CommunicatorVoIP - Cisco CME &amp; IP Communicator
VoIP - Cisco CME &amp; IP Communicatorchinmaypadhye1985
 
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAlessandro Polidori
 
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIEnablex io
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsToradex
 
VoIP security: Implementation and Protocol Problems
VoIP security: Implementation and Protocol ProblemsVoIP security: Implementation and Protocol Problems
VoIP security: Implementation and Protocol Problemsseanhn
 
Troubleshooting Firewalls (2012 San Diego)
Troubleshooting Firewalls (2012 San Diego)Troubleshooting Firewalls (2012 San Diego)
Troubleshooting Firewalls (2012 San Diego)Cisco Security
 
2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cmeYves Jean Louis
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesCisco DevNet
 
Nagios Conference 2011 - Mike Weber - Training: Choosing Nagios Plugins To Use
Nagios Conference 2011 - Mike Weber  - Training: Choosing Nagios Plugins To UseNagios Conference 2011 - Mike Weber  - Training: Choosing Nagios Plugins To Use
Nagios Conference 2011 - Mike Weber - Training: Choosing Nagios Plugins To UseNagios
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsDaniel-Constantin Mierla
 
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
 
02 asterisk - the future of telecommunications
02   asterisk - the future of telecommunications02   asterisk - the future of telecommunications
02 asterisk - the future of telecommunicationsTran Thanh
 
FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateOlle E Johansson
 
VYOS & RPKI at the BGP as edge
VYOS & RPKI at the BGP as edgeVYOS & RPKI at the BGP as edge
VYOS & RPKI at the BGP as edgeFaelix Ltd
 
SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)Olle E Johansson
 

Was ist angesagt? (20)

Kamailio :: A Quick Introduction
Kamailio :: A Quick IntroductionKamailio :: A Quick Introduction
Kamailio :: A Quick Introduction
 
Webrtc overview
Webrtc overviewWebrtc overview
Webrtc overview
 
VoIP - Cisco CME &amp; IP Communicator
VoIP - Cisco CME &amp; IP CommunicatorVoIP - Cisco CME &amp; IP Communicator
VoIP - Cisco CME &amp; IP Communicator
 
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus GatewayAsterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
Asterisk WebRTC frontier: make client SIP Phone with sipML5 and Janus Gateway
 
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video APIDevelop Smart Solutions with Raspberry Pi and EnableX Live Video API
Develop Smart Solutions with Raspberry Pi and EnableX Live Video API
 
Cipc
CipcCipc
Cipc
 
How to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux SystemsHow to Use GSM/3G/4G in Embedded Linux Systems
How to Use GSM/3G/4G in Embedded Linux Systems
 
VoIP security: Implementation and Protocol Problems
VoIP security: Implementation and Protocol ProblemsVoIP security: Implementation and Protocol Problems
VoIP security: Implementation and Protocol Problems
 
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
 
Troubleshooting Firewalls (2012 San Diego)
Troubleshooting Firewalls (2012 San Diego)Troubleshooting Firewalls (2012 San Diego)
Troubleshooting Firewalls (2012 San Diego)
 
2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme2+ipt+configuring cisco-cme
2+ipt+configuring cisco-cme
 
NETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network DevicesNETCONF & YANG Enablement of Network Devices
NETCONF & YANG Enablement of Network Devices
 
Nagios Conference 2011 - Mike Weber - Training: Choosing Nagios Plugins To Use
Nagios Conference 2011 - Mike Weber  - Training: Choosing Nagios Plugins To UseNagios Conference 2011 - Mike Weber  - Training: Choosing Nagios Plugins To Use
Nagios Conference 2011 - Mike Weber - Training: Choosing Nagios Plugins To Use
 
Kamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication PlatformsKamailio - Large Unified Communication Platforms
Kamailio - Large Unified Communication Platforms
 
Kamailio - SIP Servers Everywhere
Kamailio - SIP Servers EverywhereKamailio - SIP Servers Everywhere
Kamailio - SIP Servers Everywhere
 
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
 
02 asterisk - the future of telecommunications
02   asterisk - the future of telecommunications02   asterisk - the future of telecommunications
02 asterisk - the future of telecommunications
 
FOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication UpdateFOSS Sthlm: Realtime Communication Update
FOSS Sthlm: Realtime Communication Update
 
VYOS & RPKI at the BGP as edge
VYOS & RPKI at the BGP as edgeVYOS & RPKI at the BGP as edge
VYOS & RPKI at the BGP as edge
 
SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)SIPCORE - presentation of SIP and DANE (IETF #89)
SIPCORE - presentation of SIP and DANE (IETF #89)
 

Andere mochten auch

Kamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleKamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleDaniel-Constantin Mierla
 
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalità
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalitàWebinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalità
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalitàNetgear Italia
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCMoises Silva
 
Welcome to IP Surveillance 101
Welcome to IP Surveillance 101Welcome to IP Surveillance 101
Welcome to IP Surveillance 101grantsupplies
 
Application of fiber optic communication
Application of fiber optic communicationApplication of fiber optic communication
Application of fiber optic communicationlaksh333
 
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersMWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersDialogic Inc.
 
Streaming Media Server Setup Manual
Streaming Media Server Setup ManualStreaming Media Server Setup Manual
Streaming Media Server Setup ManualWilliam Lee
 
8 the path to voice over lte - vo lte
8 the path to voice over lte - vo lte8 the path to voice over lte - vo lte
8 the path to voice over lte - vo lteCPqD
 
Fiber Optics Course
Fiber Optics Course Fiber Optics Course
Fiber Optics Course Ahmed OM
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialTsahi Levent-levi
 

Andere mochten auch (14)

Kamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With StyleKamailio - Surfing Big Waves Of SIP With Style
Kamailio - Surfing Big Waves Of SIP With Style
 
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalità
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalitàWebinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalità
Webinar NETGEAR - Prosafe Smart Switch, caratteristiche e funzionalità
 
Kamailio Updates - VUC 588
Kamailio Updates - VUC 588Kamailio Updates - VUC 588
Kamailio Updates - VUC 588
 
Gadgeon profile
Gadgeon profileGadgeon profile
Gadgeon profile
 
Arxtech Line Card -En
Arxtech Line Card -EnArxtech Line Card -En
Arxtech Line Card -En
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 
Welcome to IP Surveillance 101
Welcome to IP Surveillance 101Welcome to IP Surveillance 101
Welcome to IP Surveillance 101
 
Application of fiber optic communication
Application of fiber optic communicationApplication of fiber optic communication
Application of fiber optic communication
 
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media ServersMWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
MWC Barcelona WebRTC Meetup 2015 - Scaling WebRTC with Media Servers
 
Ngn
NgnNgn
Ngn
 
Streaming Media Server Setup Manual
Streaming Media Server Setup ManualStreaming Media Server Setup Manual
Streaming Media Server Setup Manual
 
8 the path to voice over lte - vo lte
8 the path to voice over lte - vo lte8 the path to voice over lte - vo lte
8 the path to voice over lte - vo lte
 
Fiber Optics Course
Fiber Optics Course Fiber Optics Course
Fiber Optics Course
 
Baby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC TutorialBaby Steps: A WebRTC Tutorial
Baby Steps: A WebRTC Tutorial
 

Ähnlich wie SIP Express Media Server SBC application as powerful SBC and SIP toolbox

Fosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcFosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcstefansayer
 
The FRAFOS ABC SBC WebRTC gateway
The FRAFOS ABC SBC WebRTC gateway The FRAFOS ABC SBC WebRTC gateway
The FRAFOS ABC SBC WebRTC gateway stefansayer
 
2014 innovaphone different protocols for different things
2014 innovaphone different protocols for different things2014 innovaphone different protocols for different things
2014 innovaphone different protocols for different thingsVOIP2DAY
 
WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017Juan De Bravo
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCQuobis
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.Sumutiu Marius
 
Scanning The Intertubes For Voip
Scanning The Intertubes For VoipScanning The Intertubes For Voip
Scanning The Intertubes For VoipSandro Gauci
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDaniel-Constantin Mierla
 
Far South Networks - an introduction
Far South Networks - an introductionFar South Networks - an introduction
Far South Networks - an introductionClarotech_Events
 
SIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisSIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisAlan Quayle
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskSameer Verma
 
LinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellLinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellMatt Bynum
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011telestax
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker建澄 吳
 

Ähnlich wie SIP Express Media Server SBC application as powerful SBC and SIP toolbox (20)

Fosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbcFosdem2012 sayer-sems-sbc
Fosdem2012 sayer-sems-sbc
 
The FRAFOS ABC SBC WebRTC gateway
The FRAFOS ABC SBC WebRTC gateway The FRAFOS ABC SBC WebRTC gateway
The FRAFOS ABC SBC WebRTC gateway
 
2014 innovaphone different protocols for different things
2014 innovaphone different protocols for different things2014 innovaphone different protocols for different things
2014 innovaphone different protocols for different things
 
WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017WebRTC meetup barcelona 2017
WebRTC meetup barcelona 2017
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
An hour with WebRTC FIC UDC
An hour with WebRTC FIC UDCAn hour with WebRTC FIC UDC
An hour with WebRTC FIC UDC
 
BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.BlackHat Hacking - Hacking VoIP.
BlackHat Hacking - Hacking VoIP.
 
Scanning The Intertubes For Voip
Scanning The Intertubes For VoipScanning The Intertubes For Voip
Scanning The Intertubes For Voip
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
Far South Networks - an introduction
Far South Networks - an introductionFar South Networks - an introduction
Far South Networks - an introduction
 
SIPPO Datasheet from Quobis
SIPPO Datasheet from QuobisSIPPO Datasheet from Quobis
SIPPO Datasheet from Quobis
 
Testing
TestingTesting
Testing
 
DevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSocketsDevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSockets
 
Vinay's_profile
Vinay's_profileVinay's_profile
Vinay's_profile
 
Voice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using AsteriskVoice over Internet Protocol (VoIP) using Asterisk
Voice over Internet Protocol (VoIP) using Asterisk
 
LinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source WellLinuxCon North America: SIPPing from the Open Source Well
LinuxCon North America: SIPPing from the Open Source Well
 
voip_en
voip_envoip_en
voip_en
 
From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011From MSS to TelScale - Mobicents Summit 2011
From MSS to TelScale - Mobicents Summit 2011
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 

Mehr von stefansayer

WebRTC: Why and How?
WebRTC: Why and How?WebRTC: Why and How?
WebRTC: Why and How?stefansayer
 
FRAFOS ABC Session Border Controller
FRAFOS ABC Session Border ControllerFRAFOS ABC Session Border Controller
FRAFOS ABC Session Border Controllerstefansayer
 
Understanding Session Border Controllers
Understanding Session Border ControllersUnderstanding Session Border Controllers
Understanding Session Border Controllersstefansayer
 
Frafos ABC SBC - Secure peering
Frafos ABC SBC - Secure peeringFrafos ABC SBC - Secure peering
Frafos ABC SBC - Secure peeringstefansayer
 
FRAFOS Secure Session Border Control
FRAFOS Secure Session Border ControlFRAFOS Secure Session Border Control
FRAFOS Secure Session Border Controlstefansayer
 
12 vladimir.broz-sems-sbc
12 vladimir.broz-sems-sbc12 vladimir.broz-sems-sbc
12 vladimir.broz-sems-sbcstefansayer
 

Mehr von stefansayer (6)

WebRTC: Why and How?
WebRTC: Why and How?WebRTC: Why and How?
WebRTC: Why and How?
 
FRAFOS ABC Session Border Controller
FRAFOS ABC Session Border ControllerFRAFOS ABC Session Border Controller
FRAFOS ABC Session Border Controller
 
Understanding Session Border Controllers
Understanding Session Border ControllersUnderstanding Session Border Controllers
Understanding Session Border Controllers
 
Frafos ABC SBC - Secure peering
Frafos ABC SBC - Secure peeringFrafos ABC SBC - Secure peering
Frafos ABC SBC - Secure peering
 
FRAFOS Secure Session Border Control
FRAFOS Secure Session Border ControlFRAFOS Secure Session Border Control
FRAFOS Secure Session Border Control
 
12 vladimir.broz-sems-sbc
12 vladimir.broz-sems-sbc12 vladimir.broz-sems-sbc
12 vladimir.broz-sems-sbc
 

Kürzlich hochgeladen

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 
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
 
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
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Kürzlich hochgeladen (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech 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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

SIP Express Media Server SBC application as powerful SBC and SIP toolbox

  • 1. SIP Express Media Server SBC KamailioWorld 2014 Stefan Sayer, CTO FRAFOS GmbH stefan.sayer@frafos.com VoIP Services Consulting and Development email/xmpp:stefan.sayer@gmail.com
  • 2. 2 Contents ● The SIP Express Media Server ● SEMS SBC …....................... snip …....................... ● #MoreCrypto
  • 3. 3 SEMS ● Originates from the same team as SER (Kamailio/OpenSER/...) at Fraunhofer FOKUS ● SIP Media and Application Server ● Developed at various related companies (iptelorg, IPTEGO, ...) ● Since 2010 mainly at FRAFOS ● Open Source community since 2003
  • 4. 4 FRAFOS ABC SBC ● Full-fledged SBC, turn-key solution ● Border security, monitoring, SIP control and mediation, registration offload, transcoding etc ● Software only, on FRAFOS-provided hardware or virtualized deployment (incl EC2) ● HA with active-hot standby (SIP+RTP) ● 100% rule based administration through GUI ● Application offloading and integration through open APIs and programming platform ● WebRTC gateway
  • 6. 6 SEMS project focus ● Telecoms applications, carrier environment  High volume prompts, voicemail, conferencing, …  B2BUA / SBC ● Speed and reliability ● Only SIP, not multi-protocol (almost) ● Versatile and easy to use app server for SIP networks ● Built for purpose
  • 8. 8 SEMS SBC application ● B2BUA, completely transparent to fully opaque ● Handles SIP and (optional) RTP ● Flexible and programmable ● ”The Swiss Army Knife of call stateful SIP processing”
  • 9. 9 SEMS SBC features ● B2BUA, network separation ● SIP message manipulation & mediation, header/message filter ● SIP NAT handling, TCP/UDP, DNS SRV w/failover ● SST enforcement ● Registration Caching ● SIP client auth ● CDR generation, call timer, parallel call limits, prepaid, ...
  • 10. 10 SBC: media features ● RTP relaying ● Near & far end NAT traversal ● Codec filter, SDP filter ● Transcoding
  • 11. 11 SBC: Profile based control SEMS SBC # U 210.13.3.122:5080 -> 210.13.3.100:5060 INVITE sip:+49123@osbc1.mynet.net SIP/2.0 From: “John” <sip:+431556221@mynet.net>;tag=12 To: “Clara” <+49123@mynet.net> Call-ID: 3cde5d1a960a-dez6oz34llo4 ... # U 210.13.3.100:5060 -> 213.192.59.75:5060 INVITE sip:+49123@sbc1.mypeer.net SIP/2.0 From: <+431556221@mynet.net>;tag=3213 To: <sip:+49123@mypeer.net> Call-ID: 3cde5d1a960a-dez6oz34llo4_leg2 ... URI=$tU@sbc1.mypeer.net From=<$fU@mynet.net> To=<sip:$tU@mypeer.net> Call-ID=$ci_leg2 enable_rtprelay=yes set_fromto.sbcprofile.conf known SER pseudo-variables
  • 12. 12 SBC example: auth_b2b ● Identity change ● SIP auth upstream ● Set e.g. In headers  $P(name) selects name from P-App-Param RURI=sip:$rU@$P(d) From=""$P(u)" <sip:$P(u)@$P(d)>" To=""$rU" <sip:$rU@$P(d)>" enable_auth=yes auth_user=$P(u) auth_pwd=$P(p) auth_b2b.sbcprofile.conf Test:
  • 14. 14 SBC: programmability ● Modules included e.g.  Blacklist from REDIS: bl_redis  SIP/feature control from http (REST) API: rest ● Simple Call Control API - start()/connect()/end() ● Extended Call Control API  Control each message in detail  Switch call legs PBX style, e.g. Mid-call prompts  Program also with DSM script
  • 16. 16 E stands for Express? USE_THREADPOOL=yes MAX_RTP_SESSIONS=... Makefile.defs: ● Excellent signaling performance ● RTP: fills 2x1 GbE to ~55% line rate (G711)  Limit: high PPS (loss NIC-kernel)  Perf testing without packet loss detection is meaningless! ● tuning: session_processor_threads=32 media_processor_threads=32 rtp_receiver_threads=32 sip_server_threads=16 /etc/sems/sems.conf: ulimit -n 100000 /etc/init.d/sems: start with cores x 2 ● HT on/off
  • 17. 17 #MoreCrypto - Motivation ● Too much centralization of power is dangerous  e.g. see Joseph Nacchio case ● Who is going to participate in society and politics in a 100% controlled Orwellian state with ubiquituous surveillance? ● I want to live in a free society under rule of law  Secret laws with secret courts are NOT rule of law ● Where people also contribute to common good  Not only to the interests of rich & powerful few
  • 18. 18 #MoreCrypto - WebRTC ● Widespread consumer use of encryption with DTLS-SRTP ● Great VoIP UA stack in browser and mobile  e.g. webrtc for android app anyone? ● FRAFOS ABC SBC  WebRTC-gateway (to vanilla-SIP)  TLS, SDES/SRTP & DTLS-SRTP, ICE in SEMS
  • 19. 19 #MoreCrypto - RedPhone ● Android VoIP app with ZRTP from Open Whisper Systems (makers of TextSecure) ● Elegant app, doesn't get in your way ● Signaling: HTTP-websocket-ish relay.whispersystems.org HTTPS Initiate: (GET +491234567) Google CGM or SMS Initiate via PUSH or SMS: GET +491234567 rtprelay1 ... rtprelay1.whispersystems.org 200 OK rtprelay1 ... NAT open (UDP) NAT open (UDP) HTTPS: Ringing ... ZRTP ZRTP
  • 20. 20 #MoreCrypto - RedPhone-SIP-GW ● Based on SEMS, DSM, mod_httpd ● Challenges  Extend libmicrohttpd with websockets  Testing on real Android instead of simulator  Will have to implement codec (PT) negotiation ● WIP – need help!  Join OWS ML, join dev @github/sanchi/, PM
  • 21. 21 #MoreCrypto - #redecentralize ● Need to decentralize signaling (as in p2psip)  Each user her own DNS domain too complex  Location DB on P2P overlay (MaidSafe?) ● Distributed NAT handling (ICE, TURN)  Use friend's, or FOAF's server as turn server? ● Call hash(pubkey) instead of name/telnr ● Keys from namecoin, DNS, keyserver, webfinger, QR-code, NFC … ● Add to Freedombox, ArkOS?
  • 23. 23 Links and References ● SEMS homepage: http://iptel.org/sems ● Code: sems repo at git.sip-router.org ● DSM documentation http://git.sip-router.org/cgi-bin/gitweb.cgi?p=sems;a=tree;f=doc/dsm ● FRAFOS website: www.frafos.com