< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[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