SlideShare a Scribd company logo
1 of 46
Download to read offline
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	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
Agenda	
  
•  TesIng	
  Overview	
  
•  FuncIonality	
  Tests	
  
•  Load	
  Tests	
  
•  Security	
  Tests	
  
4	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Overview	
  
•  I	
  know,	
  SIP	
  tesIng	
  can	
  be	
  scary	
  
	
  
5	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
Overview	
  
•  Lots	
  of	
  open	
  source	
  tools	
  out	
  there	
  that	
  can	
  be	
  
used	
  for	
  tesIng:	
  
•  Sipp	
  
•  Sipsak	
  
•  Sipvicious	
  
•  Voiper	
  
•  FreeSWITCH	
  
•  Asterisk	
  
7	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Overview	
  
•  Commercial	
  tools	
  as	
  well	
  
•  IXLoad	
  from	
  Ixia	
  
•  SIP	
  Hammer	
  from	
  Empirix	
  
8	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
Func(onality	
  Tests	
  
FuncIonality	
  Tests	
  
10	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
SIPp	
  
13	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
SIPp	
  
16	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
SIPp	
  
17	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
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	
  
SIPp	
  
•  Subtle	
  mistakes	
  can	
  go	
  unnoIced	
  (no	
  media)	
  
21	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
SIPp	
  
•  Use	
  [media_port]	
  tag,	
  do	
  not	
  hard-­‐code	
  ports	
  in	
  
the	
  SDP	
  
22	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
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	
  
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	
  
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	
  
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	
  
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	
  
Load	
  Tests	
  
Load	
  Tests	
  
30	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
Load	
  Tests	
  
•  Measure	
  your	
  network	
  performance	
  /	
  
throughput	
  
•  Use	
  good	
  cat6	
  ethernet	
  cables!	
  
	
  
•  Use	
  Iperf	
  
•  hwps://code.google.com/p/iperf/	
  
33	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Load	
  Tests	
  
•  Launching	
  iperf	
  server	
  
34	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Load	
  Tests	
  
•  Launching	
  iperf	
  client	
  
35	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Load	
  Tests	
  
•  Do	
  not	
  forget	
  to	
  verify	
  with	
  bwm-­‐ng	
  
36	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Iperf	
  server	
  bandwidth	
  
Iperf	
  client	
  bandwidth	
  
Load	
  Tests	
  
•  Slight	
  payload	
  change	
  (iperf	
  –l	
  172)	
  causes	
  
significant	
  performance	
  difference	
  
37	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Iperf	
  server	
  bandwidth	
  
Iperf	
  client	
  bandwidth	
  
Security	
  Tests	
  
Security	
  Tests	
  
38	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
Security	
  Tests	
  
•  Sipvicious	
  
•  Voiper	
  
39	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
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	
  
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	
  
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	
  
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	
  
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	
  
Sangoma	
  Technologies	
  -­‐	
  ©	
  2013	
  
45	
  
THANK	
  YOU	
  

More Related Content

What's hot

rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and BeyondAndreas Granig
 
Kamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouKamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouFred Posner
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scaleAndreas Granig
 
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 DeploymentFred Posner
 
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
 
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
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapportGilles Samba
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolLivePerson
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sChien Cheng Wu
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designAlexander Petrovskiy
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation ProtocolMatt Bynum
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker建澄 吳
 

What's hot (20)

rtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyondrtpengine - Media Relaying and Beyond
rtpengine - Media Relaying and Beyond
 
Kamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and YouKamailio, FreeSWITCH, and You
Kamailio, FreeSWITCH, and You
 
rtpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scalertpengine and kamailio - or how to simulate calls at scale
rtpengine and kamailio - or how to simulate calls at scale
 
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
 
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)
 
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)
 
Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
Asterisk to ip_rapport
Asterisk to ip_rapportAsterisk to ip_rapport
Asterisk to ip_rapport
 
Nmap commands
Nmap commandsNmap commands
Nmap commands
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
Kamailio - API Based SIP Routing
Kamailio - API Based SIP RoutingKamailio - API Based SIP Routing
Kamailio - API Based SIP Routing
 
SIP - Introduction to SIP Protocol
SIP - Introduction to SIP ProtocolSIP - Introduction to SIP Protocol
SIP - Introduction to SIP Protocol
 
Kamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load BalancersKamailio - Load Balancing Load Balancers
Kamailio - Load Balancing Load Balancers
 
FreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8sFreeSWITCH Cluster by K8s
FreeSWITCH Cluster by K8s
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
 
Session Initiation Protocol
Session Initiation ProtocolSession Initiation Protocol
Session Initiation Protocol
 
FreeSWITCH on Docker
FreeSWITCH on DockerFreeSWITCH on Docker
FreeSWITCH on Docker
 

Viewers also liked

Architettura VoIP con FreeSWITCH + gazzurbo
Architettura VoIP con FreeSWITCH + gazzurboArchitettura VoIP con FreeSWITCH + gazzurbo
Architettura VoIP con FreeSWITCH + gazzurboAlessandro Antani
 
Vale, Asterisk sirve para llamar... ¿o para algo más?
Vale, Asterisk sirve para llamar... ¿o para algo más?Vale, Asterisk sirve para llamar... ¿o para algo más?
Vale, Asterisk sirve para llamar... ¿o para algo más?Saúl Ibarra Corretgé
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasElio Rojano
 
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...tyntec
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskNicolás Gudiño
 
Linux Performance Tools
Linux Performance ToolsLinux Performance Tools
Linux Performance ToolsBrendan Gregg
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽Will Huang
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introductionLTG Oxford
 

Viewers also liked (14)

Architettura VoIP con FreeSWITCH + gazzurbo
Architettura VoIP con FreeSWITCH + gazzurboArchitettura VoIP con FreeSWITCH + gazzurbo
Architettura VoIP con FreeSWITCH + gazzurbo
 
Vale, Asterisk sirve para llamar... ¿o para algo más?
Vale, Asterisk sirve para llamar... ¿o para algo más?Vale, Asterisk sirve para llamar... ¿o para algo más?
Vale, Asterisk sirve para llamar... ¿o para algo más?
 
Sangoma SBC Training Presentation
Sangoma SBC Training PresentationSangoma SBC Training Presentation
Sangoma SBC Training Presentation
 
Qué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no mirasQué hace tu Asterisk cuando no miras
Qué hace tu Asterisk cuando no miras
 
Proyecto Open Pi Phone
Proyecto Open Pi PhoneProyecto Open Pi Phone
Proyecto Open Pi Phone
 
De SIP a WebRTC y vice versa
De SIP a WebRTC y vice versaDe SIP a WebRTC y vice versa
De SIP a WebRTC y vice versa
 
Introducción a Asterisk
Introducción a AsteriskIntroducción a Asterisk
Introducción a Asterisk
 
Jitsi: State of the Union
Jitsi: State of the UnionJitsi: State of the Union
Jitsi: State of the Union
 
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
Whitepaper: Over-The-Top (OTT) Services: How Operators can overcome the Fragm...
 
Tecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con AsteriskTecnicas monitoreo reportes con Asterisk
Tecnicas monitoreo reportes con Asterisk
 
Linux Performance Tools
Linux Performance ToolsLinux Performance Tools
Linux Performance Tools
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 
Raspberry pi : an introduction
Raspberry pi : an introductionRaspberry pi : an introduction
Raspberry pi : an introduction
 
Raspberry pi
Raspberry pi Raspberry pi
Raspberry pi
 

Similar to SIP Testing with FreeSWITCH

TADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the CreatorsTADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the CreatorsAlan Quayle
 
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
 
Attacking SAP users with sapsploit
Attacking SAP users with sapsploit Attacking SAP users with sapsploit
Attacking SAP users with sapsploit ERPScan
 
Securing IoT Applications
Securing IoT Applications Securing IoT Applications
Securing IoT Applications WSO2
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskMoises Silva
 
Top 10 most interesting vulnerabilities and attacks in SAP
Top 10 most interesting vulnerabilities and attacks in SAPTop 10 most interesting vulnerabilities and attacks in SAP
Top 10 most interesting vulnerabilities and attacks in SAPERPScan
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessAchim D. Brucker
 
SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ? SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ? Geeks Anonymes
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdfLuisJonathanBahamaca
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfWlamir Molinari
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth Pilli
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Lorenzo Miniero
 
Infosecurity.be 2019: What are relevant open source security tools you should...
Infosecurity.be 2019: What are relevant open source security tools you should...Infosecurity.be 2019: What are relevant open source security tools you should...
Infosecurity.be 2019: What are relevant open source security tools you should...B.A.
 
Streaming meetup
Streaming meetupStreaming meetup
Streaming meetupkarthik_krk
 
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...mfrancis
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)ERPScan
 

Similar to SIP Testing with FreeSWITCH (20)

TADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the CreatorsTADHack Winner: Snappy Kamailio: Carnival of the Creators
TADHack Winner: Snappy Kamailio: Carnival of the Creators
 
Snappy Kamailio
Snappy KamailioSnappy Kamailio
Snappy Kamailio
 
Designing High Performance RTC Signaling Servers
Designing High Performance RTC Signaling ServersDesigning High Performance RTC Signaling Servers
Designing High Performance RTC Signaling Servers
 
Attacking SAP users with sapsploit
Attacking SAP users with sapsploit Attacking SAP users with sapsploit
Attacking SAP users with sapsploit
 
Securing IoT Applications
Securing IoT Applications Securing IoT Applications
Securing IoT Applications
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
Top 10 most interesting vulnerabilities and attacks in SAP
Top 10 most interesting vulnerabilities and attacks in SAPTop 10 most interesting vulnerabilities and attacks in SAP
Top 10 most interesting vulnerabilities and attacks in SAP
 
Integrating Application Security into a Software Development Process
Integrating Application Security into a Software Development ProcessIntegrating Application Security into a Software Development Process
Integrating Application Security into a Software Development Process
 
SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ? SonarQube - Should I Stay or Should I Go ?
SonarQube - Should I Stay or Should I Go ?
 
2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf2016-Automation-Summit_PA_SIMIT.pdf
2016-Automation-Summit_PA_SIMIT.pdf
 
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdfUC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
UC18NA-D3D202-Dianomic-IZoratti-Introduction-To-FogLAMP.pdf
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019Fuzzing RTC @ Kamailio World 2019
Fuzzing RTC @ Kamailio World 2019
 
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
FOSDEM 2013 - SIP and MSRP over WebSocket in KamailioFOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
FOSDEM 2013 - SIP and MSRP over WebSocket in Kamailio
 
Infosecurity.be 2019: What are relevant open source security tools you should...
Infosecurity.be 2019: What are relevant open source security tools you should...Infosecurity.be 2019: What are relevant open source security tools you should...
Infosecurity.be 2019: What are relevant open source security tools you should...
 
Streaming meetup
Streaming meetupStreaming meetup
Streaming meetup
 
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
 
OpenDataPlane Project
OpenDataPlane ProjectOpenDataPlane Project
OpenDataPlane Project
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)
 
abhi
abhiabhi
abhi
 

More from Moises Silva

Interfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CMoises Silva
 
Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPMoises Silva
 
Manejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHMoises Silva
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesMoises Silva
 
Negociacion de Codecs en Asterisk
Negociacion de Codecs en AsteriskNegociacion de Codecs en Asterisk
Negociacion de Codecs en AsteriskMoises Silva
 
Sangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open SourceSangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open SourceMoises Silva
 
FreeTDM PRI Passive Recording
FreeTDM PRI Passive RecordingFreeTDM PRI Passive Recording
FreeTDM PRI Passive RecordingMoises Silva
 
Asterisk PRI Passive Call Recording
Asterisk PRI Passive Call RecordingAsterisk PRI Passive Call Recording
Asterisk PRI Passive Call RecordingMoises Silva
 
OpenR2 in Asterisk
OpenR2 in AsteriskOpenR2 in Asterisk
OpenR2 in AsteriskMoises Silva
 

More from Moises Silva (9)

Interfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en C
 
Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHP
 
Manejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCH
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
 
Negociacion de Codecs en Asterisk
Negociacion de Codecs en AsteriskNegociacion de Codecs en Asterisk
Negociacion de Codecs en Asterisk
 
Sangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open SourceSangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open Source
 
FreeTDM PRI Passive Recording
FreeTDM PRI Passive RecordingFreeTDM PRI Passive Recording
FreeTDM PRI Passive Recording
 
Asterisk PRI Passive Call Recording
Asterisk PRI Passive Call RecordingAsterisk PRI Passive Call Recording
Asterisk PRI Passive Call Recording
 
OpenR2 in Asterisk
OpenR2 in AsteriskOpenR2 in Asterisk
OpenR2 in Asterisk
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

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  
  • 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