sipp测试总结
来源:互联网 发布:校园网络逻辑拓扑图 编辑:程序博客网 时间:2024/05/22 19:27
sipp是sip的压力测试工具,为了测试sip服务器的压力,在测试中使用sipp模拟了uac和uas。下面给出使用的脚本。
1,注册脚本
注册脚本分为两部分,一部分是主叫的注册,一部分是被叫的注册。这两个文件使用的csv文件不同,场景文件相同。
1.1 主叫的csv文件,reg1.csv
RANDOM
1000;1050;[authentication username=1000 password=1234]
1001;1051;[authentication username=1001 password=1234]
1002;1052;[authentication username=1002 password=1234]
1003;1053;[authentication username=1003 password=1234]
1004;1054;[authentication username=1004 password=1234]
1005;1055;[authentication username=1005 password=1234]
1006;1056;[authentication username=1006 password=1234]
1007;1057;[authentication username=1007 password=1234]
1008;1058;[authentication username=1008 password=1234]
1009;1059;[authentication username=1009 password=1234]
1010;1060;[authentication username=1010 password=1234]
1011;1061;[authentication username=1011 password=1234]
1012;1062;[authentication username=1012 password=1234]
1013;1063;[authentication username=1013 password=1234]
1014;1064;[authentication username=1014 password=1234]
1015;1065;[authentication username=1015 password=1234]
1016;1066;[authentication username=1016 password=1234]
1017;1067;[authentication username=1017 password=1234]
1018;1068;[authentication username=1018 password=1234]
1019;1069;[authentication username=1019 password=1234]
1020;1070;[authentication username=1020 password=1234]
1021;1071;[authentication username=1021 password=1234]
1022;1072;[authentication username=1022 password=1234]
1023;1073;[authentication username=1023 password=1234]
1024;1074;[authentication username=1024 password=1234]
1025;1075;[authentication username=1025 password=1234]
1026;1076;[authentication username=1026 password=1234]
1027;1077;[authentication username=1027 password=1234]
1028;1078;[authentication username=1028 password=1234]
1029;1079;[authentication username=1029 password=1234]
1030;1080;[authentication username=1030 password=1234]
1031;1081;[authentication username=1031 password=1234]
1032;1082;[authentication username=1032 password=1234]
1033;1083;[authentication username=1033 password=1234]
1034;1084;[authentication username=1034 password=1234]
1035;1085;[authentication username=1035 password=1234]
1036;1086;[authentication username=1036 password=1234]
1037;1087;[authentication username=1037 password=1234]
1038;1088;[authentication username=1038 password=1234]
1039;1089;[authentication username=1039 password=1234]
1040;1090;[authentication username=1040 password=1234]
1041;1091;[authentication username=1041 password=1234]
1042;1092;[authentication username=1042 password=1234]
1043;1093;[authentication username=1043 password=1234]
1044;1094;[authentication username=1044 password=1234]
1045;1095;[authentication username=1045 password=1234]
1046;1096;[authentication username=1046 password=1234]
1047;1097;[authentication username=1047 password=1234]
1048;1098;[authentication username=1048 password=1234]
1049;1099;[authentication username=1049 password=1234]
RANDOM
1050;1050;[authentication username=1050 password=1234]
1051;1051;[authentication username=1051 password=1234]
1052;1052;[authentication username=1052 password=1234]
1053;1053;[authentication username=1053 password=1234]
1054;1054;[authentication username=1054 password=1234]
1055;1055;[authentication username=1055 password=1234]
1056;1056;[authentication username=1056 password=1234]
1057;1057;[authentication username=1057 password=1234]
1058;1058;[authentication username=1058 password=1234]
1059;1059;[authentication username=1059 password=1234]
1060;1060;[authentication username=1060 password=1234]
1061;1061;[authentication username=1061 password=1234]
1062;1062;[authentication username=1062 password=1234]
1063;1063;[authentication username=1063 password=1234]
1064;1064;[authentication username=1064 password=1234]
1065;1065;[authentication username=1065 password=1234]
1066;1066;[authentication username=1066 password=1234]
1067;1067;[authentication username=1067 password=1234]
1068;1068;[authentication username=1068 password=1234]
1069;1069;[authentication username=1069 password=1234]
1070;1070;[authentication username=1070 password=1234]
1071;1071;[authentication username=1071 password=1234]
1072;1072;[authentication username=1072 password=1234]
1073;1073;[authentication username=1073 password=1234]
1074;1074;[authentication username=1074 password=1234]
1075;1075;[authentication username=1075 password=1234]
1076;1076;[authentication username=1076 password=1234]
1077;1077;[authentication username=1077 password=1234]
1078;1078;[authentication username=1078 password=1234]
1079;1079;[authentication username=1079 password=1234]
1080;1080;[authentication username=1080 password=1234]
1081;1081;[authentication username=1081 password=1234]
1082;1082;[authentication username=1082 password=1234]
1083;1083;[authentication username=1083 password=1234]
1084;1084;[authentication username=1084 password=1234]
1085;1085;[authentication username=1085 password=1234]
1086;1086;[authentication username=1086 password=1234]
1087;1087;[authentication username=1087 password=1234]
1088;1088;[authentication username=1088 password=1234]
1089;1089;[authentication username=1089 password=1234]
1090;1090;[authentication username=1090 password=1234]
1091;1091;[authentication username=1091 password=1234]
1092;1092;[authentication username=1092 password=1234]
1093;1093;[authentication username=1093 password=1234]
1094;1094;[authentication username=1094 password=1234]
1095;1095;[authentication username=1095 password=1234]
1096;1096;[authentication username=1096 password=1234]
1097;1097;[authentication username=1097 password=1234]
1098;1098;[authentication username=1098 password=1234]
1099;1099;[authentication username=1099 password=1234]
1.3 注册场景描述文件,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 Contact: sip:[field0]@[local_ip]:[local_port] [field2] Content-Length: [len] Expires: 3600 ]]> </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>
1.4 主叫注册命令
./sipp -sf reg.xml -inf reg1.csv -p 6067 -i 10.130.41.* -m 50 10.130.16.42:5060
其中10.130.41.*为sipp所在机器的IP地址。50 10.130.16.*为sip 服务器所在机器的IP地址。
1.5 被叫注册命令
./sipp -sf reg.xml -inf reg2.csv -p 6068 -i 10.130.41.* -m 50 10.130.16.42:5060
2,UAC脚本
2.1 场景描述脚本
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE scenario SYSTEM "sipp.dtd"><scenario name="Basic Sipstone UAC"> <send retrans="500"> <![CDATA[ INVITE sip:[field1]@10.130.16.42:5060 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: <sip:[field1]@[remote_ip]:5060> Call-ID: [call_id] CSeq: 1 INVITE Contact: sip:[field0]@[local_ip]:[local_port] Max-Forwards: 70 Subject: Performance Test Content-Type: application/sdp Content-Length: [len] v=0 o=HuaweiFlexit1.0 20004 20004 IN IP4 10.130.30.7 s=A call c=IN IP4 10.130.30.7 t=1228447938 1228451538 m=audio 10500 RTP/AVP 18 4 8 0 97 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=rtpmap:4 G723/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:97 telephone-event/8000 a=fmtp:97 0-15 a=sendrecv m=video 10510 RTP/AVP 34 98 b=AS:376 a=rtpmap:34 H263/90000 a=fmtp:34 QCIF=1 CIF=4 MaxBR=3760 a=rtpmap:98 MP4V-ES/90000 a=fmtp:98 profile-level-id=2 a=sendrecv ]]> </send> <recv response="100" > </recv> <recv response="180" > </recv> <recv response="200" > </recv> <send> <![CDATA[ ACK sip:mod_sofia@10.130.16.42:5060;transport=udp 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: <sip:[field1]@[remote_ip]:[remote_port]>[peer_tag_param] Call-ID: [call_id] CSeq: 1 ACK Max-Forwards: 70 Subject: Performance Test Content-Length: 0 ]]> </send> <pause milliseconds="5000"/> <send retrans="500"> <![CDATA[ BYE sip:[field0]@[remote_ip]:[remote_port] 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: [field1] <sip:[field1]@[remote_ip]:[remote_port]>[peer_tag_param] Call-ID: [call_id] CSeq: 2 BYE Contact: sip:[field0]@[local_ip]:[local_port] Max-Forwards: 70 Subject: Performance Test Content-Length: 0 ]]> </send> <recv response="200" crlf="true"> </recv> <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></scenario>
2.2 UAC执行命令
./sipp -sf uac.xml -inf reg1.csv -p 6067 -i 10.130.41.* -m 50 10.130.16.42:5060
3 UAS脚本
3.1 场景描述脚本
<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE scenario SYSTEM "sipp.dtd"><scenario name="Basic UAS responder"><recv request="INVITE" crlf="true"></recv><send> <![CDATA[ SIP/2.0 180 Ringing [last_Via:] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]></send><send retrans="500"> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:];tag=[call_number] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Type: application/sdp Content-Length: [len] v=0 o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] s=- c=IN IP[media_ip_type] [media_ip] t=0 0 m=audio [media_port] RTP/AVP 0 a=rtpmap:0 PCMU/8000 ]]></send><recv request="ACK" optional="true" rtd="true" crlf="true"> </recv><recv request="BYE"> </recv><send> <![CDATA[ SIP/2.0 200 OK [last_Via:] [last_From:] [last_To:] [last_Call-ID:] [last_CSeq:] Contact: <sip:[local_ip]:[local_port];transport=[transport]> Content-Length: 0 ]]></send><ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/><CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/></scenario>
3.2 UAS执行脚本
./sipp -sf uas.xml -inf reg2.csv -p 6068 -i 10.130.41.* -m 50 10.130.16.42:5060
4 自动生成csv文件的脚本
#!/bin/bash
dstfile="reg1.csv"
caller=1000
callee=1050
echo "RANDOM" > $dstfile
while [ $caller != 1050 ]
do
echo "$caller;$callee;[authentication username=$caller password=1234]" >> $dstfile
caller=$(($caller + 1))
callee=$(($callee + 1))
done;
- sipp测试总结
- sipp测试总结
- sipp测试总结
- sipp总结
- sipp测试opensipps
- 安装sipp测试工具
- sipp注册话机测试
- 软电话测试工具:SIPP
- sipp
- SIPp
- SIPP
- SIPp
- SIPp压力测试Meeting的场景分析
- 如何使用SIPp测试ReSIProcate的Proxy
- 使用SIPP来进行SIP压力测试
- 使用SIPP来进行SIP压力测试
- SIPp压力测试Meeting的场景分析
- 使用 sipp 对 FreeSWITCH 进行压力测试
- html移动文字
- VC中ListCtrl经验总结
- oracle左右全连接
- iscsi target tgt试用
- CentOS下搭建Git服务器Gitosis[教程]
- sipp测试总结
- 实现 GetTickCount64
- dsPIC33F单片机产生正弦波形
- 写ASP采集的一些函数
- 【TCP/IP详解】第3章 IP:网际协议
- 【jiasuba】Word2010启动一直没响应,如何解决?
- 如何提高英文的科研写作能力
- FSO文本文件操作,读取一个文件相关信息$
- 冒泡排序