[reSIProcate] Handling the case where one side Re-INVITE and other side BYE simutanesouly
Hi,
I suggested to add the processing for case where one
side Re-INVITE, for instance, HOLD a call, and the
othre side hangup the call simutanesouly in
InviteSession.cxx:
case ReInviting:
....
else
{
ErrLog ( << "Spurious message sent to UAS " <<
msg );
//xkd-2004-9-28
if (msg.header(h_CSeq).method() == BYE)
{
if (msg.isResponse())
{
mState = Terminated;
mDum.mInviteSessionHandler->onTerminated(getSessionHandle(),msg);
}
else
{
// I am sending re-INVITE, other side send BYE
mState = Terminated;
mDum.mInviteSessionHandler->onTerminated(getSessionHandle(),msg);
mDialog.makeResponse(mLastResponse, msg, 200);
send(mLastResponse);
}
}//if (msg.header(h_CSeq).method() == BYE)
// end xkd-2004-9-28
Any comments are welcome.
kaiduan
______________________________________________________________________
Post your free ad now! http://personals.yahoo.ca