diff -r be6847aef077 -r bec8e016bb22 imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp --- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Fri Mar 19 16:56:51 2010 -0700 +++ b/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Mon Mar 29 12:25:49 2010 +0100 @@ -280,8 +280,19 @@ { IM_CV_LOGS(TXT("CVEngineCCHHnadler::DoHandleServiceStatusChangedL ") ); - - if (aType == ECCHIMSub) + + if (aType == ECCHPresenceSub) + { + /* SIP Adaptation -- sends error in Network Lost. This is added so that once we get it, we will unbindL and delete the context + * This happens only in case of SIP as it does not send the event in IM Subservice. + */ + if (aServiceStatus.Error() && ECCHDisabled != aServiceStatus.State()) + { + iEngine.ReleaseConnectionL (); + iEngine.DeleteContextL (); + } + } + else if (aType == ECCHIMSub) { MIMCVEngineCCHObserver::TServiceState notifyEvent = MIMCVEngineCCHObserver::ENotLoggedIn;