技术笔记: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呼叫效果视频:


四、资源下载


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


转载请注明出处,谢谢!

相关文章
|
13天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
31 4
|
1月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
22天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
28 6
|
23天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
26 1
|
1月前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
1月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
50 4
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
1月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
|
1月前
|
安全 大数据 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(3-2):渗透测试行业术语扫盲)作者——LJS
|
1月前
|
SQL 安全 网络协议
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(1-2):渗透测试行业术语扫盲)作者——LJS