> 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. > > 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
