Hi, there is a bug in RFC 4235 "An INVITE-Initiated Dialog Event Package for SIP".
Section 3.7.1 (The Dialog State Machine) and the Figure 3 forget the case in which a UAC sends a BYE during an early-dialog as RFC3261 allows: RFC 3261: ---------------- 15 Terminating a Session When a BYE is received on a dialog, any session associated with that dialog SHOULD terminate. A UA MUST NOT send a BYE outside of a dialog. The caller's UA MAY send a BYE for either confirmed or early dialogs, and the callee's UA MAY send a BYE on confirmed dialogs, but MUST NOT send a BYE on early dialogs. ---------------- So it should be a new row in Figure 3 from "Early" to "Terminate" labeled "local-bye/remote-bye". It would be "local-bye" in case of UAC and "remote-bye" in case of UAS. Section 3.7.1 says: ---------------------------- [...] non-2xx response for any other reason, all FSMs spawned from that INVITE transition to the Terminated state with the event "rejected". [...] If the UAS receives a CANCEL request and then generates a 487 response to the INVITE (which can occur in the Proceeding and Early states), the FSM transitions to the Terminated state with the event "cancelled". ---------------------------- It should say: ---------------------------- [...] non-2xx response for any other reason, all FSMs spawned from that INVITE transition to the Terminated state with the event "rejected". During Early state the FSM transitions to the Terminate state if the UAC sends a BYE (corresponding to "local-bye" event). [...] If the UAS receives a CANCEL request and then generates a 487 response to the INVITE (which can occur in the Proceeding and Early states), the FSM transitions to the Terminated state with the event "cancelled". If the UAS receives a BYE request during the Early state the FSM transitions to the Terminated state with the event "remote-bye". ---------------------------- The potential problem could occur, for example, if a UA receives a BYE during Early State, and generates an internal event "remote-bye". The FSM, according to current section 3.76.1, wouldn't transit to Terminate state and could leave in an unknown state. -- Iñaki Baz Castillo <[EMAIL PROTECTED]> _______________________________________________ Sip mailing list https://www.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use [EMAIL PROTECTED] for questions on current sip Use [EMAIL PROTECTED] for new developments on the application of sip
