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

[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