user2649568
user2649568

Reputation: 11

SIPp with multiple DTMF signals causing problems

I am a beginner using SIPp to load test an IVR. Here are a list of problems:

        <?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>

Many thanks

This is the command I use on CentOS5 to run the scenario: 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

As said before, the OS is CentOS (RHEL5) and I see the call to xxx3723271 placed successfully by the Asterix server. However, I don't hear more than 3 DTMF sounds out of possible 15 DTMF signals.

Upvotes: 1

Views: 2238

Answers (1)

user2654788
user2654788

Reputation: 293

To answer my question, I used this patch to send DTMF in-band.

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

No need to convert from wav to pcap. Also the invite message body has these params:

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

Upvotes: 1

Related Questions