具有多个DTMF​​信号的SIPp导致问题

时间:2013-08-04 00:13:04

标签: pcap

我是初学者,使用 SIPp 来加载测试IVR。以下是一系列问题:

  • 无法播放超过3个DTFM音 - 我希望能够发送一系列    DTFM音调如3411111111111111 - 我听到的只有3音和死音
  • 无法使用INFO - 这可能是asterix服务器问题
  • 最后我决定使用生成的在线工具创建DTMF剪辑    一个WAV文件;找不到WAV到PCAP转换器。试图从sourceforge编译wav2rtp;    试过sox,gstreamer和wireshark ...有人可以指导我详细介绍如何从WAV转换为PCAP。
        <?xml version="1.0" encoding="ISO-8859-1" ?>
        <!DOCTYPE scenario SYSTEM "sipp.dtd">
        <scenario name="Basic Sipstone UAC">
        <send retrans="500">
        <![CDATA[

         INVITE sip:OUTBOUND+xxx3723271@[remote_ip]:[remote_port] SIP/2.0
         Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
         From: sipp <sip:xxx2271172@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
         To: <sip:OUTBOUND+xxx3723271@[remote_ip]:[remote_port]>
         Call-ID: [call_id]
         CSeq: 1 INVITE
         Contact: sip:xxx2271172@[local_ip]:[local_port]
         Max-Forwards: 70
         Subject: Performance Test
         Content-Type: application/sdp
         Content-Length: [len]

         ]]>
         </send>

         <recv response="100"
         optional="true">
         </recv>

  <recv response="180" optional="true">
  </recv>

  <recv response="183" 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">
  </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:OUTBOUND+xxx3723271@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:xxx2271172@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: <sip:OUTBOUND+xxx3723271@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 1 ACK
      Contact: sip:xxx2271172@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0

    ]]>
  </send>
<pause milliseconds="1000"/>
<nop>
<action>
<exec play_pcap_audio="/home/xxx/sippy/dtmf_2833_1.pcap"/>
</action>
</nop>
<pause milliseconds="10000"/>
  <!-- The 'crlf' option inserts a blank line in the statistics report. -->
  <send retrans="500">
    <![CDATA[

      BYE sip:OUTBOUND+xxx3723271@[remote_ip]:[remote_port] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: sipp <sip:xxx2271172@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
      To: <sip:OUTBOUND+xxx3723271@[remote_ip]:[remote_port]>[peer_tag_param]
      Call-ID: [call_id]
      CSeq: 2 BYE
      Contact: sip:xxx2271172@[local_ip]:[local_port]
      Max-Forwards: 70
      Subject: Performance Test
      Content-Length: 0

    ]]>
  </send>

  <recv response="200" crlf="true">
  </recv>
  <recv response="503" crlf="true">
  </recv>
  <recv response="480" crlf="true">
  </recv>

  <!-- definition of the response time repartition table (unit is ms)   -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

  <!-- definition of the call length repartition table (unit is ms)     -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>

</scenario>

非常感谢

这是我在CentOS5上用来运行场景的命令: sudo /usr/bin/sipp 198.245.34.118 -sf /home/mgandikota/sippy/uacellwithtest.xml -inf invite.csv -m 1 -trace_err -trace_logs -aa -t un

如前所述,操作系统是CentOS(RHEL5),我看到了对xxx3723271的调用 由Asterix服务器成功放置。但是,我听不到超过3个 DTMF发出可能的15个DTMF​​信号。

1 个答案:

答案 0 :(得分:1)

为了回答我的问题,我使用此补丁发送带内DTMF。

http://sourceforge.net/p/sipp/patches/50/

无需从wav转换为pcap。邀请消息正文 有这些参数:

o=root 1821 1821 IN IP4 [remote_ip]
s=session
c=IN IP4 [remote_ip]
t=0 0
m=audio [media_port] RTP/AVP 96 0
a=rtpmap:18 G711a/8000
a=silenceSupp:on - - - -
a=ptime:20
a=sendrecv
a=rtpmap:0 PCMU/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16