我想用 SIPP 为我的 SIP 服务器(Restcomm)创建负载测试,
这是我的 sipp 脚本,运行良好...通话成功,正在播放 DTFM
我可以收到数字 1 一次,但不能收到 2 次...如果我在第二个“播放”中更改一个不同的数字,效果很好,但如果两者都是相同的数字,我只能收到第一个。
它是 SIPP 错误吗?还是我的脚本有问题?
我相信问题就在这里
<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 端
我可以使用以下网址访问此页面:http: //192.168.148.1 :18080/test/index.jsp
我可以听到音频(无限循环测试)
1) 使用 SIP 客户端 (JITSI) 进行测试:我可以按 1,1 并听到 2 次 2) 使用 SIPP 脚本进行测试:我只能听到 1 次
<%@ 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>