首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DTMF数字与SIPP测试

DTMF数字与SIPP测试
EN

Stack Overflow用户
提问于 2018-08-07 10:48:13
回答 2查看 2.6K关注 0票数 0

我正在尝试通过sipp将DTMF数字发送到IVR应用程序。

这是我的sip xml,除了动作部分效果很好.

呼叫成功,但未接收到DTMF数字1。它显示了作为null..not接收到的数字,得到了实际的问题,这个pcap有什么配置吗?或者脚本有什么问题?

代码语言:javascript
复制
<?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"/>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-16 21:25:48

实际上,在您的脚本中有一个使用RTP事件协商dtmf的显式请求:

代码语言:javascript
复制
  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

对等方已经接受了您提供的服务,我假设它正在等待dtmf作为一个rtp事件包;您应该能够发送带有rtp事件的pcap,或者如果不切换到sip通知或信息。

这种模式被记录在RFC 2833中,并由rfc5244首先更新。

票数 0
EN

Stack Overflow用户

发布于 2018-08-08 06:26:50

您有多种发送DTMF的方法

  1. 波段内:在音频流中混合发送音调的地方(您要做的是什么)
  2. 带外:在一个单独的SIP消息,如SIP信息或SIP通知,这基本上是说"DTMF 1是按下“的消息,而不把它放在音频流。对于IVR程序员来说要容易得多,而且更可靠。

带外方法已经变得如此普遍,以至于许多供应商在默认情况下不会费心打开他们的带内探测器。您可能需要搜索一个名为“带内DTMF检测”或"DTMF识别器“的配置设置.

当然,我不知道您所使用的系统,所以“接收数字为null”可能意味着:

  1. “无接收”,可能意味着未启用带内检测器。
  2. “收到但无法理解的东西”,可能意味着您的音频文件内容或该内容的传输有问题。

因为它是SIP到SIP,我建议切换到带外dtmf消息.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51724937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档