使用SIPp3.3对voip-asterisk进行性能测试

本文详细介绍如何使用SIPp3.3工具对VoIP-Asterisk系统进行性能测试,包括SIPp的安装、依赖库配置、脚本说明及测试步骤,涵盖分机注册、通话及电话会议性能测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用SIPp3.3对voip-asterisk进行性能测试

SIPp安装

SIPp 是一个测试 SIP 协议性能的工具软件

下载:

https://sourceforge.net/projects/sipp/files/sipp/3.3/
请下载这个版本sipp-3.3.tar.gz,或者在本主题下直接下载sipp-3.3.tar.gz,源码已上传。

安装依赖库:

RedHat

yum install gcc-c++ gcc automake autoconf libtool make
yum install ncurses ncurses-devel
yum install openssl openssl-devel # TLS support
yum install lksctp-tools lksctp-tools-devel # SCTP support
yum install libpcap libpcap-devel libnet libnet-devel # PCAP play support
yum install gsl gsl-devel # distributed pauses

Debian

apt-get install g++ gcc automake autoconf libtool make 
apt-get install libncurses5 libncurses5-dev
apt-get install openssl libssl-dev
apt-get install libsctp1 lksctp-tools libsctp-dev
apt-get install libpcap-dev libnet1 libnet1-dev
apt-get install gsl-bin libgsl0-dev libgsl0ldbl

本测试是在ubuntu18.04系统上测试

编译:

tar xzvf sipp-3.3.tar.gz 
cd sipp-3.3
make pcapplay_ossl

脚本文件说明:

callee.csv : sip分机批量注册时需要用到的脚本

callee_with_bye.xml: 被叫脚本 【作为服务端】

caller_with_auth.xml:主叫脚本

caller_for_confbridge.csv :呼叫会议脚本,配置多少个人参与会议

caller_for_tonghua.csv:呼叫电话脚本,配置多少路通话

create_callercvs.sh:批量创建脚本

sipp-3.3.tar.gz : sipp源码

测试步骤

1. 在asterisk系统上添加200个pjsip分机【具体步骤,参考asterisk相关文档】

2. 注册分机

把脚本文件拷贝到目录sip-3.3

cd sip-3.3
./sipp -sf regclient_set_c_port.xml 192.168.215.31:5060 -i 192.168.215.35 -p 5088 -inf callee.csv -set c_port 5088 -m 200
说明:

192.168.215.31:5060 : asterisk 服务器的ip和端口

192.168.215.35 : 本地服务器ip

5088:本地服务器端口

-m 200 :注册多少个分机, 这里是注册200个分机,这个参数可变,比如想要注册20个分机,即 -m 20

3. 通话性能测试

打开2个终端窗口

在第一个终端窗口,sipp作为被叫服务端,输入命令:

cd sip-3.3
./sipp -sf callee_with_bye.xml -i 192.168.215.35 -p 5088 -trace_err

在第二个终端窗口,sipp作为主叫客户端,输入命令:

cd sip-3.3
./sipp -sf caller_with_auth.xml 192.168.215.31:5060 -i 192.168.215.35 -p 5066 -inf caller_for_tonghua.csv -m 50 -d 30000 -oocsn ooc_default -trace_err
说明:

-m 50 :指定测试多少路通话,这里是50路,这里的数量不超过caller_for_tonghua.csv里面的配置数量,可以根据自己需要,指定不同的通话路数

-d 30000:指定通话时长,这里是30秒

在asterisk服务器上打开一个串口,使用top命令,查看系统占用情况

4. 电话会议性能测试

(1) 在asterisk配置文件中 extension.conf 添加电话会议的拨打方式, 比如:

exten => 8000, 1,NoOp(==========coming confrence 8000===========)
exten => 8000, n,ConfBridge(8000)
exten => 8000, n,Hangup()

(2) 使用软终端注册sip帐号后,拨打8000,新建一个电话会议 8000

(3) 开始批量测试

打开2个终端窗口

在第一个终端窗口,sipp作为被叫服务端,输入命令:

./sipp -sf callee_with_bye.xml -i 192.168.215.35 -p 5088 -trace_err

在第二个终端窗口,sipp作为主叫客户端,输入命令:

./sipp -sf caller_with_auth.xml 192.168.215.31:5060 -i 192.168.215.35 -p 5066 -inf caller_for_confbridge.csv -m 50 -d 30000 -oocsn ooc_default -trace_err
说明:

-m 50 :指定测试多少人参与,这里是50个,这里的数量不超过caller_for_tonghua.csv里面的配置数量,可以根据自己需要,指定不同的参与人数

-d 30000:指定通话时长,这里是30秒

在asterisk服务器上打开一个串口,使用top命令,查看系统占用情况

注意:

本主题下的脚本适合sipp3.3版本,如果使用更高的版本,运行时会出现错误【Can’t bind media raw socket.】, 笔者在测试时遇到了这个问题。

脚本下载:

脚本下载

参考文档:

(1) https://www.cnblogs.com/dong1/p/10188712.html

(2) https://www.jianshu.com/p/a98e760131a0

(3) http://www.51testing.com/html/00/130600-854747.html

(4) https://sipp.readthedocs.io/en/v3.6.0/scenarios/actions.html#media-rtp-commands

(5) https://linuxconfig.org/how-to-install-docker-on-ubuntu-18-04-bionic-beaver

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值