gpt4 book ai didi

sipp重放rtp数据测试FreeSWITCH

转载 作者:我是一只小鸟 更新时间:2023-05-24 06:31:06 28 4
gpt4 key购买 nike

环境:CentOS 7.6_x64    。

FreeSWITCH版本 :1.10.9    。

sipp版本:3.6.1   。

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,默认毫秒数) 。

2、资源准备

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 获取。  。

3、运行效果

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 获取。  。

4、资源下载

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

 关注微信公众号(聊聊博文,文末可扫码)后回复 20230523 获取.

最后此篇关于sipp重放rtp数据测试FreeSWITCH的文章就讲到这里了,如果你想了解更多关于sipp重放rtp数据测试FreeSWITCH的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com