技术笔记:sipp重放rtp数据测试FreeSWITCH

简介: 技术笔记: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地址:


targz文件下载地址:


文档地址:


参数简单说明:


-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)编写拨号方案:


[/span>extension name="moh_test"

[/span>condition field="destination_number" expression="^6001$"

[/span>action application="answer"/>


[/span>action application="playback" data=""/>




2)启动tcpdump抓包


tcpdump -i enp0s3 udp -w g711a_moh.pcap


3)rtp数据导出


在弹出的对话框中选择需要导出的rtp流,点击“Prepare Filter”按钮:


选择导出特定分组:


导出过滤后的rtp数据:


上述为导出流程,具体pcap文件为时长1小时的g711a格式rtp包,可从如下渠道获取:


三、运行效果


FreeSWITCH机器:192.168.137.32


sipp机器:192.168.137.31


1、SIPP作为UAC发起呼叫


1)生成场景文件


在sipp机器执行如下操作:


./sipp //代码效果参考:http://www.lyjsj.net.cn/wx/art_23172.html

-sd uac_pcap ] uac_pcap.xml

2)修改xml文件


替换pcap部分;


修改等待时长为3600秒;


3)编写拨号方案


在FreeSWITCH上编辑 conf/dialplan/public.xml 文件,添加如下内容:


[/span>extension name="test1111"

[/span>condition field="destination_number" expression="^(654321)$"

[/span>action application="bridge" data="user/1000"/>




4)呼叫测试


在sipp机器上执行呼叫:


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


呼叫效果:


usc呼叫效果视//代码效果参考:http://www.lyjsj.net.cn/wx/art_23180.html

频:

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呼叫效果视频:


四、资源下载


本文涉及源码及二进制文件,可以从如下途径获取:


转载请注明出处,谢谢!

相关文章
|
26天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
101 32
|
7天前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
22 3
|
28天前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
259 2
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
11天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
24天前
|
存储 测试技术 数据库
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
|
24天前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
28天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
53 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
28天前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
75 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
28天前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
154 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
28天前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
43 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
下一篇
无影云桌面