sipp重放rtp數據測試FreeSWITCH

環境:CentOS 7.6_x64   

FreeSWITCH版本 :1.10.9   

sipp版本:3.6.1  

一、背景描述

sipp是一款VoIP測試工具,日常開發過程中會使用到該軟件,但其自身攜帶的pcap文件夾裏面的rtp數據包太小,rtp長時間測試的場景會出現媒體異常的情況,需要製作長時間pcap文件以滿足測試,這裏記錄下使用sipp作爲uac和uas對接freeswitch重放長時間rtp數據測試的過程。

github地址:https://github.com/SIPp/sipp

targz文件下載地址:https://github.com/SIPp/sipp/releases

文檔地址:https://sipp.readthedocs.io/en/v3.6.1/

 參數簡單說明:

-sn 使用內置的場景,默認使用uac,即標準SipStone UAC

-sd 導出內置場景

-sf 使用指定場景配置文件

-i 指定本地IP

-p 指定本地端口,默認隨機端口

-l 限制並行呼叫數,默認值:3 * call_duration (s) * rate

-m 在呼叫次數達到後退出

-r 場景執行速度,默認1秒10次

-r 10 -rp 5s 則限定爲每5秒10 calls

-rp (Rate Period,默認毫秒數)

二、資源準備

1、編譯sipp

 1)安裝依賴項

需要安裝sctp庫和libpcap庫:

yum install lksctp-tools-devel.x86_64 libpcap-devel -y

2)配置cmake3

添加cmake3的軟連接(cmake3二進制文件可從文末資源裏面獲取);

修改build.sh,使用cmake3進行構建:

 編譯:

./build.sh --full

 編譯好的文件如下:

 2、pcap文件製作

這裏使用freeswitch的moh聲音製作pcap文件,具體如下。

1)編寫撥號方案:

 <extension name="moh_test">
        <condition field="destination_number" expression="^6001$">
             <action application="answer"/>
             <action application="playback" data="local_stream://moh"/>
        </condition>
    </extension>

2)啓動tcpdump抓包

tcpdump -i enp0s3 udp -w g711a_moh.pcap

 3)rtp數據導出

選擇 “電話-》RTP流”

 在彈出的對話框中選擇需要導出的rtp流,點擊“Prepare Filter”按鈕:

 選擇導出特定分組:

 導出過濾後的rtp數據:

上述爲導出流程,具體pcap文件爲時長1小時的g711a格式rtp包,可從如下渠道獲取:

關注微信公衆號(聊聊博文,文末可掃碼)後回覆 20230523 獲取。 

三、運行效果

FreeSWITCH機器:192.168.137.32

sipp機器:192.168.137.31

1、SIPP作爲UAC發起呼叫

1)生成場景文件

在sipp機器執行如下操作:

./sipp -sd uac_pcap >> uac_pcap.xml

2)修改xml文件

替換pcap部分;

修改等待時長爲3600秒;

 3)編寫撥號方案

在FreeSWITCH上編輯 conf/dialplan/public.xml 文件,添加如下內容:

<extension name="test1111">
      <condition field="destination_number" expression="^(654321)$">
      <action application="bridge" data="user/1000"/>
      </condition>
    </extension>

4)呼叫測試

在sipp機器上執行呼叫:

./sipp 192.168.137.32:5080 -i 192.168.137.31 -p 55050 -sf uac_pcap.xml -m 1 -s 654321

 呼叫效果:

 

usc呼叫效果視頻:

關注微信公衆號(聊聊博文,文末可掃碼)後回覆 2023052301 獲取。 

2、SIPP作爲UAS接收呼叫

1)生成場景文件

在sipp機器執行如下操作:

./sipp -sd uas >> uas_pcap.xml

修改sdp裏面的編碼爲PCMA:

 移除option標籤,並添加pcap文件:

 2)啓動uas

在sipp機器執行如下命令:

./sipp -i 192.168.137.31 -p 55080 -sf uas_pcap.xml

 3)執行外呼

在FreeSWITCH機器執行如下命令:

originate {tag=test}sofia/external/[email protected]:55080 &bridge(user/1000)

運行效果如下:

 uas呼叫效果視頻:

關注微信公衆號(聊聊博文,文末可掃碼)後回覆 2023052302 獲取。 

四、資源下載

本文涉及源碼及二進制文件,可以從如下途徑獲取:

 關注微信公衆號(聊聊博文,文末可掃碼)後回覆 20230523 獲取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章