SIP Tes(ng w/ FreeSWITCH ClueCon, August 2013 Moisés Silva <moy@sangoma.com> Manager, So?ware Engineering



Similar documents
Cost Effective Tapping and Call Recording using the Sangoma T116. April 2013

The Basics of TDM to VoIP Interconnection. Jeff Dworkin Director of Marketing

Cost Effective Tapping and Call Recording using the Sangoma T116 Card. November 2013

SangomaSBCs Keeping Your VoIP Network Secure. Simon Horton Sangoma

Extend the Life of Your Legacy PBX while Benefiting from SIP Trunks. December 5, 2013

Automated Load Testing for SIP Applications

VoIP technology employs several network protocols such as MGCP, SDP, H323, SIP.

The SIP School- 'Mitel Style'

Formación en Tecnologías Avanzadas

Interoperability Test Plan for International Voice services (Release 6) May 2014

Transcoding and Call Centers with OpenSIPS Bogdan-Andrei Iancu Founder OpenSIPS Project OpenSIPS Solutions

TECHNICAL CHALLENGES OF VoIP BYPASS

and Voice Applications Eyal Wirsansky, Verso Technologies JaxJUG

SIP Essentials Training

SIP Infrastructure Performance Testing

SIP Trunking and Voice over IP

Lab Introduction software Voice over IP

Integration of GSM Module with PC Mother Board (GSM Trunking) WHITE/Technical PAPER. Author: Srinivasa Rao Bommana

IxLoad: Advanced VoIP

Network Simulation Traffic, Paths and Impairment

White paper. SIP An introduction

Leveraging Asterisk to Deliver Large Scale VoIP Services in a Carrier Environment. JR Richardson

Skype Connect Requirements Guide

Become a SIP School Certified Associate endorsed by the Telecommunications Industry Association (TIA)

Internet Technology Voice over IP

The SSCA SIP training program

Project Code: SPBX. Project Advisor : Aftab Alam. Project Team: Umair Ashraf (Team Lead) Imran Bashir Khadija Akram

SBC WHITE PAPER. The Critical Component

NAT and Firewall Traversal with STUN / TURN / ICE

Introduction to VoIP Technology

Dialogic Diva SIPcontrol Software

Voice over IP Fundamentals

Open Source Telephony Projects as an Application Development Platform. Frederic Dickey Director Product Management

Contents Introduction Why Fax over IP? How Real-time Fax over IP works Implementation with MessagePlus/Open Summary. About this document

NAT and Firewall Traversal with STUN / TURN / ICE

Optimizing Converged Cisco Networks (ONT)

How to Configure the Allworx 6x, 24x and 48x for use with Integra Telecom SIP Solutions

Asterisk SIP Settings User Guide. Schmooze Com Inc.

AT&T SIP Trunk Compatibility Testing for Asterisk

proudly presents Homer-Shooting The secret Art of Troubleshooting VoIP in Real-Time with Homer & SIPGrep

The SSCA SIP training program

Gateway to VoIP. Innovation in IP Communications PRODUCT CATALOG

Sonus Networks engaged Miercom to evaluate the call handling

Load Testing 2U Rockbochs System

IxLoad - Layer 4-7 Performance Testing of Content Aware Devices and Networks

Conference Bridge setup

SBC 1000/2000 Configuration Guide with Lync 2013 for Windstream/ LPAETEC SIP Trunk Deployments

Your new VoIP Network is working great Right? How to Know. April 2012 WHITE PAPER

BROADSOFT PARTNER CONFIGURATION GUIDE VEGASTREAM VEGA 100

Overview of Voice Over Internet Protocol

Avaya Aura SIP Trunking Training

Connecting Your Enterprise With Asterisk: IAX to Carriers. Dayton Turner Voxter Communications

SIP Trunking. Service Guide. Learn More: Call us at

QoS (Quality of Service)

ETM System SIP Trunk Support Technical Discussion

Provisioning and configuring the SIP Spider

Basic Vulnerability Issues for SIP Security

Avaya Aura SIP Trunking Training

Chapter 2 PSTN and VoIP Services Context

Performance evaluation of the Asterisk PBX

Voice over IP Probe! for Network Operators and! Internet Service Providers

Cisco Networks (ONT) 2006 Cisco Systems, Inc. All rights reserved.

Selecting the Right SIP Phone for Your IP PBX By Gary Audin May 5, 2014

VoIP-PSTN Interoperability by Asterisk and SS7 Signalling

VoIP Phreaking Introduction to SIP Hacking. Hendrik Scholz 22C3, Berlin, Germany

INdigital ESinet SIP interconnection

Common VoIP problems, How to detect, correct and avoid them. Penny Tone LLC 1

SSVP SIP School VoIP Professional Certification

VoIP telephony over internet

VoIP Interkonnektion Test Specification

Copyright and Trademark Statement

The SIP School- 'Mitel Style'

Toll Free

Configuration Guide. Version 6.2. Mediant 800, 1000 and E SBC Media Gateways. October 2011 Document # LTRT 33420

Implementation of Voice over IP and Audio over IP in the Studio environment

Mediatrix 4404 Step by Step Configuration Guide June 22, 2011

AdvOSS Session Border Controller

VoIP Trunking with Session Border Controllers

Application Notes for Configuring Intelepeer SIP Trunking with Avaya IP Office Issue 1.0

Online course syllabus. MAB: Voice over IP

Microbase OpenSIPs Summit 2015 Building an ITSP with OpenSIPs 2.1

UC and SIP Trunking Luncheon. Sponsored by:

Telco Carrier xsps Solutions.

How to make free phone calls and influence people by the grugq

Application Notes for Configuring Broadvox SIPTrunking with Avaya IP Office R9.0 - Issue 1.0

SBC 1000 / SBC 2000 Series Configuration Guide (For Microsoft Lync Server 2013)

INdigital SIP trunk interconnection

ARCHITECTURES TO SUPPORT PSTN SIP VOIP INTERCONNECTION

OpenSIPS clustering and balancing of media servers Bogdan-Andrei Iancu CEO Voice System Founder OpenSIPS Project

Alcatel OmniPCX Enterprise R11 Supported SIP RFCs

OfficeMaster Gate (Virtual) Enterprise Session Border Controller for Microsoft Lync Server. Quick Start Guide

IxLoad VoIP SIP, MGCP Features

SIP-based VoIP Deployment in Taiwan

Enabling Security Features in Firmware DGW v2.0 June 22, 2011

FRAFOS GmbH Windscheidstr. 18 Ahoi Berlin Germany

ACD: Average Call Duration is the average duration of the calls routed bya a VoIP provider. It is a quality parameter given by the VoIP providers.

Total Recall Max SIP VoIP Call Recording Server

Transcription:

SIP Tes(ng w/ FreeSWITCH ClueCon, August 2013 Moisés Silva <moy@sangoma.com> Manager, So?ware Engineering

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

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

Agenda TesIng Overview FuncIonality Tests Load Tests Security Tests 4

Overview I know, SIP tesing can be scary 5

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

Overview Lots of open source tools out there that can be used for tesing: Sipp Sipsak Sipvicious Voiper FreeSWITCH Asterisk 7

Overview Commercial tools as well IXLoad from Ixia SIP Hammer from Empirix 8

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

Func(onality Tests FuncIonality Tests 10

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

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

SIPp 13

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

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

SIPp 16

SIPp 17

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

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

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

SIPp Subtle mistakes can go unnoiced (no media) 21

SIPp Use [media_port] tag, do not hard- code ports in the SDP 22

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

SIPp AutomaIng creaion of SIPp scenarios out of pcap captures: Sippie hwp://sourceforge.net/projects/sippie/ Sniff2sipp hwp://svnview.digium.com/svn/sniff2sipp/ 24

SIPSak Mostly useful for flood tests Much simpler/smaller than sipp, but less control Easily used for RFC4475 tesing (SIP Torture) 25

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

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

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

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

Load Tests Load Tests 30

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

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

Load Tests Measure your network performance / throughput Use good cat6 ethernet cables! Use Iperf hwps://code.google.com/p/iperf/ 33

Load Tests Launching iperf server 34

Load Tests Launching iperf client 35

Load Tests Do not forget to verify with bwm- ng Iperf server bandwidth Iperf client bandwidth 36

Load Tests Slight payload change (iperf l 172) causes significant performance difference Iperf server bandwidth Iperf client bandwidth 37

Security Tests Security Tests 38

Security Tests Sipvicious Voiper 39

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

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

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

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

QUESTIONS

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 45

THANK YOU