Thanks.
Marc Petit-Huguenin wrote:
[EMAIL PROTECTED] wrote:
An UAC sends an INVITE to an UAS. The UAS responds with a 200 (no 1xx was sent, or the 1xx was lost), but the 200 is lost in the network. In this case the UAC will retransmit the INVITE until a 200 is received, and the UAS will retransmit the 200 until an ACK is received. What is not clear is what the UAS must do with the retransmitted INVITE received. The transaction is gone, so the INVITE is received directly by the TU. Bug654[1] says that a 500 must be sent, but it looks like a bad idea, as the 200 can still be retransmitted and received by the UAC. A better alternative would be to simply discard the INVITE that have a sequence number equals to the remote sequence number; the 200 will be retransmitted and hopefully the UAC will send an ACK to the UAS.
Discarding the INVITE is the correct thing to do.
Another related problem is when there is a stateful proxy between the UAC and the UAS. If the 200 is lost between the UAC and the proxy, then what the proxy must do with the retransmitted INVITE?
I think here you mean the Proxy is call stateful. In this case,
the proxy must have a similar logic as the UA for doing retransmissions of 2xx. Hence the INVITE which matches a dialog
but has the same Cseq can be discarded.
Ok, but what about a transaction stateful proxy? There is no dialog to match, so how to discard the retransmitted INVITE?
Thank you for your responses.
[1] http://www.sipwg.org/sipwg/show_bug.cgi?id=654
_______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
