【发布时间】:2016-01-29 23:06:51
【问题描述】:
我想用 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>
【问题讨论】:
-
能否分享您正在测试的相应 RVD 应用程序的链接?另外,你为什么使用
?您还可以在媒体服务器中查找日志以查看在运行时识别出哪些 DTMF。 -
嗨@hrosa 我可以分享我的 URL POST 的 RCML 结果。我认为这不是 Restcomm 问题...因为 Restcomm 向我显示了一个数字按下...
-
@hrosa 我编辑帖子,你可以看到我的页面(我添加了规则 *247 -> POST 到 ../index.jsp),你可以忽略
,我只是贴上去试试,还是一样。