我想使用SIPP为我的SIP服务器(Restcomm)创建负载测试,
这是我的sipp脚本,运行良好......呼叫成功,DTFM正在播放
我可以一次收到数字1,但是不能接收2次...如果我在第二次“播放”中改变一个不同的数字,效果很好但是如果两者都是相同的数字我只能接收第一个数字。 / p>
是SIPP Bug吗?或者我的剧本有问题吗?
我相信问题就在这里
<exec play_pcap_audio="pcap/dtmf_2833_1.pcap" />
这是我的完整脚本
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="UAC with media">
<send retrans="500">
<![CDATA[
INVITE sip:[field0]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:[field1]@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[field0]@[remote_ip]:[remote_port]>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:[field1]@[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_port]
t=0 0
m=audio [auto_media_port] RTP/AVP 96 0 9 8 101 13
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-1
]]>
</send>
<recv response="100" optional="true">
</recv>
<recv response="100" optional="true">
</recv>
<recv response="180" optional="true">
</recv>
<!-- By adding rrs="true" (Record Route Sets), the route sets -->
<!-- are saved and used for following messages sent. Useful to test -->
<!-- against stateful SIP proxies/B2BUAs. -->
<recv response="200" rtd="true" crlf="true">
</recv>
<!-- Packet lost can be simulated in any send/recv message by -->
<!-- by adding the 'lost = "10"'. Value can be [1-100] percent. -->
<send>
<![CDATA[
ACK sip:[field0]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:[field1]@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[field0]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:sipp@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<pause milliseconds="1000" />
<nop>
<action>
<exec play_pcap_audio="pcap/dtmf_2833_1.pcap" />
</action>
</nop>
<pause milliseconds="100" />
<nop>
<action>
<!-- <exec play_pcap_audio="pcap/dtmf_2833_5.pcap"/> -->
<exec rtp_stream="resume" />
<exec play_pcap_audio="pcap/dtmf_2833_1.pcap" />
</action>
</nop>
<pause milliseconds="100" />
<!-- definition of the response time repartition table (unit is ms) -->
<ResponseTimeRepartition value="100, 500,1000,3000,4000,5000,6000" />
<!-- definition of the call length repartition table (unit is ms) -->
<CallLengthRepartition value="500,1000,2500,5000,6000,7000,9000,10000" />
更新
添加Restcomm Side
我可以使用网址http://192.168.148.1:18080/test/index.jsp
访问此页面我可以听到音频(无限循环测试)
1)使用SIP客户端(JITSI)进行测试:我可以按1,1并听到2次 2)使用SIPP脚本进行测试:我只听到一次
<%@ page language="java" contentType="text/xml; charset=ISO-8859-1"
import="java.util.*" pageEncoding="ISO-8859-1"%>
<%
if (request.getParameter("reply")!=null){
System.out.println("=========== REPLY ==============="+request.getParameter("Digits"));
}else{
System.out.println("=======================================================");
System.out.println("=========== NEW CALL =================");
System.out.println("=======================================================");
}
%>
<Response>
<Gather action="index.jsp?reply=1" method="GET" numDigits="1" timeout="20">
<Play>http://192.168.148.1:8080/restcomm/audio/demo-prompt.wav</Play>
</Gather>
</Response>