Hi,
I can't figure out why my UAC script keeps returning the same error
message: " :<recv> before <send> sequence without a mandatory message.
Please remove one 'optional=true' (element 25)..".
Scenario description:
The UAC scenario sends an INVITE to an IVR, a pcap is played and option 1
is selected in the IVR. After this the PBX (Avaya) fires off 5 reINVITEs.
After these 5 reINVITEs the call is put in a queue. Call #1 is answered by
the agent and after a few seconds the agent terminates the call. If for
some reason the UAC doesn't receive a BYE from the UAS there is a timeout
that triggers the UAC to send a BYE.
If all agents are busy the calls in the queue receive Music on Hold and an
annunciated message. For this the UAS sends 1 or multiple reINVITEs to the
UAC. The number of reINVITEs depends on the queue depth. So either an
incoming receives the standard 5 reINVITEs or more (6, 7, 8.. I don't
know..). I tried to solve this with 'optional', 'next' and 'label id'
configuration option, as seen below. But if I start the SIPp scenario I get
an error saying: "2016-10-10 16:16:13.343168 1476108973.343168: <recv>
before <send> sequence without a mandatory message. Please remove one
'optional=true' (element 25)..".
Anybody any idea how to get this loop to work?
Regards, Paul
-----------------------------------------------------
looping part of UAC scenario:
-----------------------------------------------------
<!-- #6 RE-INVITE and response loop
-->
<label id="10"/>
<recv request="INVITE" rrs="true" optional="true" next="11">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
...
]]>
</send>
<recv request="ACK" rrs="true" crlf="true" next="10">
</recv>
<recv request="BYE" timeout="300000" ontimeout="2" next="3">
</recv>
-----------------------------------------------------
Flow graph between UAC and UAS:
-----------------------------------------------------
[UAC] <------------------> [UAS]
INVITE ---------->
100 <----------
183 <----------
200 <----------
ACK ---------->
Pause [ 20.0s]
[ NOP ]
INVITE <---------- (reINVITE #1)
200 ---------->
ACK <----------
INVITE <---------- (reINVITE #2)
200 ---------->
ACK <----------
INVITE <---------- (reINVITE #3)
200 ---------->
ACK <----------
INVITE <---------- (reINVITE #4)
200 ---------->
ACK <----------
INVITE <---------- (reINVITE #5)
200 ---------->
ACK <----------
INVITE <---------- (optional reINVITE)
200 ---------->
ACK <----------
BYE <----------
BYE ---------->
200 <----------
200 ---------->
-----------------------------------------------------
UAC Scenario:
-----------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">
<scenario name="UAC with media">
<send retrans="500">
<![CDATA[
INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp
<sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag09[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>
Call-ID: [call_id]
CSeq: 1 INVITE
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
P-Asserted-Identity: <sip:[service]@[remote_ip]:[remote_port]>
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_ip]
t=0 0
m=audio [auto_media_port] RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-11,16
]]>
</send>
<recv response="100" optional="true" rrs="true">
</recv>
<recv response="183" optional="true" rrs="true">
</recv>
<recv response="200" rrs="true" rtd="true" >
</recv>
<send>
<![CDATA[
ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0
[routes]
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp
<sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag09[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 1 ACK
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
P-Asserted-Identity: <sip:[service]@[remote_ip]:[remote_port]>
Subject: Performance Test
Content-Length: 0
]]>
</send>
<pause milliseconds="20000"/>
<!-- Play a pre-recorded PCAP file (RTP stream) -->
<nop>
<action>
<exec
play_pcap_audio="/usr/local/etc/sipp-3.3.990/pcap/dtmf_2833_1.pcap"/>
</action>
</nop>
<!-- #1 RE-INVITE and response
-->
<recv request="INVITE" rrs="true">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] 0.0.0.0
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rrs="true" crlf="true">
</recv>
<!-- #2 RE-INVITE and response
-->
<recv request="INVITE" rrs="true">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:5060>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rtd="true" crlf="true">
</recv>
<!-- #3 RE-INVITE and response
-->
<recv request="INVITE" rrs="true">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] 0.0.0.0
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rrs="true" crlf="true">
</recv>
<!-- #4 RE-INVITE and response
-->
<recv request="INVITE" rrs="true">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] 0.0.0.0
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rrs="true" crlf="true">
</recv>
<!-- #5 RE-INVITE and response
-->
<recv request="INVITE" rrs="true">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] 0.0.0.0
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rrs="true" crlf="true">
</recv>
<!-- #6 RE-INVITE and response loop
-->
<label id="10"/>
<recv request="INVITE" rrs="true" optional="true" next="11">
</recv>
<send retrans="500">
<![CDATA[
SIP/2.0 200 OK
[last_Record-Route:]
[last_Via:]
[last_From:]
[last_To:];tag=[pid]SIPpTag01[call_number]
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[field0]@[local_ip]:[local_port]>
Content-Type: application/sdp
Content-Length: [len]
v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] 0.0.0.0
t=0 0
m=audio [media_port] RTP/AVP 8
a=ptime:20
]]>
</send>
<recv request="ACK" rrs="true" crlf="true" next="10">
</recv>
<recv request="BYE" timeout="300000" ontimeout="2" next="3">
</recv>
<label id="2"/>
<send retrans="500">
<![CDATA[
BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0
[routes]
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp
<sip:[field0]@[local_ip]:[local_port]>;tag=[pid]SIPpTag09[call_number]
To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param]
Call-ID: [call_id]
CSeq: 2 BYE
Contact: sip:[field0]@[local_ip]:[local_port]
Max-Forwards: 70
P-Asserted-Identity: <sip:[service]@[remote_ip]:[remote_port]>
Subject: Performance Test
Content-Length: 0
]]>
</send>
<recv response="200" crlf="true" next="4">
</recv>
<label id="3"/>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_To:]
[last_From:]
[last_Call-ID:]
[last_CSeq:]
[last_Via:]
Content-Length: 0
]]>
</send>
<label id="4"/>
<!-- 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>
-----------------------------------------------------
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Sipp-users mailing list
Sipp-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sipp-users