[reSIProcate] assertion: "DUM let me send a BYE at an incorrect state"
Hi,
The assertion occurs in the following situation:
Application calls InviteSession::end() as part of
onOfferRequestRejected handling.
onOfferRequestRejected was raised by incoming reINVITE
in SentReinviteNoOffer state.
InviteSession::end() will cause
SentReinviteNoOfferGlare -> Terminated state
transition.
But the incoming reInvite is still dispatched using
dispatchConnected from
InviteSession::dispatchReinviteNoOfferGlare as and it
causes incorrect state transition:
Terminated -> ReceivedReinvite
The following handling of 200 for BYE causes the
assertion in InviteSession::dispatchBye
The quick fix for that could be to add state
verification in both
InviteSession::dispatchReinviteNoOfferGlare and
InviteSession::dispatchGlare:
if (mState==Terminated)
dispatchTerminated(msg);
else
dispatchConnected(msg);
Thanks,
Boris
Ask a question on any topic and get answers from real people. Go to
Yahoo! Answers and share what you know at http://ca.answers.yahoo.com