diff -r a2467631ae02 -r 1f002146abb4 satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp --- a/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Wed Jun 23 18:49:32 2010 +0300 +++ b/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Tue Jul 06 14:53:02 2010 +0300 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2002-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -18,6 +18,7 @@ #include #include +#include #include "MSatSystemState.h" #include "MSatApi.h" @@ -691,8 +692,17 @@ else if ( TSatExtErrorUtils::IsExtendedError( aError ) ) // extended error { TUint8 addInfo( 0 ); + if ( KErrGsmCCCallRejected == aError ) + { + LOG( SIMPLE, + "SENDUSSD: CSendUssdHandler::HandleSendUssdResult permanent error" ) + // ussd request is rejected by SIM + iSendUssdRsp.iGeneralResult = RSat::KInteractionWithCCPermanentError; + iSendUssdRsp.iInfoType = RSat::KMeProblem; + addInfo = RSat::KActionNotAllowed; + } // Check and map network failure - if ( TSatExtErrorUtils::IsNetworkError( aError ) ) + else if ( TSatExtErrorUtils::IsNetworkError( aError ) ) { LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::HandleSendUssdResult NetworkError" )