環境: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 獲取,
微信公眾號:
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/553236.html
標籤:其他
上一篇:藍橋杯2022年第十三屆決賽真題-斐波那契陣列(動態規劃)
下一篇:返回列表
