SIPP压测工具

1、ncurses安装

由于系统中没有图形界面配置工具ncurses,因此首先下载此工具安装包,下载地址:

http://www.gnu.org/software/ncurses/

然后在终端打开工具所在目录,切换到root用户下,顺序输入以下命令:

                   tar zxvf ncurses-5.9.tar.gz

                   cd ncurses-5.9

                   ./configure

                   make

                   make install

2、SIPPp安装及使用

SIPp是sip协议栈的一个免费开源的测试工具, 它模拟了一些基本的uac和uas功能,并建立和释放多个调用的INVITE和BYE的方法,可以读取xml和csv文件生成注册或呼叫流程,可以动态显示统计信息和动态调整呼叫速率

一、安装

1. 下载地址:http://sipp.sourceforge.net/

2. 编译sipp-3.3

a) # tar xzvf sipp-3.3.tar.gz

b) # cd sipp-3.3

c) # make    //没有TLS支持与密码验证支持

   make ossl     //拥有TLS支持与密码验证支持,但是不支PCAP语音播放

   # make pcapplay//支持PCAP Play,但是没有密码验证支持

#make pcapplay_ossl//支持PCAP 声音文件播放,而且支持密码验证支持

  可能需要依赖的库:libpcap、libpcap-devel、ncurses-devel、ncurses

二、使用

sipp模拟uas

./sipp -sn uas -i 192.168.1.249 -p 5077
sipp模拟uac

./sipp -sn uac 192.168.1.249:5077 -i 192.168.1.249 -p 5078 -r 50 -rp 1000      // 每1000ms发送50个呼叫

./sipp -sn uac 192.168.1.249:5077 -i 192.168.1.249 -p 5078 -r 50   // 每1s发送50个呼叫

使用文件测试asterisk

1. 注册脚本文件csv

reg.csv内容如下:

 

SEQUENTIAL
901;901;[authentication username=901 password=901]
902;902;[authentication username=902 password=902]
903;903;[authentication username=903 password=903]
904;904;[authentication username=904 password=904]
905;905;[authentication username=905 password=905]
906;906;[authentication username=906 password=906]

 

 

2. 注册描述文件xml

reg.xml内容如下:

 

<?xml version="1.0" encoding="ISO-8859-1" ?>
< !DOCTYPE scenario SYSTEM "sipp.dtd">
< !-- This program is free software; you can redistribute it and/or      -->
< !-- modify it under the terms of the GNU General Public License as     -->
< !-- published by the Free Software Foundation; either version 2 of the -->
< !-- License, or (at your option) any later version.                    -->
< !--                                                                    -->
< !-- This program is distributed in the hope that it will be useful,    -->
< !-- but WITHOUT ANY WARRANTY; without even the implied warranty of     -->
< !-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the      -->
< !-- GNU General Public License for more details.                       -->
< !--                                                                    -->
< !-- You should have received a copy of the GNU General Public License  -->
< !-- along with this program; if not, write to the                      -->
< !-- Free Software Foundation, Inc.,                                    -->
< !-- 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA             -->
< !--                                                                    -->
< !--                 Sipp default 'branchc' scenario.                   -->
< !--                                                                    -->
< scenario name="branch_client">
  <send retrans="500">
    <![CDATA[
      REGISTER sip:[remote_ip] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: [field0] <sip:[field0]@[remote_ip]:[remote_port]>;tag=[call_number]
      To: [field0] <sip:[field0]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 1 REGISTER
      Contact: sip:[field0]@[local_ip]:[local_port]
      Content-Length: 0
      Expires: 3600
    ]]>
   </send>




  <recv response="401" auth="true" next="1">
  </recv>


  <!--  send invite with authentication messages -->
  <label id="1"/>
  <send retrans="500">
  <![CDATA[
      REGISTER sip:[field0]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port]
      From: [field0] <sip:[field0]@[remote_ip]:[remote_port]>;tag=[call_number]
      To: [field0] <sip:[field0]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 2 REGISTER
      Expires: 3600
      Contact: sip:[field0]@[local_ip]:[local_port]
      [field2]
      Content-Length: [len]
    ]]>
  </send>


  <recv response="200"  >
  </recv>
   <pause milliseconds="1000"/>


  <!-- definition of the response time repartition table (unit is ms)   -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
  <!-- definition of the call length repartition table (unit is ms)     -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>
< /scenario>

 

./sipp -sf reg.xml -inf reg.csv -p 6067 -i 192.168.1.249 -r 20 -m 1600 192.168.1.250:5060 -trace_msg -trace_screen -trace_err -aa

 

 

 

 

 

转载于:https://my.oschina.net/apengsoft/blog/1621746

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值