sipp使用秘笈-v1.2

Sipp测试工具使用文档
                    Author:阮班勇
                                Date:2009.10.12
1.Sipp软件简介
sipp是对sip协议进行性能测试的一款软件系统。sipp能够对远程系统发起一个或者多个呼叫Sipp提供呼叫发起端(uac和呼叫接收端(uas)的功能,通过呼叫完成对中间设备(TG等)的性能测试。
sipp会根据l场景描述文件来进行sip呼叫的建立、处理和释放。
2.使用前的准备(这里假设读者已经安装好了的sipp)
考虑到测试时操作的方便性,因此写了几个批处理文件,封装内部细节,只须指定服务器的IP与端口即可进行测试。(约定 uac指定端口,uas占用5090端口,使用前请确定端口没占用)
呼叫前请注意是否配置好了所需文件,如果您是第一次使用请首先参考第4节和第5节相关内容修改
2.1.系统相关修改
1)关闭系统防火墙,杀毒软件,下载程序以及其他跟网络相关的应用程序以防干扰测试。
2)添加ip 。有时候设备ip段和本机ip段不一样(本机ip段可能用于公网)那么只需要添加一个ip即可。
添加方法:
网上邻居->右键属性->本地连接->右键属性->选择Tcp/ip选择属性
点击高级
在ip地址那个框内,选择添加即可。
3.使用方法
考虑到测试时操作的方便性,因此写了几个批处理文件,封装内部细节,只须指定服务器的IP与端口即可进行测试。(约定 uac占用5061端口,uas占用
5090端口,使用前请确定这两个端口没占用)
3.1.注册:
test.bat
直接在sip的安装目录下点击test.bat
3.2.启动uas
在弹出的对话框中输入
uas
(注明:uas是呼叫接收端,无需输入任何参数)
3.3.启动uac
Uac.bat hostip hostport 每秒呼叫个数 总呼叫个数
例如:
uac 172.16.55.201 5060 10 1000
上面表示呼叫目标(配置中使用的TG)目标IP,172.16.55.201,对端端口5060,每秒发起呼叫10,总呼叫数目为1000
(注:uac后面的参数次序不能有错,必须按照此顺序进行)            
3.4.程序启动后的常用操作
‘+’  呼叫速率加1
‘-‘  呼叫速率减1
‘*’  呼叫速率加10
‘/‘    呼叫速率减10
暂停呼叫:
按键盘上的p键来暂停呼叫,再次按p键则重新开始。
停止呼叫:
按键盘上的q键来停止呼叫。
注意千万不要用Ctrl+c来强行终止程序,应该使用q键来停止程序,用q键停止程序后程序会发送bye消息来释放呼叫。如果强行停止会导致呼叫被吊死在设备上。
高级进阶
4.命令修改
4.1.uas命令修改方法
在弹出的dos命令行中输入uas即可。这样就启动了uas
这是启动了uas.bat批处理文档
实际启动命令如下:
sipp -sn uas -p 5090 -l -inf call.csv -trace_err -trace_screen
rem -s 2000
可以看到监听端口为5090因此在TG的配置中对局端口应该填写为此端口如果用户需要修改端口则修改uas.bat文件即可。-sn指定sipp启动的是uas服务既服务器端。
-sf指定使用的场景文件为l .
call.csv 这个主要是呼叫号码的文件,下文将会详细介绍。
-trace_err跟踪所有错误消息,并把错误消息保存到文件场景文件描述的<file_name>_<pid>_errors.log文件中
-trace_screen 当程序结束时候打印统计信息并弹出屏幕(如果在后台运行的话)
4.2. uac命令修改方法
uac启动启动方式同uas
在dos中输入uac hostip hostport 每秒呼叫个数 总呼叫个数
比如uac 172.16.55.204 5060 4 10000
表示呼叫的目标主机是172.16.55.204 对方端口是5060 每秒发起4个呼叫,总呼叫数目为10000
注:对本公司的TG测试中hostip就是指TG产品中配置的对局地址是本机IP地址的TG产品。
如下为TG1000配置sip中继的窗口
对局就是您现在所用电脑的ip地址。0如果作为呼出端也就是您启用uac这个命令,那么该TG配置端口为5060,或者5070都可以。但是如果您电脑作为呼叫接收端也就是启动uas命令,那么这里的ip地址填您自己的主机地址,端口需要填uas默认端口(5090),具体参考uas命令修改。
实际启动文件为uac.bat这个批处理文档(注:rem 后面内容表示注释)
实际启动命令为:
sipp %1:%2 -l -inf call.csv -p 5070  -r %3 -rp 1s -m %4 -trace_err -trace_screen
其中%1,%2为传递命令行参数第一个和第二个即uac 172.16.55.204
-sf,-inf,-p 同上
-r指定每秒发起呼叫数(如果指定参数-rp则即为-rp所指定的时间内发起的呼叫数)
rp 表示频率周期,即-r的周期。后面详述
上例指定-rp为1s则-r就表示1s内发起的呼叫数目
-m 指定测试的呼叫总数,当达到m指定的数目时候停止呼叫,程序结束
5.配置文件修改
5.1.被叫号码的修改
主被叫号码放在文件xxx.csv文件中,从3.1节我们看到实际启动时候指定了-inf参数都默认指向了call.csv文件因此需要修改call.csv文件。
call.csv文件第一行需要说明数据读取方式,SEQUENTIAL为顺序读取,RANDOM为随机读取,USER为用户习惯,#后面的内容为注释
例如下面是截取一个call.csv文件的内容
SEQUENTIAL
81000;9129;10000;
81001;9129;10001;
81011;9129;10011;
我们看到除了第一行,每一行都有三个字段。这就对应了场景文件中的field0,field1,field2
如下截取l场景文件,假如是第一个呼叫,使用第二行
<send retrans="500">
<![CDATA[
      INVITE sip:[field1]@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp<sip:[field0]@[local_ip]:[local_port]>;tag=[call_number]
      To: sut<sip:[field1]@[remote_ip]:[remote_port]>
      Call-ID: [call_id]
      CSeq: 1 INVITE
      Contact: sip:sipp@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Type: application/sdp
      Content-Length: [len]
     
      v=0
      o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
      s=-
      c=IN IP[local_ip_type] [local_ip]
      t=0 0
      m=audio [field2] RTP/AVP 8
      a=rtpmap:8 PCMA/8000
      a=rtpmap:101 telephone-event/8000
      a=fmtp:101 0-11,16
    ]]>
  </send>
从上可以看出,call.csv文件定义了sip协议中呼叫的号码和主叫号码,因此这个文件的配置相当重要,否则电话有可能拨不通,我们看field1字段,是填充在to中的,是要拨出去的电话号码,因此TG上的字冠设置应该与此字段项匹配。
使用多个.csv文件
如果你想使用几个文件配合使用,比如你想让field0的名字是顺序的,而field1得名字是随
uasa
机的。使用两个文件就可以,你可能需要一个文件caller.csv使用SEQUENTIAL作为第一行,还需要一个callee.csv使用RANDOM作为第一行。在场景文件中用file=xxx.csv来指定所使用的文件
如:
INVITE sip:[field0 file="callee.csv"] SIP/2.0
From: sipp user <[field0 file="caller.csv"]>;tag=[pid]SIPpTag00[call_number]
To: sut user <[field0 file="callee.csv"]>
...
这样就从callee中选取目标用户,而从caller中选取发送用户。
5.2.呼叫过程使用RTP流   
l: (不传rtp流就注释下面这段)
<nop>
<action>
    <exec play_pcap_audio= "pcap/g711u_30s.pcap"/>
</action>
</nop>
其中g711u_30s.pcap保存在同目录下的pcap文件夹下,可以修改指定的rtp流文件。这个是一个30s时间的rtp流。
        注:xml的注释方法 <!-- 要注释的内容 -->
5.3.呼叫保持时间修改
Uac.xml:
<pause milliseconds="5000"/> //单位为ms
5.4.并发呼叫的最大次数修改
使用-l选项设定同时呼叫的最大次数,能够对sip中继产生脉冲式压力测试。
在uac.bat文件中添加此选项如下:
未添加:sipp %1:%2 -l -inf call.csv -p 5070  -r %3 -rp 1s -m %4 -trace_err -trace_screen
添加后:sipp %1:%2 -l -inf call.csv -p 5070 -l 120  -r %3 -rp 1s -m %4 -trace_err -trace_screen

本文发布于:2024-09-20 20:39:27,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/378981.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:呼叫   文件   端口   使用   修改
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议