[reSIProcate] assertion: "DUM let me send a BYE at an incorrect state"

Boris Rozinov borisrozinov at yahoo.ca
Sat Nov 10 12:25:44 CST 2007


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



More information about the resiprocate-devel mailing list