[SIPForum-discussion] [Sip-implementors] SIP Bye before 200 OK for Initial Invite

Dale R. Worley worley at ariadne.com
Sat Jun 10 00:04:20 UTC 2017


NK <nitinkapoorr at gmail.com> writes:
> I am facing a strange scenario where my SBC is sending BYE before it
> received 200 OK for initial invite.
>
> A ========= INVITE ========> B
> A <=== 100 Giving a Try ========B
> A <==========100 Try ========B
> A <======183 w/SDP==========B
> A <======183 w/SDP==========B
> A <======180 w/SDP==========B
> A ========= *BYE* ==========> B
> A <=== *SIP 200 OK for Invite* ====B

I take it that "my SBC" is the same as "A"?  You really should use
consistent terminology, or explain this.

> Anyone faced this problem earlier? Is that possible because i believe we
> should receive only CANCEL to terminate the call before the dialog
> establish.
>
> Can any one please help on this? And if there is any rfc can help me to
> understand this.

It looks like the first paragraphs of section 15 of RFC 3261,
"Terminating a session", address this.  The critical point is that while
the UAC sending CANCEL attempts to terminate the effect of the INVITE,
that is, all active forks of it, a BYE terminates only the *dialog or
early dialog* it is sent on.  That is, a BYE has a to-tag, and it only
affects the (early) dialog with the UAC that sent the (provisional)
response(s) with that to-tag.

So to address your case, you'd need to specify what to-tags are present
in the responses.  I suspect that all of them have the same to-tag, so
there's one early dialog starting at the first 183 that would become
established with the 200 for INVITE, but it's terminated by A sending
the BYE.

As always, when dealing with strange cases of the SIP protocol, it's
worth checking RFC 5407, "Example Call Flows of Race Conditions", which
is so significant it is sometimes referred to by just the name of its
primary author, "Hasebe".  It gives more detailed state machines for the
UAS and UAC.  In this case, I find "Appendix A.  BYE in the Early
Dialog", whose text refers to section 3.1.3, "Callee Receives BYE (Early
State) While in the Moratorium State".

Dale



More information about the discussion mailing list