48 #include <bldvariant.hrh> |
48 #include <bldvariant.hrh> |
49 #include <ccpdefs.h> |
49 #include <ccpdefs.h> |
50 #include <coreapplicationuisdomainpskeys.h> |
50 #include <coreapplicationuisdomainpskeys.h> |
51 #include <cpeclientinformation.h> |
51 #include <cpeclientinformation.h> |
52 #include <cpegsmaudiodata.h> |
52 #include <cpegsmaudiodata.h> |
53 #include <CPhoneGsmHandlerContainer.h> |
53 #include <cphonegsmhandlercontainer.h> |
54 #include <CPhoneGsmOptionContainerBase.h> |
54 #include <cphonegsmoptioncontainerbase.h> |
55 #include <CPhoneGsmParserBase.h> |
55 #include <cphonegsmparserbase.h> |
56 #include <CPhoneGsmParserResult.h> |
56 #include <cphonegsmparserresult.h> |
57 #include <featmgr.h> |
57 #include <featmgr.h> |
58 #include <mccecall.h> |
58 #include <mccecall.h> |
59 #include <mpeaudiodata.h> |
59 #include <mpeaudiodata.h> |
60 #include <mpecallhandling.h> |
60 #include <mpecallhandling.h> |
61 #include <mpecontacthandling.h> |
61 #include <mpecontacthandling.h> |
62 #include <mpedatastore.h> |
62 #include <mpedatastore.h> |
63 #include <mpeloghandling.h> |
63 #include <mpeloghandling.h> |
64 #include <pathinfo.h> |
64 #include <pathinfo.h> |
65 #include <pepanic.pan> |
65 #include <pepanic.pan> |
66 #include <PhCltTypes.h> |
66 #include <phclttypes.h> |
67 #include <PhoneGsmParser.h> |
67 #include <phonegsmparser.h> |
68 #include <ProfileEngineDomainConstants.h> |
68 #include <ProfileEngineDomainConstants.h> |
69 #include <talogger.h> |
69 #include <talogger.h> |
70 #include <w32std.h> |
70 #include <w32std.h> |
71 |
71 |
72 // EXTERNAL DATA STRUCTURES |
72 // EXTERNAL DATA STRUCTURES |
1374 if ( iCallInfo->iEmergency || aCallId == KPEEmergencyCallId ) |
1374 if ( iCallInfo->iEmergency || aCallId == KPEEmergencyCallId ) |
1375 { |
1375 { |
1376 iDataStore.SetRemotePhoneNumberType( EPEEmergencyNumber, aCallId ); |
1376 iDataStore.SetRemotePhoneNumberType( EPEEmergencyNumber, aCallId ); |
1377 } |
1377 } |
1378 else if( iDataStore.CallDirection( aCallId ) != RMobileCall::EMobileOriginated ) |
1378 else if( iDataStore.CallDirection( aCallId ) != RMobileCall::EMobileOriginated ) |
1379 { |
1379 { |
1380 switch( tempIdentity ) |
1380 switch( tempIdentity ) |
1381 { |
1381 { |
1382 case RMobileCall::ERemoteIdentitySuppressed: |
1382 case RMobileCall::ERemoteIdentitySuppressed: |
1383 { |
1383 { |
1384 // It is neccessary to perform an additional check for available |
1384 // It is neccessary to perform an additional check for available |
1385 // remote party phone number to comply with Italian operator |
1385 // remote party phone number to comply with Italian operator |
1386 // requirement: "If CLIR is active but network still provides |
1386 // requirement: "If CLIR is active but network still provides |
1387 // the device with a phone number, it should not be blocked |
1387 // the device with a phone number, it should not be blocked |
1388 // but passed to a client when requested." |
1388 // but passed to a client when requested." |
1389 if( iDataStore.RemotePhoneNumber( aCallId ).Length() == 0 ) |
1389 if( iDataStore.RemotePhoneNumber( aCallId ).Length() == 0 ) |
1390 { |
1390 { |
1391 HideIdentification( EPEPrivateNumber, aCallId ); |
1391 HideIdentification( EPEPrivateNumber, aCallId ); |
1392 } |
1392 } |
1393 else |
1393 else |
1394 { |
1394 { |
1395 // Align remote identity with remote phone number availability. |
1395 // Align remote identity with remote phone number availability. |
1396 iDataStore.SetRemoteIdentity( RMobileCall::ERemoteIdentityAvailable, aCallId ); |
1396 iDataStore.SetRemoteIdentity( RMobileCall::ERemoteIdentityAvailable, aCallId ); |
1397 } |
1397 } |
1398 break; |
1398 break; |
1399 } |
1399 } |
1400 case RMobileCall::ERemoteIdentityAvailableNoCliRejectedByUser: |
1400 case RMobileCall::ERemoteIdentityAvailableNoCliRejectedByUser: |
1401 { |
1401 { |
1402 HideIdentification( EPEPrivateNumber, aCallId ); |
1402 HideIdentification( EPEPrivateNumber, aCallId ); |
1403 break; |
1403 break; |
1404 } |
1404 } |
1405 case RMobileCall::ERemoteIdentityUnknown: |
1405 case RMobileCall::ERemoteIdentityUnknown: |
1406 case RMobileCall::ERemoteIdentityAvailableNoCliInteractionWithOtherService: |
1406 case RMobileCall::ERemoteIdentityAvailableNoCliInteractionWithOtherService: |
1407 case RMobileCall::ERemoteIdentityUnavailableNoCliInteractionWithOtherService: |
1407 case RMobileCall::ERemoteIdentityUnavailableNoCliInteractionWithOtherService: |
1408 case RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone: |
1408 case RMobileCall::ERemoteIdentityAvailableNoCliCoinOrPayphone: |
1409 case RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone: |
1409 case RMobileCall::ERemoteIdentityUnavailableNoCliCoinOrPayphone: |
1410 case RMobileCall::ERemoteIdentityAvailableNoCliUnavailable: |
1410 case RMobileCall::ERemoteIdentityAvailableNoCliUnavailable: |
1411 { |
1411 { |
1412 HideIdentification( EPEUnknownNumber, aCallId ); |
1412 HideIdentification( EPEUnknownNumber, aCallId ); |
1413 break; |
1413 break; |
1414 } |
1414 } |
1415 case RMobileCall::ERemoteIdentityAvailable: |
1415 case RMobileCall::ERemoteIdentityAvailable: |
1416 default: |
1416 default: |
1417 { |
1417 { |
1418 TEFLOGSTRING( KTAINT, |
1418 TEFLOGSTRING( KTAINT, |
1419 "PE CPEMessageHandler::CheckAndHideIdentity, CLI available" ); |
1419 "PE CPEMessageHandler::CheckAndHideIdentity, CLI available" ); |
1420 break; |
1420 break; |
1421 } |
1421 } |
1422 } |
1422 } |
1423 } |
1423 } |
1424 } |
1424 } |
1425 |
1425 |
1426 // ----------------------------------------------------------------------------- |
1426 // ----------------------------------------------------------------------------- |
1427 // CPEMessageHandler::FindCallInfo |
1427 // CPEMessageHandler::FindCallInfo |
1428 // Return callInfo from Etel/TSY. |
1428 // Return callInfo from Etel/TSY. |
1429 // ----------------------------------------------------------------------------- |
1429 // ----------------------------------------------------------------------------- |
1513 &number, aCallId ); |
1513 &number, aCallId ); |
1514 |
1514 |
1515 RemovePreAndPostFix( number ); |
1515 RemovePreAndPostFix( number ); |
1516 |
1516 |
1517 iDataStore.SetRemotePhoneNumber( number, aCallId ); |
1517 iDataStore.SetRemotePhoneNumber( number, aCallId ); |
1518 } |
1518 } |
|
1519 |
|
1520 // The Colp number is stored to remoteparty in connected state. |
|
1521 TPEPhoneNumber colpNumber = iCallInfo->iRemoteParty.iRemoteNumber.iTelNumber; |
|
1522 RemovePreAndPostFix( colpNumber ); |
|
1523 iDataStore.SetRemoteColpNumber( colpNumber, aCallId ); |
|
1524 TEFLOGSTRING3( |
|
1525 KTAMESINT, |
|
1526 "PE CPEMessageHandler::SetPhoneNumberForCallLogging, colp number: '%S', call id: %d", |
|
1527 &colpNumber, aCallId ); |
1519 } |
1528 } |
1520 else if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileTerminated ) |
1529 else if ( iDataStore.CallDirection( aCallId ) == RMobileCall::EMobileTerminated ) |
1521 { |
1530 { |
1522 iDataStore.SetRemotePhoneNumber( iCallInfo->iRemoteParty.iRemoteNumber.iTelNumber, aCallId ); |
1531 iDataStore.SetRemotePhoneNumber( iCallInfo->iRemoteParty.iRemoteNumber.iTelNumber, aCallId ); |
1523 TEFLOGSTRING2( |
1532 TEFLOGSTRING2( |
1739 |
1748 |
1740 // Reset Phonenumber from engine info, this is necessary so that call number |
1749 // Reset Phonenumber from engine info, this is necessary so that call number |
1741 // logging works OK (see CPEMessageHandler::SetPhoneNumberForCallLogging). |
1750 // logging works OK (see CPEMessageHandler::SetPhoneNumberForCallLogging). |
1742 iDataStore.SetPhoneNumber( KNullDesC() ); |
1751 iDataStore.SetPhoneNumber( KNullDesC() ); |
1743 |
1752 |
|
1753 // COLP number is updated in connected state |
|
1754 UpdateRemotePartyInfo(); |
|
1755 |
1744 return ECCPErrorNone; |
1756 return ECCPErrorNone; |
1745 } |
1757 } |
1746 |
1758 |
1747 // ----------------------------------------------------------------------------- |
1759 // ----------------------------------------------------------------------------- |
1748 // CPEMessageHandler::HandleDialCall |
1760 // CPEMessageHandler::HandleDialCall |
2888 |
2900 |
2889 // ----------------------------------------------------------------------------- |
2901 // ----------------------------------------------------------------------------- |
2890 // CPEMessageHandler::HandleRemotePartyInfoChanged |
2902 // CPEMessageHandler::HandleRemotePartyInfoChanged |
2891 // ----------------------------------------------------------------------------- |
2903 // ----------------------------------------------------------------------------- |
2892 // |
2904 // |
2893 void CPEMessageHandler::HandleRemotePartyInfoChanged( const TInt aCallId ) |
2905 void CPEMessageHandler::HandleRemotePartyInfoChanged() |
2894 { |
2906 { |
2895 UpdateRemotePartyInfo(); |
2907 UpdateRemotePartyInfo(); |
2896 |
|
2897 if ( iDataStore.RemoteColpNumber( aCallId ).Length() ) |
|
2898 { |
|
2899 iModel.SendMessage( MEngineMonitor::EPEMessageColpNumberAvailable ); |
|
2900 } |
|
2901 } |
2908 } |
2902 |
2909 |
2903 |
2910 |
2904 // ----------------------------------------------------------------------------- |
2911 // ----------------------------------------------------------------------------- |
2905 // CPEMessageHandler::HandleUnattendedTransferRequestResponse |
2912 // CPEMessageHandler::HandleUnattendedTransferRequestResponse |
2988 if ( mediatorUpdater ) |
2993 if ( mediatorUpdater ) |
2989 { |
2994 { |
2990 mediatorUpdater->UpdateRemotePartyInfo(); |
2995 mediatorUpdater->UpdateRemotePartyInfo(); |
2991 } |
2996 } |
2992 } |
2997 } |
2993 |
2998 |
|
2999 // <-- QT PHONE START --> |
|
3000 // ----------------------------------------------------------------------------- |
|
3001 // CPEMessageHandler::HandleDialCall |
|
3002 // Handles dial message from dial service |
|
3003 // |
|
3004 // ----------------------------------------------------------------------------- |
|
3005 // |
|
3006 TInt CPEMessageHandler::HandleDialServiceCall( |
|
3007 const TBool /*aClientCall*/ ) |
|
3008 { |
|
3009 TEFLOGSTRING( KTAINT, "PE CPEMessageHandler::HandleDialCall" ); |
|
3010 TInt errorCode( ECCPErrorNone ); |
|
3011 //TODO |
|
3012 iModel.HandleInternalMessage( MPEPhoneModel::EPEMessageDialServiceCall ); |
|
3013 return errorCode; |
|
3014 } |
|
3015 // <-- QT PHONE END --> |
|
3016 |
2994 // End of File |
3017 // End of File |