This is a known semi-bug in RFC 3261. Another version of it is described in the SIP bugs database at http://bugs.sipit.net/show_bug.cgi?id=769
The central point is that when the BYE is received and processed, the *dialog* is terminated. But the *server transaction* is not terminated at that time, it remains in existence until all possible retransmissions could have been received. (I forget which timer value that is.) RFC 3261 does not make it clear that the entities in the two different layers do not have linked lifetimes. Dale ________________________________________ From: [email protected] [[email protected]] On Behalf Of M. Ranganathan [[email protected]] Sent: Tuesday, April 03, 2012 3:25 PM To: sip-implementors Subject: [Sip-implementors] BYE retransmissions Consider the following scenario: UA sends peer UA BYE Recipient of BYE sends OK and tears down the dialog. OK gets lost so sender of UA re-sends BYE. Now there's a dialog in Terminated State but no server transaction (it has already been removed). What is the most appropriate way for the receiver of the retransmitted BYE to respond? Should it respond with OK, CALL_OR_DIALOG_NOT_FOUND or SERVER_FAILURE ( due to the fact that the in-dialog BYE has been sent with a previously seen cseq number) ? -- M. Ranganathan _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
