diff -r 94dc1107e8b2 -r 40a3f856b14d phoneengine/phonemodel/src/cpemessagehandler.cpp --- a/phoneengine/phonemodel/src/cpemessagehandler.cpp Thu Jul 15 18:38:16 2010 +0300 +++ b/phoneengine/phonemodel/src/cpemessagehandler.cpp Thu Aug 19 09:54:27 2010 +0300 @@ -162,6 +162,7 @@ iExternalDataHandler( aExternalDataHandler ), iSimStateMonitor( aSimStateMonitor ), iFsSession( aFsSession ), + iSwitchToVidCalReconFlag( EFalse ), iServiceHandling( aServiceHandling ), iDataStore( *aModel.DataStore() ) { @@ -1879,8 +1880,17 @@ // Check the phone number for prefix change and change the prefix if needed CheckPrefix(); - phoneNumber = iDataStore.PhoneNumber(); - + if( iSwitchToVidCalReconFlag ) + { + phoneNumber = iDataStore.SwitchToNumberCommand(); + // Clear flag to match the previous set operation in HandleSwitchToVideoOrVoice() function. + iSwitchToVidCalReconFlag = EFalse; + } + else + { + phoneNumber = iDataStore.PhoneNumber(); + } + __ASSERT_ALWAYS( !( phoneNumber == KNullDesC ), User::Leave( ECCPErrorInvalidPhoneNumber )); // Number parser operations @@ -2076,10 +2086,16 @@ iAutomaticAnswerTimer->Cancel(); - TEFLOGSTRING( KTAMESOUT, + // Prevent playing inband tone when phone is in silent mode and + // audio output is not defined (call is not connected). + if ( ( iDataStore.RingingType() != EProfileRingingTypeSilent ) || + ( iDataStore.AudioOutput() != EPENotActive ) ) + { + TEFLOGSTRING( KTAMESOUT, "PE CPEMessageHandler::HandleDisconnecting > iGsmAudioData.PlayInbandTone()"); - iGsmAudioData.PlayInbandTone(); - + iGsmAudioData.PlayInbandTone(); + } + return ECCPErrorNone; } @@ -2719,6 +2735,7 @@ iDataStore.SetSwitchToNumberCommand( iDataStore.WholeOutgoingPhoneNumber( aCallId ) ); // Clear phonenumber to prevent using the wrong number in MO video call. iDataStore.SetPhoneNumber( KNullDesC() ); + iSwitchToVidCalReconFlag = ETrue; } else { @@ -2747,6 +2764,8 @@ TInt errorCode( ECCPErrorNone ); TPEPhoneNumber phoneNumber = iDataStore.SwitchToNumberCommand(); + RemovePreAndPostFix( phoneNumber ); + TEFLOGSTRING2( KTAINT, "PE CPEMessageHandler::ContinueSwitchToCall, phoneNumber : %S", &phoneNumber );