sipp重放rtp数据测试FreeSWITCH
2023/5/24 11:52:16
本文主要是介绍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/123456@192.168.137.31:55080 &bridge(user/1000)
运行效果如下:
uas呼叫效果视频:
关注微信公众号(聊聊博文,文末可扫码)后回复 2023052302 获取。
四、资源下载
本文涉及源码及二进制文件,可以从如下途径获取:
关注微信公众号(聊聊博文,文末可扫码)后回复 20230523 获取。
这篇关于sipp重放rtp数据测试FreeSWITCH的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享
- 2024-12-25flutter项目 as提示Cannot resolve symbol 'embedding'提示什么意思?-icode9专业技术文章分享
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享
- 2024-12-24更改 Git 本地分支关联的远程分支是什么命令?-icode9专业技术文章分享