I have call flow:
UAC(tcp) SIPp(tcp)
Regsiter (callid1)
---------------->
401
<---------------
Regsiter
---------------->
200 OK
<---------------
Subscribe (callid2)
-------------->
200 OK
<---------------
The issue is when tcp is enabled, SUBSCRIBE is not received by the SIPp. I can see the wireshark UE is sending SUBSCRIBE.
Also tried with separating the flows(Registration and Subscribe) into two script and with the option -m 1, it didnt work either.
Scripts and log attached.
<?xml version="1.0" encoding="us-ascii"?>
<!--FILE 1 REGISER LEG-->
<scenario name="Init_Reg">
<recv request="REGISTER" crlf="true" >
</recv>
<send>
<![CDATA[
SIP/2.0 401 Unauthorized
[last_Via:]
[last_From:]
[last_To:];tag=1234
[last_Call-ID:]
[last_CSeq:]
WWW-Authenticate:Digest realm="rer.com", nonce="o94MbTY+sd/jVd24yOzbEbIAdsfdAo98ObjI7tsQ=", opaque="drtysywwytewyweyewrterwer",algorithm=AKAv1-MD5, qop="auth"
Content-Length: 0
]]>
</send>
<recv request="REGISTER" crlf="true" >
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=1234
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Expires: 600000
P-Associated-URI: <sip:55@172.16.103.54;user=phone>
Service-Route: 172.16.103.54:5060;lr
Content-Length: 0
]]>
</send>
</scenario>
<!--FILE 2 SUBSCRIBE LEG-->
<?xml version="1.0" encoding="us-ascii"?>
<scenario name="Init_Reg_Subscribe">
<recv request="SUBSCRIBE" crlf="true" >
</recv>
<send>
<![CDATA[
SIP/2.0 200 OK
[last_Via:]
[last_From:]
[last_To:];tag=1234
[last_Call-ID:]
[last_CSeq:]
Contact: <sip:[local_ip]:[local_port];transport=[transport]>
Expires: 0
Content-Length: 0
]]>
</send>
</scenario>
<!--SIPp Commands-->
#!/bin/bash
#REGISTER bob
./sipp -m 1 172.16.104.54:5060 -p 5060 -i 10.204.21.125 -t t1 -sf TC_8_1_TCP.xml -trace_err
./sipp -m 1 172.16.104.54:5060 -p 5060 -i 10.204.21.125 -t t1 -sf TC_8_1_TCP_SUBS.xml -trace_err