SiPp

Навигация

Сервер 11.10.253.2, клиент 11.10.254.2 на обоих ставим SIPp

sudo apt install -y git build-essential cmake libpcap-dev libncurses-dev libssl-dev libsctp-dev lksctp-tools
 git clone https://github.com/SIPp/sipp.git
cd sipp
mkdir build && cd build
cmake ..
make
 sudo cp sipp /usr/local/bin/

Проверка со встренным сценарием

На сервере запускаем:

sipp -sn uas -i 11.10.253.2 -mi 11.10.253.2 -rtp_echo

на клиенте:

sipp -sn uac 11.10.253.2 -i 11.10.254.2 -p 5060 -d 10000 -r 10 -m 100

Ключевые параметры командной строки:

  • Где:
  • -sn uac — сценарий «User Agent Client»
  • 11.10.253.2 — целевой SIP сервер
  • -i 11.10.254.2 — локальный IP адрес
  • -p 5060 — локальный порт
  • -m100 — максимальное количество вызовов
  • -r 10 — скорость (вызовов в секунду)
  • -d 10000 — длительность вызова (10 секунд)

Результат теста примерно следующий:

Resolving remote host '11.10.253.2'... Done.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
  Call rate (length)   Port   Total-time  Total-calls  Remote-host
  10.0(10000 ms)/1.000s   5060      20.00 s          100  11.10.253.2:5060(UDP)

  Call limit 100 hit, 0.0 s period        0 ms scheduler resolution
  0 calls (limit 300)                     Peak was 100 calls, after 10 s
  0 Running, 101 Paused, 0 Woken up
  0 dead call msg (discarded)             0 out-of-call msg (discarded)
  0 open sockets                          0/0/0 UDP errors (send/recv/cong)
  0 open sockets                          0/0/0 UDP errors (send/recv/cong)

                                 Messages  Retrans   Timeout   Unexpected-Msg
0 :      INVITE ---------->         100       0         0
1 :         100 <----------         0         0         0         0
2 :         180 <----------         100       0         0         0
3 :         183 <----------         0         0         0         0
4 :         200 <----------  E-RTD1 100       0         0         0
5 :         ACK ---------->         100       0
6 :       Pause [    10.0s]         100                           0
7 :         BYE ---------->         100       0         0
8 :         200 <----------         100       0         0         0

------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
  Start Time             | 2025-10-23   07:19:48.343134 1761203988.343134
  Last Reset Time        | 2025-10-23   07:20:08.352539 1761204008.352539
  Current Time           | 2025-10-23   07:20:08.352798 1761204008.352798
-------------------------+---------------------------+--------------------------
  Counter Name           | Periodic value            | Cumulative value
-------------------------+---------------------------+--------------------------
  Elapsed Time           | 00:00:00:000000           | 00:00:00:000000
  Call Rate              |    0.000 cps              |    4.998 cps
-------------------------+---------------------------+--------------------------
  Incoming calls created |        0                  |        0
  Outgoing calls created |        0                  |      100
  Total Calls created    |                           |      100
  Current Calls          |        0                  |
-------------------------+---------------------------+--------------------------
  Successful call        |        0                  |      100
  Failed call            |        0                  |        0
-------------------------+---------------------------+--------------------------
  Response Time 1        | 00:00:00:000000           | 00:00:00:000000
  Call Length            | 00:00:00:000000           | 00:00:00:000000
------------------------------ Test Terminated --------------------------------

Проверка с генерацие аудио трафика

sudo apt update
sudo apt install sox

создаем тестовый WAV с синусоидальным тоном 440 Гц (частота Ля):

sox -n -r 8000 -c 1 test_tone.wav synth 5 sine 440

Конвертируем в A-Law:

sox test_tone.wav -r 8000 -c 1 -t wav -e a-law coco_jamboo_ulaw.wav

Копируем в папку со сцуенариями:

cp coco_jamboo_ulaw.wav ./sipp_scenarios/

Правим файл сценария редактируем путь до wav файла:

nano /home/user/sipp/sipp_scenarios/pfca_uac.xml
  <!-- receive 200 OK / INVITE -->
  <recv response="200">
      <action>
          <exec rtp_stream="/home/user/sipp/sipp_scenarios/coco_jamboo_ulaw.wav,-1,0,PCMU/8000" />
      </action>
  </recv>

Нас сервере запускаем:

sipp -sf /home/user/sipp/sipp_scenarios/pfca_uas_audio.xml -i 11.10.253.2 -mi 11.10.253.2 -p 5060 -trace_err -rtp_echo

на клиенте:

sipp -sf /home/user/sipp/sipp_scenarios/pfca_uac.xml 11.10.253.2 -i 11.10.254.2 -mi 11.10.254.2 -d 60000 -r 10 -l 100 -m 100 -trace_err -rtp_echo

В момент тестирования должен быть виден трафик rtp:

------------------------------ Scenario Screen -------- [1-9]: Change Screen --
  Call rate (length)   Port   Total-time  Total-calls  Remote-host
  10.0(60000 ms)/1.000s   5060       2.01 s           20  11.10.253.2:5060(UDP)

  10 new calls during 1.004 s period      1 ms scheduler resolution
  20 calls (limit 100)                    Peak was 20 calls, after 2 s
  0 Running, 22 Paused, 13 Woken up
  0 dead call msg (discarded)             0 out-of-call msg (discarded)
  3 open sockets                          0/0/0 UDP errors (send/recv/cong)
  0 Total RTP pckts sent                  0.000 last period RTP rate (kB/s)
  946 Total AUDIO RTP pckts sent          124.032 kB/s AUDIO RTP OUT
  0 Total VIDEO RTP pckts sent            0.000 KB/s VIDEO RTP OUT
  1 RTP sending threads active            122.833 kB/s AUDIO RTP IN
  1 RTP sending threads active            0.000 KB/s VIDEO RTP IN
  0 Total echo RTP pckts 1st stream       0.000 last period RTP rate (kB/s)
  0 Total echo RTP pckts 2nd stream       0.000 last period RTP rate (kB/s)

                                 Messages  Retrans   Timeout   Unexpected-Msg
0 :      INVITE ---------->         20        0         0
1 :         100 <----------         0         0         0         0
2 :         180 <----------         20        0         0         0
3 :       PRACK ---------->         20        0         0
4 :         200 <----------         20        0         0         0
5 :         200 <----------         20        0         0         0
6 :         ACK ---------->         20        0
7 :       Pause [   5000ms]         20                            0
8 :         BYE ---------->         0         0         0
9 :         200 <----------         0         0         0         0
------ [+|-|*|/]: Adjust rate ---- [q]: Soft exit ---- [p]: Pause traffic -----

Результат примерно следующий:

Resolving remote host '11.10.253.2'... Done.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
  Call rate (length)   Port   Total-time  Total-calls  Remote-host
  10.0(60000 ms)/1.000s   5060      15.01 s          100  11.10.253.2:5060(UDP)

  Call limit 100 hit, 184467440737095520  18446744073709551564 ms scheduler res
  0 calls (limit 100)                     Peak was 51 calls, after 5 s
  0 Running, 101 Paused, 0 Woken up
  0 dead call msg (discarded)             0 out-of-call msg (discarded)
  0 open sockets                          0/0/0 UDP errors (send/recv/cong)
  0 Total RTP pckts sent                  0.000 last period RTP rate (kB/s)
  0 Total echo RTP pckts 1st stream       0.000 last period RTP rate (kB/s)
  0 Total echo RTP pckts 2nd stream       0.000 last period RTP rate (kB/s)

                                 Messages  Retrans   Timeout   Unexpected-Msg
0 :      INVITE ---------->         100       0         0
1 :         100 <----------         0         0         0         0
2 :         180 <----------         100       0         0         0
3 :       PRACK ---------->         100       0         0
4 :         200 <----------         100       0         0         0
5 :         200 <----------         100       0         0         0
6 :         ACK ---------->         100       0
7 :       Pause [   5000ms]         100                           0
8 :         BYE ---------->         100       0         0
9 :         200 <----------         100       0         0         0
------------------------------ Test Terminated --------------------------------
----------------------------- Statistics Screen ------- [1-9]: Change Screen --
  Start Time             | 2025-10-23   08:10:07.194719 1761207007.194719
  Last Reset Time        | 2025-10-23   08:10:22.253822 1761207022.253822
  Current Time           | 2025-10-23   08:10:22.284436 1761207022.284436
-------------------------+---------------------------+--------------------------
  Counter Name           | Periodic value            | Cumulative value
-------------------------+---------------------------+--------------------------
  Elapsed Time           | 00:00:00:030000           | 00:00:00:030000
  Call Rate              |    0.000 cps              |    6.627 cps
-------------------------+---------------------------+--------------------------
  Incoming calls created |        0                  |        0
  Outgoing calls created |        0                  |      100
  Total Calls created    |                           |      100
  Current Calls          |        0                  |
-------------------------+---------------------------+--------------------------
  Successful call        |        0                  |      100
  Failed call            |        0                  |        0
-------------------------+---------------------------+--------------------------
  Call Length            | 00:00:00:000000           | 00:00:00:000000
------------------------------ Test Terminated --------------------------------