Hi, The 401 response must not create a dialog on your UAS. Dialog can be created only through generation of non-failure final responses and 101 -199 provisional responses.
Section 14.2 is applicable only if the UAS has NOT YET sent the final response, which is not the case here. UAS should treat the new INVITE as an independent transaction and not link it with the previous one. Thanks, Pranab ________________________________________ From: [email protected] [[email protected]] On Behalf Of neil corcoran [[email protected]] Sent: Thursday, August 02, 2012 2:16 PM To: [email protected] Subject: [Sip-implementors] INVITE ACK race problem Hi all, We've come across a situation where we as the UAS challenge INVITE(A) with a 401, and the second INVITE(B) containing the credentials arrives before the ACK for INVITE(A). INVITE(B) has the same Call-Id and From Tag and the CSeq is +1. This happens because even though the UAC sends ACK(A) followed by INVITE(B) (on UDP), an proxy sends INVITE(B) using TCP which occasionally wins the race to get to the UAS. INVITE(A) <-------------- UDP 100 -------------->UDP 401 -------------->UDP INVITE(B) <-------------- TCP ACK(A) <-------------- UDP INVITE(B)'s transaction gets linked to INVITE(A)'s dialog which makes it complicated to resolve when the re-transmissions arrive. For me the best solution I think would be to respond to INVITE(B) with 500 and include a Retry-After header but I've not been able to spot anything definitive in the RFCs other than this which isn't quite the same. >From RFC 3261 "14.2 UAS Behavior ... A UAS that receives a second INVITE before it sends the final response to a first INVITE with a lower CSeq sequence number on the same dialog MUST return a 500 (Server Internal Error) response to the second INVITE and MUST include a Retry-After header field with a randomly chosen value of between 0 and 10 seconds. " Is this a reasonable action to take in this situation. Neil _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors SASKEN BUSINESS DISCLAIMER: This message may contain confidential, proprietary or legally privileged information. In case you are not the original intended Recipient of the message, you must not, directly or indirectly, use, disclose, distribute, print, or copy any part of this message and you are requested to delete it and inform the sender. Any views expressed in this message are those of the individual sender unless otherwise stated. Nothing contained in this message shall be construed as an offer or acceptance of any offer by Sasken Communication Technologies Limited ("Sasken") unless sent with that express intent and with due authority of Sasken. Sasken has taken enough precautions to prevent the spread of viruses. However the company accepts no liability for any damage caused by any virus transmitted by this email. Read Disclaimer at http://www.sasken.com/extras/mail_disclaimer.html _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
