sems sbc - kamailio · sems sbc stefan sayer ceo, frafos gmbh 10 years ser conference, 02.09.2011
TRANSCRIPT
![Page 1: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/1.jpg)
SEMS SBC
Stefan SayerCEO, FRAFOS GmbH
10 years SER conference, 02.09.2011
![Page 2: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/2.jpg)
2
Contents
● SEMS and SBC introduction
● SBC from user's POV
● Architecture and comparison to SER
![Page 3: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/3.jpg)
3
SEMS history
● Started 2002 at MOBIS/iptel.org group as media server for SER-based VoIP
● 2002 – 2005 @ FOKUS● 2005 – 2008 @ iptelorg/Tekelec● 2007 – 2010 @ IPTEGO● Since 2010 @ FRAFOS
![Page 4: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/4.jpg)
4
SEMS - What it is
● Application and Media server
● Focus on SIP
● Out of the box: announcements, RBT, voicemail, conferencing etc
● Powerful APIs: DSM state charts scripting, Python
![Page 5: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/5.jpg)
5
Dialog stateful?
Function Proxy B2BUA
Message manipulation √ √
Topology hiding √ √
Load balancing/routing √ √
Overload/DOS protection (√) √
CDR generation (√) √
RTP anchoring √
Transcoding √
Session Timer √
Prepaid √
SIP authentication √
![Page 6: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/6.jpg)
6
SEMS SBC
● High performance B2BUA● 500 CAPS with HA on small dual core servers
● Flexible profile based control of signaling details
● Rich media features
● Integrates well with prepaid billing, accounting, LCR
![Page 7: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/7.jpg)
7
SBC use cases
● NNI● UNI● Core call control B2BUA
![Page 8: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/8.jpg)
8
SBC profiles
● define SBC behaviour in profiles
SEMS SBC
#U 210.13.3.122:5080 -> 210.13.3.100:5060INVITE sip:[email protected] SIP/2.0From: “John” <sip:[email protected]>;tag=12To: “Clara” <[email protected]>Call-ID: 3cde5d1a960a-dez6oz34llo4...
#U 210.13.3.100:5060 -> 213.192.59.75:5060INVITE sip:[email protected] SIP/2.0From: <[email protected]>;tag=3213To: <sip:[email protected]>Call-ID: y76IIPf4UD68bb...
load_profiles=iptelechoactive_profile=iptelecho...
sbc.conf
URI=sip:[email protected]=<[email protected]>To=<sip:[email protected]>...
iptelecho.sbcprofile.conf
![Page 9: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/9.jpg)
9
Set RURI, From, To, Call-ID ...
SEMS SBC
#U 210.13.3.122:5080 -> 210.13.3.100:5060INVITE sip:[email protected] SIP/2.0From: “John” <sip:[email protected]>;tag=12To: “Clara” <[email protected]>Call-ID: 3cde5d1a960a-dez6oz34llo4...
#U 210.13.3.100:5060 -> 213.192.59.75:5060INVITE sip:[email protected] SIP/2.0From: <[email protected]>;tag=3213To: <sip:[email protected]>Call-ID: 3cde5d1a960a-dez6oz34llo4_leg2...
[email protected]=<[email protected]>To=<sip:[email protected]>Call-ID=$ci_leg2...
set_fromto.sbcprofile.conf
knownSERpseudo-variables
![Page 10: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/10.jpg)
10
Replacement patterns
● RURI, From, To, PAI, PPI ($r, $f, $t, $a, $p)
● Call-ID ($ci)
● src, dst IP address/port ($si, $pi, $Ri, $Rp)
● P-App-Param hdr parameter ($P(myparam))
● Header value ($H(P-My-Header))
● Map any value via regexp ($M(val=>map))
![Page 11: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/11.jpg)
11
Control SBC from proxy
SEMS SBC
#U 210.13.3.122:5080 -> 210.13.3.100:5060INVITE sip:[email protected] SIP/2.0From: “John” <sip:[email protected]>;tag=12To: “Clara” <[email protected]>Call-ID: 3cde5d1a960a-dez6oz34llo4P-Enable-RTPRelay: noP-Enable-SST: yes...
#U 210.13.3.100:5060 -> 213.192.59.75:5060INVITE sip:[email protected] SIP/2.0From: <[email protected]>;tag=3213To: <sip:[email protected]>Call-ID: 3cde5d1a960a-dez6oz34llo4_leg2Session-Expires: 300...
...enable_rtprelay=$H(P-Enable-RTPRrelay)enable_session_timer=$H(P-Enable-SST)...
dynamic_rtprelay_sst.sbcprofile.conf
![Page 12: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/12.jpg)
12
Signaling Features
● From, To, RURI, Contact, Call-ID manipulation● Adding headers● Header and message filter● Reply code translation● SIP authentication● SIP Session Timer● Call Timer● Prepaid accounting
![Page 13: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/13.jpg)
13
Media features
● RTP anchoring● NAT traversal● Symmetric RTP (comedia style)● Physical network separation● Codec filter● SDP normalization
![Page 14: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/14.jpg)
14
Profile selection
● Static● active_profile=static_config
● Pseudo-var● active_profile=$rU
● Mapping● active_profile=$M(val=>map)
● Select first matched● active_profile=$M($si=>ipmap),
$M($ru=>urimap),$H(P-SBCProfile),refuse
^10\.0\..*=>internal1^10\.1\..*=>internal2
ipmap.conf
iptel.org=>iptelfliptel.com=>fliptel
urimap.conf
![Page 15: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/15.jpg)
15
Manage
● sems-sbc-* tools● get and set active profile● load and reload profiles● load and reload mappings
● Track profile versions with MD5 hash
● Get statistics from monitoring module
![Page 16: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/16.jpg)
16
A look inside: SER vs. SEMS
SER SEMS
language C C++, C
module API callbacks polymorphism
msg structures C struct, lumps Objects in STL containers
dialog container linked list STL map (balanced RB-tree)
execution model processes threads
serialization refcount and locking per-dialog event queues
RTP handling external processes integrated media engine
![Page 17: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/17.jpg)
17
Processing model
● Signaling: Async, one thread per call or thread pool
● Media: Sync, Thread pool
UDP
receiver/msg parserthreads
Session Container
event processing
sessioneventqueues
otherevent sources
RTP processing pool
![Page 18: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/18.jpg)
18
SEMS B2BUA architecture
● Two complete, separate instances of SIP dialog handling
DIALOG DIALOG
SIP message SIP messageevent
![Page 19: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/19.jpg)
19
Session Timers
● Use UPDATE or re-INVITE for refresh● SST and timer values per leg● Try to have e2e refresh
SST: refresh!Re-INVITE
SDP changed?
event:sessionchanged
200
Re-INVITE
200
![Page 20: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/20.jpg)
20
FRAFOS: HA setup
● Save call state in redis DB
● Replication to standby server
● Transparent fail-over
![Page 21: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/21.jpg)
21
In the pipeline...
● Multi-profile matching and composition
● Load monitoring and SLA control
● OAM web interface
● Transcoding
![Page 22: SEMS SBC - Kamailio · SEMS SBC Stefan Sayer CEO, FRAFOS GmbH 10 years SER conference, 02.09.2011](https://reader033.vdocuments.site/reader033/viewer/2022050504/5f95f84ecb75e706836d71af/html5/thumbnails/22.jpg)
Thank You.