diff -r 5e5d6b214f4f -r f5911524345e imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp --- a/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Tue Feb 02 10:12:18 2010 +0200 +++ b/imstutils/imconversationview/imcvuiengine/src/cimcvenginecchhandler.cpp Fri Feb 19 22:41:11 2010 +0200 @@ -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;