[英]DTMF digit with SIPP test
I am trying to send the DTMF digits through sipp to IVR application 我正在尝试通过Sipp将DTMF数字发送到IVR应用程序
This is my sip xml and works good except action part... 这是我的sip xml,除了操作部分外效果很好。
Call is successful but DTMF digit 1 is not received. 呼叫成功,但未接收到DTMF数字1。 It is showing that digit received as null..not getting the actual problem is there any configuration for this pcap ?or anytthing problem with the script?
这表明接收到的数字为null ..没有得到实际的问题这个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="183" optional="true">
</recv>
<recv response="200">
</recv>
<![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="5000"/>
<nop>
<action>
<exec play_pcap_audio="pcap/dtmf_2833_1.pcap"/>
</action>
</nop>
<pause milliseconds="2000"/>
<recv request="BYE"> </recv>
<send>
<![CDATA[
SIP/2.0 200 OK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:[field]@[local_ip]:[local_port]>;tag=[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:sipp[call_number]@[local_ip]:[local_port]
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0
]]>
</send>
<ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>
You have multiple ways of sending DTMF 您有多种发送DTMF的方式
The out-of-band method has become so commonplace, that many vendors will not bother turning on their in-band detectors by default. 带外方法已经变得司空见惯,以至于许多供应商默认都不会打扰他们的带内检测器。 You may want to search for a configuration setting named like "In-band DTMF detection" or "DTMF recognizer" ...
您可能要搜索名为“带内DTMF检测”或“ DTMF识别器”的配置设置...
Of course, I don't know the system you are using so "digit received as null" may mean: 当然,我不知道您使用的系统,因此“数字接收为空”可能意味着:
Since it's SIP-to-SIP I would recommend switching to an out-of-band dtmf message. 由于它是SIP到SIP,因此建议您切换到带外dtmf消息。
Actually you have in your script an explicit request to negotiate dtmf in-band using RTP events : 实际上,您的脚本中有一个明确的请求,要求使用RTP事件在带内协商dtmf:
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
The peer has accepted you offer I assume and is waiting dtmf as a rtp event packet; 对方接受了我提供的您提供的信息,并且正在等待dtmf作为rtp事件包; you should be able to send a pcap with an rtp event or if not switch to sip notify or info.
您应该能够发送带有rtp事件的pcap,或者如果没有切换到sip notify或info。
This mode is documented in RFC 2833 first and updated by rfc5244. 此模式首先在RFC 2833中记录,然后由rfc5244更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.