[英]Repeat DTMF digit with SIPP Test
I am wanting to create a Load Testing with SIPP to my SIP Server(Restcomm), 我想使用SIPP创建负载测试到我的SIP服务器(Restcomm),
This is my sipp script,Works well... The Call is successfully, The DTFM is playing 这是我的Sipp脚本,效果很好...呼叫成功,DTFM正在播放
I can receive the digit 1 one time, but cannot receive 2 times... If I change in the second 'play' a distinct digit, works well but if both are the same digit I only can receive the first. 我可以一次收到1位数字,但不能收到2次...如果我在第二个“游戏”中更改一个不同的数字,效果很好,但如果两个都是相同的数字,我只能收到第一个数字。
Is it a SIPP Bug? 是SIPP错误吗? or Have I have some wrong with my script? 或我的脚本有问题吗?
I believe that the problem is here 我相信问题就在这里
<exec play_pcap_audio="pcap/dtmf_2833_1.pcap" />
That is my complete script 那是我完整的剧本
<?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" />
Update: 更新:
Adding Restcomm Side 添加Restcomm端
I can access to this Page with the url: http://192.168.148.1:18080/test/index.jsp 我可以使用以下网址访问此页面: http : //192.168.148.1 : 18080/test/index.jsp
I can hear the the audio (infinite loop to test) 我可以听到音频(无限循环进行测试)
1) Testing with SIP Client (JITSI): I can press 1,1 and hear 2 times 2) Testing with SIPP Script: I only hear 1 time 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>
I suggest increasing the pause time of SIPp when playing the DTMF to 139ms (instead of current 100ms), so that the Media Server can receive the packets with end-of-event flag set to true. 我建议将播放DTMF时SIPp的暂停时间增加到139ms(而不是当前的100ms),以便媒体服务器可以接收事件结束标志设置为true的数据包。
Also, set numDigits="2" in the RCML Gather verb. 另外,在RCML Gather动词中设置numDigits =“ 2”。
Hope this helps. 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.