[reSIProcate] stray 200 with invalid To: tag incorrectly creating new dialog
Hello,
Using DUM an outbound INVITE is created and a call is setup properly. My
app calls ClientInviteSession::end(), which generates the BYE correctly to
the UA (call trace below). After this BYE is sent, a stray 200Ok is
received from the UAS with a to: tag that is not equal to the original
INVITE. The call-id and from tag are the same so the DialogSet is found and
then a new dialog is created because the to: tag is different. The invalid
to: tag is not part of any other call setup, so it must be bug on the UAS.
Is this the behavior I would see if the other end is a proxy and the request
was forked?
I did not see any logic in the DUM that keeps track of outbound requests, so
I don't know how DUM would figure out that this 200 response does not have a
corresponding request. How should I handle this situation?
Thanks,
-Justin
Call trace:
[Tx]
INVITE sip:13107771006@xxxxxxxxxxxx:5060 SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-0117c25e4d6ef164-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:13107771006>
To: <sip:13107771006@xxxxxxxxxxxx:5060>
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 INVITE
[Rx]
SIP/2.0 100 Trying
Via: SIP/2.0/UDP
192.168.1.100:5060;branch=z9hG4bK-d87543-0117c25e4d6ef164-1--d87543-;rport
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=74ed-8f3e-9a19-dfaa
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 INVITE
[Rx]
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP
192.168.1.100:5060;branch=z9hG4bK-d87543-0117c25e4d6ef164-1--d87543-;rport
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=74ed-8f3e-9a19-dfaa
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 INVITE
[Rx]
SIP/2.0 200 OK
Via: SIP/2.0/UDP
192.168.1.100:5060;branch=z9hG4bK-d87543-0117c25e4d6ef164-1--d87543-;rport
Contact: 13107771006 <sip:13107771006@xxxxxxxxxxxx:5060;transport=UDP>
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=74ed-8f3e-9a19-dfaa
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 INVITE
[Tx]
ACK sip:13107771006@xxxxxxxxxxxx:5060;transport=UDP SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-a6513e39457e6f4e-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:13107771006>
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=74ed-8f3e-9a19-dfaa
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 ACK
[Tx]
BYE sip:13107771006@xxxxxxxxxxxx:5060;transport=UDP SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-d87543-a301bb6efc13600d-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:13107771006>
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=74ed-8f3e-9a19-dfaa
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 2 BYE
[Rx] Stray 200! New Dialog will be created, onNewSession() called...
SIP/2.0 200 OK
Via: SIP/2.0/UDP
192.168.1.100:5060;branch=z9hG4bK-d87543-0117c25e4d6ef164-1--d87543-;rport
Contact: 13107771006 <sip:13107771006@xxxxxxxxxxxx:5060;transport=UDP>
To: <sip:13107771006@xxxxxxxxxxxx:5060>;tag=67f3-2abf-1810-42f1
From: "13107771006"<sip:13107771006@xxxxxxxxxxxx:5060>;tag=e6024013
Call-ID: f560-67627970-0003-Call7-2
CSeq: 1 INVITE