--- a/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Mon Jun 21 15:29:21 2010 +0300
+++ b/voipplugins/sipconnectionprovider/src/scppresencehandler.cpp Thu Aug 19 09:45:22 2010 +0300
@@ -244,6 +244,17 @@
if ( iSubService.SipProfileId() == aProfileId &&
iSubService.EnableRequestedState() != CScpSubService::EScpNoRequest )
{
+ if ( EScpDeregistered == aEvent &&
+ iSubService.EnableRequestedState() == CScpSubService::EScpEnabled )
+ {
+ SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> unbind" );
+ TRAPD( err, HandleDeregistrationL( EFalse ) );
+ if ( KErrNotReady == err )
+ {
+ SCPLOGSTRING( "CScpPresenceHandler - EScpDeregistered -> not ready: unbind" );
+ TRAP_IGNORE( ServerUnBindL() );
+ }
+ }
//if network lost, unbind context
if ( EScpNetworkLost == aEvent )
{