sipp примеры использования

sipp это утилита для генерации нагрузки на SIP оборудование. Обычно sipp используется для проверки отказоустойчивости систем IP-телефонии, выявления максимально-допустимой нагрузки или ddos-а конкурентов. Сценарий сессии в sipp описывается в XML файле.

sipp в Debian, Ubuntu

# aptitude install sip-tester

Test SIP OPTIONS

  • First variant

Send OPTIONS message 30 times to 30@192.168.1.211 waiting 200 ms for 200/OK reply each time.

sipp 192.168.1.211 -sf options.xml -m 5 -s 30
options.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
 
<scenario name="Basic keepalive using OPTIONS, Walter Doekes 2013">
  <send retrans="500">
    <![CDATA[
 
      OPTIONS sip:[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: <sip:[service]@[remote_ip]:[remote_port]>;tag=[pid]SIPpTag00[call_number]
      To: <sip:[service]@[remote_ip]:[remote_port]>
      Contact: <sip:[service]@[local_ip]:[local_port];transport=[transport]>
      Call-ID: [call_id]
      CSeq: 1 OPTIONS
      Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
      Supported: replaces
      Content-Length: 0
 
    ]]>
  </send>
 
  <recv response="200"/>
</scenario><!-- vim: set ts=8 sw=2 sts=2 et ai: -->
  • Second variant
    sipp -sf options.xml -inf nums.csv -l 1 -r 1 192.168.1.211
nums.csv
SEQUENTIAL
380675045;380681063
380645710;380670860
380629029;380626028
380656295;380690799
380625944;380662223
380662952;380664977
380676368;380626633
380687261;380656450
380635271;380629567
380686659;380620533
380666004;380675928
380625500;380688931
380665601;380623948
380614773;380654044
380684970;380657813
380623804;380610262
380630893;380666339
380629360;380618986
380677535;380655551
380640119;380679580
380672811;380641216
380655366;380696901
380646610;380632007
380689405;380667705
380670749;380654119
380634637;380619860
380654150;380674103
380668889;380666398
380621495;380670604
380631875;380673625

Test SIP NOTIFY

notify.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
 
<scenario name="Basic keepalive using NOTIFY, Walter Doekes 2013">
  <send retrans="500">
    <![CDATA[
 
      NOTIFY sip:[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: <sip:[service]@[remote_ip]:[remote_port]>;tag=[pid]SIPpTag00[call_number]
      To: <sip:[service]@[remote_ip]:[remote_port]>
      Contact: <sip:[service]@[local_ip]:[local_port];transport=[transport]>
      Call-ID: [call_id]
      CSeq: 1 NOTIFY
      Event: keep-alive
      Content-Length: 0
 
    ]]>
  </send>
 
  <recv response="481"/>
</scenario><!-- vim: set ts=8 sw=2 sts=2 et ai: -->
PQ VPS сервера в 28+ странах.