SIP服务器测试工具SIPp使用指导
- 格式:doc
- 大小:139.50 KB
- 文档页数:14
SIP服务器性能测试工具SIPp使用指导
Contents
1安装及概述: (1)
1.1SIPp安装 (2)
1.2SIPp使用 (3)
1.2.1 uac.bat: (3)
1.2.2 data.csv: (4)
1.2.3 uac.xml: (4)
2常见问题: (8)
2.1uas.bat (8)
2.2uas.xml (9)
3操作截图: (13)
3.1uac: (13)
3.2uas: (14)
1 安装及概述:
SIPp是一个测试SIP协议性能的工具软件。这是一个GPL的开放源码软件。
它包含了一些基本的SipStone用户代理工作流程(UAC和UAS),并可使用INVITE和B YE 建立和释放多个呼叫。它也可以读XML的场景文件,即描述任何性能测试的配置文件。它能动态显示测试运行的统计数据(呼叫速率、信号来回的延迟,以及消息统计)。周期性地把CSV统计数据转储,在多个套接字上的TCP和UDP,利用重新传输管理的多路复用。在场景定义文件中可以使用正规表达式,动态调整呼叫速率。
SIPp可以用来测试许多真实的SIP设备,如SIP代理,B2BUAs,SIP媒体服务器,SIP/x网关,SIP PBX,等等,它也可以模仿上千个SIP代理呼叫你的SIP系统。
SIPp的网址:/,这里可以下载最新版的SIPp软件,并且有英文资料可供查阅。
1.1 SIPp安装
SIPp提供Linux,Windows和HPUX平台的版本。Windows平台上的安装很简单,下面说一下Linux下的安装。
首先,可以从/projects/sipp/files/sipp/3.2/下载最新版的SIPp,解压之后就得到一个rpm文件,你可以使用rpm命令来完成安装。如果你拿到的是绿色版的SIPp,那么你需要对其重新编译才能使用。SIPp是用C++写的,因此系统必须支持G++才可成功编译。
SIPp支持四种不同的安装模式:
1) 没有TLS支持与密码验证支持:
a) # tar -xvf sipp-1.1rc6.tar.gzb)
# cd sipp-1.1.rc6c)
# makeMake
出来的sipp文件就是一个可执行的文件,只需要搭配场景xml文件与csv文件即可进行SIP测试,这是最常用的安装。
2) 拥有TLS支持与密码验证支持,但是不支PCAP语音播放:
a) # tar -xvf sipp-1.1rc6.tar.gzb)
# cd sipp-1.1.rc6c)
# make ossl
这样编译出来的文件就加入了TLS至于与密码验证支持功能sipp软件了。
3) 支持PCAP Play,但是没有密码验证支持:(PCAP Play即为可以进行RTP语音,但是没有407 AUTH验证)
a) # tar -xvf sipp-1.1rc6.tar.gzb)
# cd sipp-1.1.rc6c)
# make pcapplay
4) 支持PCAP 声音文件播放,而且支持密码验证支持:(支持407 auth验证支持)
a) # tar -xvf sipp-1.1rc6.tar
b) # cd sipp-1.1.rc6
c) # make pcapplay_ossl
1.2 SIPp使用
用SIPp做测试的时候需要准备五个文件:uac.bat, uas.bat, uac.xml, uas.xml, data.csv。
uac.bat:调用sipp命令,并传入相应参数的批处理文件,模拟UAC(例如主叫)。
uas.bat:调用sipp命令,并传入相应参数的批处理文件,模拟UAS(例如被叫),当然也可不准备此文件直接输入sipp命令执行程序,但是写成文件执行更加方便可靠。
uac.xml:根据需要编写的uac侧的sip信号流程。
uas.xml:根据需要编写的uas侧的sip信号流程。
data.csv:用于uac.xml和uas.xml中需要引入的相应数据。
下面就举例来说明这五个文件的编写方法和用法。
1.2.1uac.bat:
例:
sipp -sn uac 172.31.89.4:5060 -r 1 -rp 3000 -inf data.csv -p 7098 -i 172.31.89.242 -s 8001 -sf uac_onecall.xml –m 1000 –l 900
各个参数说明:
172.31.89.4:5060:远端地址和端口(在脚本中用[remote_ip],[remote_port]引入)-r 1 -rp 3000:每三秒钟发一个呼
-inf data.csv:引入数据配置文件
-p 7098:本地端口(在脚本中用[local_port]引入)
-i 172.31.89.242:本地地址(在脚本中用[local_ip]引入)
-s 8001:被叫号码(在脚本中用[service]引入)
-sf uac_onecall.xml:引入脚本文件,根据需要模拟的呼叫流程编写
-sn uac :执行默认的uac流程,如需执行自己编写的流程文件,命令中应不含此参数-m 1000:发送1000次呼叫后停止并退出。
-l 900 :最大同时保持呼叫量,默认值为3*caps值*呼叫时长,当因种种原因导致现存
呼叫总数达到此值时,SIPp将停止产生新的呼叫,等待现存呼叫总数低于此值时才继续产生呼叫。
1.2.2data.csv:
例:
SEQUENTIAL
8000;
第一行为取号码方式,通常为SEQUENTIAL或RANDOM
此例中只有一个数据,引入时用[field0],如果有多个数据,用分号隔开,在引用时编号递增如[field1],[field2]。
1.2.3uac.xml:
例:
INVITE sip:[service]@[remote_ip] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch];rport Allow: INVITE,CANCEL,ACK,BYE,OPTIONS,REFER,NOTIFY,MESSAGE,SUBSCRIBE,INFO From: "[field0]"
To: "[service]"
Call-ID: [call_id]
CSeq: 1 INVITE
Contact:
Max-Forwards: 70
Content-Type: application/sdp