diff -r be41ab7b952f -r 43658d24f35d voipplugins/sipconnectionprovider/src/scpservicemanager.cpp --- a/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Tue May 11 16:04:22 2010 +0300 +++ b/voipplugins/sipconnectionprovider/src/scpservicemanager.cpp Tue May 25 12:31:20 2010 +0300 @@ -1049,7 +1049,9 @@ CleanupClosePushL( cmm ); RCmDestination destination( cmm.DestinationL( snapId ) ); CleanupClosePushL( destination ); - + + TBool wlanIapFound( EFalse ); + for ( TInt i = 0; i < destination.ConnectionMethodCount(); i++ ) { RCmConnectionMethod cm = destination.ConnectionMethodL( i ); @@ -1060,6 +1062,7 @@ { SCPLOGSTRING( "CScpServiceManager::CheckAvailableConnectionsL WLAN IAP found" ); iaps.Append( cm.GetIntAttributeL( CMManager::ECmIapId ) ); + wlanIapFound = ETrue; } else { @@ -1091,7 +1094,12 @@ CleanupStack::PopAndDestroy( sipConnection ); } - if ( !available ) + if ( !available && wlanIapFound ) + { + User::Leave( KCCHErrorNetworkLost ); + } + + else if( !wlanIapFound ) { User::Leave( KCCHErrorAccessPointNotDefined ); }