前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sipp重放rtp数据测试FreeSWITCH

sipp重放rtp数据测试FreeSWITCH

原创
作者头像
麦壳儿
修改2023-05-28 06:04:50
6810
修改2023-05-28 06:04:50
举报
文章被收录于专栏:pyvoippyvoip

环境: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库:

代码语言:javascript
复制
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)编写拨号方案:

代码语言:javascript
复制
<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 文件,添加如下内容:

代码语言:javascript
复制
<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 获取。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景描述
  • 二、资源准备
    • 1、编译sipp
      • 2、pcap文件制作
      • 三、运行效果
        • 1、SIPP作为UAC发起呼叫
          • 2、SIPP作为UAS接收呼叫
          • 四、资源下载
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档