diff -r e44a8c097b15 -r 427125ac6cb8 satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp --- a/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Fri May 14 16:24:46 2010 +0300 +++ b/satengine/SatServer/Commands/SendUSSDCmd/src/CSendUssdHandler.cpp Thu May 27 13:23:05 2010 +0300 @@ -256,6 +256,9 @@ // Allow next terminal response to be sent iTerminalRespSent = EFalse; + + iSendUssdRsp.iUssdString.iUssdString.FillZ(); + iSendUssdRsp.iUssdString.iDcs = 0; RMobilePhone::TMobilePhoneRegistrationStatus registrationStatus( iUtils->SystemState().GetNetworkRegistrationStatus() ); @@ -748,6 +751,16 @@ iSendUssdRsp.iInfoType = RSat::KNoAdditionalInfo; iSendUssdRsp.iAdditionalInfo.SetLength( 0 ); iSendUssdRsp.iAdditionalInfo.Zero(); + } + else if ( KErrSatControl == aError ) + { + LOG( SIMPLE, + "SENDUSSD: CSendUssdHandler::HandleSendUssdResult \ + KModifiedByCallControl" ) + iSendUssdRsp.iGeneralResult = RSat::KModifiedByCallControl; + iSendUssdRsp.iInfoType = RSat::KNoAdditionalInfo; + iSendUssdRsp.iAdditionalInfo.SetLength( 0 ); + iSendUssdRsp.iAdditionalInfo.Zero(); } else if ( KErrNone == aError ) // Success case { @@ -866,6 +879,11 @@ LOG( SIMPLE, "SENDUSSD: CSendUssdHandler::SendTerminalResponse iTerminalRespSent \ false" ) + + LOG3(SIMPLE, "SENDUSSD: CSendUssdHandler::SendTerminalResponse \ + iDcs=%d,iUssdString=%s", iSendUssdRsp.iUssdString.iDcs, + &iSendUssdRsp.iUssdString.iUssdString); + iTerminalRespSent = ETrue; iSendUssdRsp.SetPCmdNumber( iSendUssdData.PCmdNumber() ); TerminalRsp( RSat::ESendUssd, iSendUssdRspPckg );