Reputation: 11
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
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