SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
SIP Testing with FreeSWITCH
Report
Moises Silva
Follow
Staff Software Engineer, LogMeIn at LogMeIn Inc
Aug. 7, 2013
•
0 likes
•
11,238 views
1
of
46
SIP Testing with FreeSWITCH
Aug. 7, 2013
•
0 likes
•
11,238 views
Download Now
Download to read offline
Report
Technology
Business
Introduction to testing SIP services and products with sipp and FreeSWITCH
Moises Silva
Follow
Staff Software Engineer, LogMeIn at LogMeIn Inc
Recommended
FreeSWITCH as a Kickass SBC
Moises Silva
12.8K views
•
42 slides
Media Handling in FreeSWITCH
Moises Silva
9.3K views
•
35 slides
Introduction to FreeSWITCH
Chien Cheng Wu
2.5K views
•
18 slides
Scaling FreeSWITCH Performance
Moises Silva
14.5K views
•
39 slides
SIPREC RTPEngine Media Forking
Hossein Yavari
541 views
•
13 slides
SIP Attack Handling (Kamailio World 2021)
Fred Posner
540 views
•
33 slides
More Related Content
What's hot
FreeSWITCH on Docker
建澄 吳
6.2K views
•
23 slides
Kamailio - API Based SIP Routing
Daniel-Constantin Mierla
8.2K views
•
41 slides
Kamailio, FreeSWITCH, and You
Fred Posner
377 views
•
29 slides
Getting started with SIP Express Media Server SIP app server and SBC - workshop
stefansayer
4.1K views
•
48 slides
FreeSWITCH Modules for Asterisk Developers
Moises Silva
3.9K views
•
41 slides
FreeSWITCH as a Microservice
Evan McGee
3.3K views
•
24 slides
What's hot
(20)
FreeSWITCH on Docker
建澄 吳
•
6.2K views
Kamailio - API Based SIP Routing
Daniel-Constantin Mierla
•
8.2K views
Kamailio, FreeSWITCH, and You
Fred Posner
•
377 views
Getting started with SIP Express Media Server SIP app server and SBC - workshop
stefansayer
•
4.1K views
FreeSWITCH Modules for Asterisk Developers
Moises Silva
•
3.9K views
FreeSWITCH as a Microservice
Evan McGee
•
3.3K views
Kamailio on Docker
Chien Cheng Wu
•
3.4K views
Kamailio :: A Quick Introduction
Olle E Johansson
•
46.7K views
Three Ways Kamailio Can Help Your FreeSWITCH Deployment
Fred Posner
•
861 views
Session Initiation Protocol
Matt Bynum
•
7.3K views
rtpengine - Media Relaying and Beyond
Andreas Granig
•
2.2K views
Expanding Asterisk with Kamailio
Fred Posner
•
5.8K views
Sangoma SBC Training Presentation
Empatiq İletişim Teknolojileri AŞ.
•
4.5K views
FreeSWITCH Monitoring
Moises Silva
•
6.1K views
Astricon 10 (October 2013) - SIP over WebSocket on Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
•
6.3K views
Kamailio - Load Balancing Load Balancers
Daniel-Constantin Mierla
•
4K views
Kamailio - Secure Communication
Daniel-Constantin Mierla
•
3.6K views
FreeSWITCH Cluster by K8s
Chien Cheng Wu
•
2.7K views
Kamailio, FreeSWITCH, and the Half-Blood Prince
Fred Posner
•
284 views
Using GTP on Linux with libgtpnl
Kentaro Ebisawa
•
6.4K views
Viewers also liked
Architettura VoIP con FreeSWITCH + gazzurbo
Alessandro Antani
1.5K views
•
53 slides
Vale, Asterisk sirve para llamar... ¿o para algo más?
Saúl Ibarra Corretgé
1.2K views
•
17 slides
Qué hace tu Asterisk cuando no miras
Elio Rojano
4.5K views
•
45 slides
Proyecto Open Pi Phone
Saúl Ibarra Corretgé
6.7K views
•
37 slides
De SIP a WebRTC y vice versa
Saúl Ibarra Corretgé
4.2K views
•
57 slides
Introducción a Asterisk
Saúl Ibarra Corretgé
9.1K views
•
74 slides
Viewers also liked
(13)
Architettura VoIP con FreeSWITCH + gazzurbo
Alessandro Antani
•
1.5K views
Vale, Asterisk sirve para llamar... ¿o para algo más?
Saúl Ibarra Corretgé
•
1.2K views
Qué hace tu Asterisk cuando no miras
Elio Rojano
•
4.5K views
Proyecto Open Pi Phone
Saúl Ibarra Corretgé
•
6.7K views
De SIP a WebRTC y vice versa
Saúl Ibarra Corretgé
•
4.2K views
Introducción a Asterisk
Saúl Ibarra Corretgé
•
9.1K views
Jitsi: State of the Union
Saúl Ibarra Corretgé
•
2K views
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
tyntec
•
16.6K views
Tecnicas monitoreo reportes con Asterisk
Nicolás Gudiño
•
19.1K views
Linux Performance Tools
Brendan Gregg
•
232.7K views
開發人員不可不知的 Windows Container 容器技術預覽
Will Huang
•
8.8K views
Raspberry pi : an introduction
LTG Oxford
•
63.3K views
Raspberry pi
Anija Nair
•
122.8K views
Similar to SIP Testing with FreeSWITCH
TADHack Winner: Snappy Kamailio: Carnival of the Creators
Alan Quayle
443 views
•
11 slides
Snappy Kamailio
Daniel-Constantin Mierla
686 views
•
10 slides
Designing High Performance RTC Signaling Servers
Daniel-Constantin Mierla
542 views
•
27 slides
Attacking SAP users with sapsploit
ERPScan
869 views
•
52 slides
Securing IoT Applications
WSO2
1.9K views
•
48 slides
Implementation Lessons using WebRTC in Asterisk
Moises Silva
28.8K views
•
39 slides
Similar to SIP Testing with FreeSWITCH
(20)
TADHack Winner: Snappy Kamailio: Carnival of the Creators
Alan Quayle
•
443 views
Snappy Kamailio
Daniel-Constantin Mierla
•
686 views
Designing High Performance RTC Signaling Servers
Daniel-Constantin Mierla
•
542 views
Attacking SAP users with sapsploit
ERPScan
•
869 views
Securing IoT Applications
WSO2
•
1.9K views
Implementation Lessons using WebRTC in Asterisk
Moises Silva
•
28.8K views
Top 10 most interesting vulnerabilities and attacks in SAP
ERPScan
•
924 views
Integrating Application Security into a Software Development Process
Achim D. Brucker
•
715 views
SonarQube - Should I Stay or Should I Go ?
Geeks Anonymes
•
3.6K views
2016-Automation-Summit_PA_SIMIT.pdf
LuisJonathanBahamaca
•
22 views
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
Wlamir Molinari
•
5 views
Srikanth_PILLI_CV_latest
Srikanth Pilli
•
130 views
Fuzzing RTC @ Kamailio World 2019
Lorenzo Miniero
•
786 views
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
Crocodile WebRTC SDK and Cloud Signalling Network
•
1.4K views
Infosecurity.be 2019: What are relevant open source security tools you should...
B.A.
•
834 views
Streaming meetup
karthik_krk
•
441 views
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
mfrancis
•
1.1K views
OpenDataPlane Project
GlobalLogic Ukraine
•
1.4K views
Practical SAP pentesting workshop (NullCon Goa)
ERPScan
•
1.9K views
abhi
abhinay kumar
•
140 views
More from Moises Silva
Interfaces de Scripting para librerias en C
Moises Silva
1.3K views
•
41 slides
Vulnerabilidades en Aplicaciones Web PHP
Moises Silva
3.6K views
•
20 slides
Manejo de Medios en FreeSWITCH
Moises Silva
1.3K views
•
42 slides
FreeSWITCH: Asterisk con Esteroides
Moises Silva
7.1K views
•
42 slides
Negociacion de Codecs en Asterisk
Moises Silva
765 views
•
30 slides
Sangoma en el Ecosistema Open Source
Moises Silva
1.1K views
•
44 slides
More from Moises Silva
(9)
Interfaces de Scripting para librerias en C
Moises Silva
•
1.3K views
Vulnerabilidades en Aplicaciones Web PHP
Moises Silva
•
3.6K views
Manejo de Medios en FreeSWITCH
Moises Silva
•
1.3K views
FreeSWITCH: Asterisk con Esteroides
Moises Silva
•
7.1K views
Negociacion de Codecs en Asterisk
Moises Silva
•
765 views
Sangoma en el Ecosistema Open Source
Moises Silva
•
1.1K views
FreeTDM PRI Passive Recording
Moises Silva
•
2.3K views
Asterisk PRI Passive Call Recording
Moises Silva
•
3.3K views
OpenR2 in Asterisk
Moises Silva
•
1.5K views
Recently uploaded
h2 meet pdf test.pdf
JohnLee971654
64 views
•
4 slides
Google Cloud Study Jams Info Session
GDSCPCCE
74 views
•
13 slides
Product Research Presentation
DeahJadeArellano
25 views
•
13 slides
UiPath Tips and Techniques for Debugging - Session 3
DianaGray10
49 views
•
9 slides
Mule Meetup Calgary- API Governance & Conformance.pdf
NithaJoseph4
53 views
•
19 slides
Framing Few Shot Knowledge Graph Completion with Large Language Models
MODUL Technology GmbH
44 views
•
11 slides
Recently uploaded
(20)
h2 meet pdf test.pdf
JohnLee971654
•
64 views
Google Cloud Study Jams Info Session
GDSCPCCE
•
74 views
Product Research Presentation
DeahJadeArellano
•
25 views
UiPath Tips and Techniques for Debugging - Session 3
DianaGray10
•
49 views
Mule Meetup Calgary- API Governance & Conformance.pdf
NithaJoseph4
•
53 views
Framing Few Shot Knowledge Graph Completion with Large Language Models
MODUL Technology GmbH
•
44 views
Chandrayaan 3.pptx
PrasunJha12
•
31 views
Machine learning with quantum computers
Speck&Tech
•
104 views
Cloud Composer workshop at Airflow Summit 2023.pdf
Leah Cole
•
94 views
Mastering Automation Quality: Exploring UiPath's Test Suite for Seamless Test...
DianaGray10
•
38 views
"Building Asynchronous SOA for Modern Applications", Sai Pragna Etikyala
Fwdays
•
26 views
CamundaCon NYC 2023 Keynote - Shifting into overdrive with process orchestration
Bernd Ruecker
•
40 views
How is AI changing journalism? Strategic considerations for publishers and ne...
Damian Radcliffe
•
117 views
Product Research Presentation-Maidy Veloso.pptx
MaidyVeloso
•
22 views
How to reduce expenses on monitoring
RomanKhavronenko
•
23 views
Product Listing Presentation-Maidy Veloso.pptx
MaidyVeloso
•
18 views
Uber Clone Script - Keys to Understanding the Ride Hailing Industry
eSiteWorld TechnoLabs Pvt. Ltd.
•
26 views
Google cloud Study Jam 2023.pptx
GDSCNiT
•
438 views
9C Monthly Newsletter - SEPT 2023
PublishingTeam
•
234 views
GDSC ZHCET Google Study Jams 23.pdf
AbhishekSingh313342
•
19 views
SIP Testing with FreeSWITCH
1.
SIP Tes(ng w/
FreeSWITCH ClueCon, August 2013 Moisés Silva <moy@sangoma.com> Manager, So?ware Engineering
2.
About Sangoma •
Industry pioneer with over 25 years of experience in communicaIons hardware and so?ware • Publicly traded company since 2000 – TSXV: STC • One of the most financially healthy companies in our industry – Growing, Profitable, Cash on the Balance Sheet, No Debt • Mid-‐market sized firm with just under 100 staff in all global territories – Offices in Canada (Toronto), US (CA, NJ), EU (UK & Holland), APAC (India), CALA (Miami) • World wide customer base – Selling direct to carriers and OEMs – Selling to the enterprise through a network of distribuIon partners 2 Sangoma Technologies -‐ © 2013
3.
Broad Line of
Great Products • Voice Telephony Boards – Analog/digital/hybrid, WAN, ADSL • Session border controllers • Microso? Lync • VoIP Gateways – NetBorder SIP to TDM – SS7 to SIP • So?ware ApplicaIons – NetBorder Express, Call Progress Analyzer… • Transcoding (boards/appliances) • Fiber connecIvity (STM1) • Wireless products (GSM) 3 Sangoma Technologies -‐ © 2013
4.
Agenda • TesIng
Overview • FuncIonality Tests • Load Tests • Security Tests 4 Sangoma Technologies -‐ © 2013
5.
Overview • I
know, SIP tesIng can be scary 5 Sangoma Technologies -‐ © 2013
6.
Overview • TesIng
complex systems requires detailed engineering and deep knowledge of OSes, wide range of protocols, hardware, etc • Not everyone likes doing it, it is not glamorous work … • But … It’s developer’s responsibility to test, not customer’s … shocking! 6 Sangoma Technologies -‐ © 2013
7.
Overview • Lots
of open source tools out there that can be used for tesIng: • Sipp • Sipsak • Sipvicious • Voiper • FreeSWITCH • Asterisk 7 Sangoma Technologies -‐ © 2013
8.
Overview • Commercial
tools as well • IXLoad from Ixia • SIP Hammer from Empirix 8 Sangoma Technologies -‐ © 2013
9.
Overview • FreeSWITCH
can be used to test other systems • Generate calls with full RTP wide array of codecs • Support for IPv4/IPv6, TLS, SRTP, STUN, ICE etc • Flexible programmable logic via XML, Python etc • Originate/terminate T.38 faxing • Originate/terminate SIP/TDM calls (and others) • Easy to hook up modules to test media or signaling: • Example: tone_detect, mod_bert, fs_test 9 Sangoma Technologies -‐ © 2013
10.
Func(onality Tests FuncIonality
Tests 10 Sangoma Technologies -‐ © 2013
11.
Func(onality Tests •
Verify expected SIP behaviors • REFER actually places a new call to given desInaIon • 183 with SDP actually bridges media • 4/5XX responses hang up or retry a call • REGISTER creates an AOR in your DB • … And you can go crazy with Presence tests … 11 Sangoma Technologies -‐ © 2013
12.
Func(onality Tests •
IdenIfy your most important funcIonality • Execute manual tests, take traces (pcap/ wireshark) • Write test scenarios for them • Automate them! (Python/Ruby/PERL scripIng) 12 Sangoma Technologies -‐ © 2013
13.
SIPp 13 Sangoma
Technologies -‐ © 2013
14.
SIPp • FreeSWITCH
Wiki SIPP Quote “IF YOU DO NOT UNDERSTAND HOW TO STRESS TEST PROPERLY THEN DON'T BOTHER Using SIPp is part dark art, part voodoo, part Santeria. YOU HAVE BEEN WARNED” 14 Sangoma Technologies -‐ © 2013
15.
SIPp • Low-‐level
SIP funcIonality & performance test tool • Not super user-‐friendly, errors can go unnoIced • Requires a firm grasp on SIP (requests, responses, transacIons, dialogs) • Flow logic is XML-‐based 15 Sangoma Technologies -‐ © 2013
16.
SIPp 16 Sangoma
Technologies -‐ © 2013
17.
SIPp 17 Sangoma
Technologies -‐ © 2013
18.
SIPp • <send>,
<recv>, <pause>, <exec>, rinse & repeat • <send> sends raw SIP messages • <recv> indicates you are expecIng a SIP response or request • <pause> waits some milliseconds • <exec> Can be used to play a pcap (and other stuff) 18 Sangoma Technologies -‐ © 2013
19.
SIPp • <send>
takes care of re-‐transmissions if “retrans” awribute is used • <recv> blocks if non-‐opIonal • <exec> playing a file is non-‐blocking (surprising if you know FreeSWITCH/Asterisk playback) 19 Sangoma Technologies -‐ © 2013
20.
SIPp • More
complex scenarios can be created with condiIonal branching • Use staIsIcal branching to add some variety to your scenarios • <pause> can be done using different distribuIon models such as normal, exponenIal, pareto, etc 20 Sangoma Technologies -‐ © 2013
21.
SIPp • Subtle
mistakes can go unnoIced (no media) 21 Sangoma Technologies -‐ © 2013
22.
SIPp • Use
[media_port] tag, do not hard-‐code ports in the SDP 22 Sangoma Technologies -‐ © 2013
23.
SIPp • Make
sure you use –rtp_echo • Make sure you insert a <pause> a?er playing a pcap and make sure the pcap is long enough • For load tests raise your process limits (ulimit –a for details) 23 Sangoma Technologies -‐ © 2013
24.
SIPp • AutomaIng
creaIon of SIPp scenarios out of pcap captures: • Sippie • hwp://sourceforge.net/projects/sippie/ • Sniff2sipp • hwp://svnview.digium.com/svn/sniff2sipp/ 24 Sangoma Technologies -‐ © 2013
25.
SIPSak • Mostly
useful for flood tests • Much simpler/smaller than sipp, but less control • Easily used for RFC4475 tesIng (SIP Torture) 25 Sangoma Technologies -‐ © 2013
26.
FreeSWITCH • You
can create SIP flows indirectly using FreeSWITCH applicaIons • No direct/raw SIP access, but possible through FreeSWITCH channel variables • Logic programmable in XML, Python, LUA etc 26 Sangoma Technologies -‐ © 2013
27.
FreeSWITCH • Use
ESL originate to send INVITEs • fs_test Python script mimics some SIPp opIons • hwps://github.com/moises-‐silva/fs_test • Control INVITE SIP headers through “sip_h_” originate variables • Send REFER with “deflect” applicaIon 27 Sangoma Technologies -‐ © 2013
28.
FreeSWITCH • Send
180 with “ring_ready” • Send 183 with “pre_answer” • Send 200 with “answer” • Send 3XX with “redirect” • Send 4XX/5XX/6XX with “respond” • Send BYE with “hangup” 28 Sangoma Technologies -‐ © 2013
29.
FreeSWITCH • G.711
media test / checking can be accomplished using mod_bert or tone_detect • hwps://github.com/moises-‐silva/freeswitch/tree/ mod_bert • Calls failing the media test are hung up with MEDIA_TIMEOUT reason 29 Sangoma Technologies -‐ © 2013
30.
Load Tests Load
Tests 30 Sangoma Technologies -‐ © 2013
31.
Load Tests •
Load tesIng can be a fine art • Be careful and define tesIng scope • OS (Linux, Windows, 64/32 bit, OS packages versions) • Media features (RTP/SRTP, UDPTL, Codec) • Signaling Features (TLS, PRACK, Presence, T.38) • Hardware environment (CPU, Memory, PCI/PCIx, HD) • Network environment (TCP/UDP/Ethernet se|ngs) 31 Sangoma Technologies -‐ © 2013
32.
Load Tests •
Performance can vary widely when changing just a few environment characterisIcs, be sure to test a?er each change • Record your findings (ie: use CacI) • Do no underesImate non-‐call-‐related load • RegistraIons, Presence, MWI, etc 32 Sangoma Technologies -‐ © 2013
33.
Load Tests •
Measure your network performance / throughput • Use good cat6 ethernet cables! • Use Iperf • hwps://code.google.com/p/iperf/ 33 Sangoma Technologies -‐ © 2013
34.
Load Tests •
Launching iperf server 34 Sangoma Technologies -‐ © 2013
35.
Load Tests •
Launching iperf client 35 Sangoma Technologies -‐ © 2013
36.
Load Tests •
Do not forget to verify with bwm-‐ng 36 Sangoma Technologies -‐ © 2013 Iperf server bandwidth Iperf client bandwidth
37.
Load Tests •
Slight payload change (iperf –l 172) causes significant performance difference 37 Sangoma Technologies -‐ © 2013 Iperf server bandwidth Iperf client bandwidth
38.
Security Tests Security
Tests 38 Sangoma Technologies -‐ © 2013
39.
Security Tests •
Sipvicious • Voiper 39 Sangoma Technologies -‐ © 2013
40.
SipVicious • Sipvicious
is handy to test your fail2ban rules • Use svwar.py and svcrack.py to trigger your fail2ban • Verify the host was blocked 40 Sangoma Technologies -‐ © 2013
41.
Voiper • Voiper
is handy for fuzzy/vulnerability tesIng • hwp://voiper.sourceforge.net/ • Whatever you do, do not click on the last link at that page (UnprotectedHex) 41 Sangoma Technologies -‐ © 2013
42.
Voiper • python
fuzzer.py -‐f SIPInviteCommonFuzzer -‐i 192.168.168.1 -‐p 5060 -‐a sessions/scen1 -‐c 0 • Tons of messages like this on FreeSWITCH: 42 Sangoma Technologies -‐ © 2013
43.
Voiper • Note
fail2ban can hardly help here (if at all) • SoluIon is report malformed packets via events and possibly block hosts sending excess of malformed traffic 43 Sangoma Technologies -‐ © 2013
44.
QUESTIONS
45.
Contact Us •
Sangoma Technologies 100 Renfrew Drive, Suite 100 Markham, Ontario L3R 9R6 Canada • Website hwp://www.sangoma.com/ • Telephone +1 905 474 1990 x2 (for Sales) • Email sales@sangoma.com Sangoma Technologies -‐ © 2013 45
46.
THANK YOU