diff -r cfa56fceeabb -r cc281bee0180 vpnengine/vpnconnagt/src/vpnsipobserver.cpp --- a/vpnengine/vpnconnagt/src/vpnsipobserver.cpp Fri Jun 11 16:27:09 2010 +0100 +++ b/vpnengine/vpnconnagt/src/vpnsipobserver.cpp Thu Jul 22 16:44:07 2010 +0100 @@ -108,23 +108,24 @@ // void CVpnSipObserver::RunL() { + LOG_1( "CVpnSipObserver::RunL iStatus = %d", iStatus.Int()); if ( iStatus == KErrNone ) { TInt val = 0; // SIP Profile Server notified completion of SIP deregistration. - TInt err = iSIPProperty.Get( KPSVpnSipUid, KVpnSipState, val ); - - if ( err == KErrNone ) + TInt err = iSIPProperty.Get( KPSVpnSipUid, KVpnSipState, val ); + if ( err == KErrNone && val == ESipDeregisterCompleted ) { // If SIP is deregistered, let the VPN Connection Agent to // proceed VPN session start. - if ( val == ESipDeregisterCompleted ) - { - iAgent.ProceedServiceStart(); - } + LOG_( "CVpnSipObserver::RunL SIP is deregistered. VPN Connection Agent continue with VPN start." ); + iAgent.ProceedServiceStart(); } - // Keep monitoring. - Subscribe(); + else + { + // Keep monitoring. + Subscribe(); + } } // Check if observer can be restarted. else if ( iStatus != KErrCancel