1 // Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 // All rights reserved. |
2 // All rights reserved. |
3 // This component and the accompanying materials are made available |
3 // This component and the accompanying materials are made available |
4 // under the terms of "Eclipse Public License v1.0" |
4 // under the terms of "Eclipse Public License v1.0" |
5 // which accompanies this distribution, and is available |
5 // which accompanies this distribution, and is available |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
12 // |
12 // |
13 // Description: |
13 // Description: |
14 // |
14 // |
15 |
15 |
16 |
16 |
17 |
|
18 |
|
19 #include "OstTraceDefinitions.h" |
|
20 #ifdef OST_TRACE_COMPILER_IN_USE |
|
21 #include "cmmcallgsmwcdmaextTraces.h" |
|
22 #endif |
|
23 |
17 |
24 #include "cmmcallgsmwcdmaext.h" |
18 #include "cmmcallgsmwcdmaext.h" |
25 #include <featureuids.h> |
19 #include <featureuids.h> |
26 #include "cmmphonetsy.h" |
20 #include "cmmphonetsy.h" |
27 #include "cmmcalllist.h" |
21 #include "cmmcalllist.h" |
28 #include "cmmconferencecalltsy.h" |
22 #include "cmmconferencecalltsy.h" |
29 #include "cmmconferencecallgsmwcdmaext.h" |
23 #include "cmmconferencecallgsmwcdmaext.h" |
30 #include <ctsy/pluginapi/cmmdatapackage.h> |
24 #include <ctsy/pluginapi/cmmdatapackage.h> |
31 #include "cmmmessagemanagerbase.h" |
25 #include "cmmmessagemanagerbase.h" |
|
26 #include <ctsy/tflogger.h> |
32 |
27 |
33 #include "cmmvoicecalltsy.h" |
28 #include "cmmvoicecalltsy.h" |
34 |
29 |
35 //csd includes |
30 //csd includes |
36 #include "cmmdatacalltsy.h" |
31 #include "cmmdatacalltsy.h" |
240 RMobilePhone::TMobileService aCallMode, |
235 RMobilePhone::TMobileService aCallMode, |
241 const TDesC8* aCallParams, |
236 const TDesC8* aCallParams, |
242 const TDesC* aTelNumber, |
237 const TDesC* aTelNumber, |
243 TInt aExtensionId ) |
238 TInt aExtensionId ) |
244 { |
239 { |
245 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_1, "TSY: CMmCallGsmWcdmaExt::DialL extensionid %d", aExtensionId ); |
240 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::DialL extensionid %d", aExtensionId ); |
246 |
241 |
247 // Reset iCallParams extended members |
242 // Reset iCallParams extended members |
248 iCallParams.iAlphaId.Zero(); |
243 iCallParams.iAlphaId.Zero(); |
249 iCallParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet; |
244 iCallParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet; |
250 iCallParams.iIconId.iIdentifier = 0x00; |
245 iCallParams.iIconId.iIdentifier = 0x00; |
266 reinterpret_cast<RCall::TCallParamsPckg*>(const_cast<TDesC8*>( aCallParams ) ); |
261 reinterpret_cast<RCall::TCallParamsPckg*>(const_cast<TDesC8*>( aCallParams ) ); |
267 |
262 |
268 RCall::TCallParams& callParams = ( *callParamsPckg )(); |
263 RCall::TCallParams& callParams = ( *callParamsPckg )(); |
269 |
264 |
270 TInt extensionId( callParams.ExtensionId() ); |
265 TInt extensionId( callParams.ExtensionId() ); |
271 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_2, "TSY: CMmCallGsmWcdmaExt::DialL callParams.extensionId %d ", extensionId); |
266 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::DialL callParams.extensionId %d ", extensionId); |
272 |
267 |
273 if( ( RMobileCall::KETelMobileCallParamsV1 == extensionId ) || |
268 if( ( RMobileCall::KETelMobileCallParamsV1 == extensionId ) || |
274 ( RMobileCall::KETelMobileCallParamsV2 == extensionId )) |
269 ( RMobileCall::KETelMobileCallParamsV2 == extensionId )) |
275 { |
270 { |
276 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_3, "TSY: CMmCallGsmWcdmaExt::DialL callparams V1, V2"); |
271 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL callparams V1, V2"); |
277 |
272 |
278 iCallParams.iSpeakerControl = callParams.iSpeakerControl; |
273 iCallParams.iSpeakerControl = callParams.iSpeakerControl; |
279 |
274 |
280 iCallParams.iSpeakerVolume = callParams.iSpeakerVolume; |
275 iCallParams.iSpeakerVolume = callParams.iSpeakerVolume; |
281 iCallParams.iInterval = callParams.iInterval; |
276 iCallParams.iInterval = callParams.iInterval; |
291 iCallParams.iCug.iSuppressOA = params1.iCug.iSuppressOA; |
286 iCallParams.iCug.iSuppressOA = params1.iCug.iSuppressOA; |
292 iCallParams.iCug.iSuppressPrefCug = params1.iCug.iSuppressPrefCug; |
287 iCallParams.iCug.iSuppressPrefCug = params1.iCug.iSuppressPrefCug; |
293 |
288 |
294 if ( RMobileCall::KETelMobileCallParamsV2 == extensionId ) |
289 if ( RMobileCall::KETelMobileCallParamsV2 == extensionId ) |
295 { |
290 { |
296 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_4, "TSY: CMmCallGsmWcdmaExt::DialL callparams V2"); |
291 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL callparams V2"); |
297 RMobileCall::TMobileCallParamsV2Pckg* paramsPckgV2 = |
292 RMobileCall::TMobileCallParamsV2Pckg* paramsPckgV2 = |
298 reinterpret_cast<RMobileCall::TMobileCallParamsV2Pckg*>( |
293 reinterpret_cast<RMobileCall::TMobileCallParamsV2Pckg*>( |
299 const_cast<TDesC8*>( aCallParams ) ); |
294 const_cast<TDesC8*>( aCallParams ) ); |
300 |
295 |
301 RMobileCall::TMobileCallParamsV2& params2 = (*paramsPckgV2)(); |
296 RMobileCall::TMobileCallParamsV2& params2 = (*paramsPckgV2)(); |
303 } |
298 } |
304 } |
299 } |
305 |
300 |
306 else if( RMobileCall::KETelMobileCallParamsV7 == extensionId ) |
301 else if( RMobileCall::KETelMobileCallParamsV7 == extensionId ) |
307 { |
302 { |
308 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_5, "TSY: CMmCallGsmWcdmaExt::DialL callparams V7"); |
303 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL callparams V7"); |
309 RMobileCall::TMobileCallParamsV7Pckg* paramsPckgV7 = |
304 RMobileCall::TMobileCallParamsV7Pckg* paramsPckgV7 = |
310 reinterpret_cast<RMobileCall::TMobileCallParamsV7Pckg*>( |
305 reinterpret_cast<RMobileCall::TMobileCallParamsV7Pckg*>( |
311 const_cast<TDesC8*>( aCallParams ) ); |
306 const_cast<TDesC8*>( aCallParams ) ); |
312 |
307 |
313 iCallParams = ( *paramsPckgV7 )(); |
308 iCallParams = ( *paramsPckgV7 )(); |
314 } |
309 } |
315 else |
310 else |
316 { |
311 { |
317 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_6, "TSY: CMmCallGsmWcdmaExt::DialL callparams version unknown"); |
312 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL callparams version unknown"); |
318 iCallParams.iSpeakerControl = callParams.iSpeakerControl; |
313 iCallParams.iSpeakerControl = callParams.iSpeakerControl; |
319 iCallParams.iSpeakerVolume = callParams.iSpeakerVolume; |
314 iCallParams.iSpeakerVolume = callParams.iSpeakerVolume; |
320 iCallParams.iInterval = callParams.iInterval; |
315 iCallParams.iInterval = callParams.iInterval; |
321 iCallParams.iWaitForDialTone = callParams.iWaitForDialTone; |
316 iCallParams.iWaitForDialTone = callParams.iWaitForDialTone; |
322 //default unknown values |
317 //default unknown values |
351 if ( KETelExt3rdPartyV1 == aExtensionId ) |
346 if ( KETelExt3rdPartyV1 == aExtensionId ) |
352 { |
347 { |
353 //Pack call parameters and mobile call info |
348 //Pack call parameters and mobile call info |
354 // Use argument parameters since TMobileCallParamsV7 does not inherit from 3rd party params. |
349 // Use argument parameters since TMobileCallParamsV7 does not inherit from 3rd party params. |
355 package.PackData(const_cast<TDesC8*>(aCallParams), &iMobileCallInfo); |
350 package.PackData(const_cast<TDesC8*>(aCallParams), &iMobileCallInfo); |
356 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_7, "TSY: CMmCallGsmWcdmaExt::DialL: KETelExt3rdPartyV1"); |
351 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL: KETelExt3rdPartyV1"); |
357 //if it is a 3rd party client |
352 //if it is a 3rd party client |
358 return iMessageManager->HandleRequestL( EMobileCallDialISV, |
353 return iMessageManager->HandleRequestL( EMobileCallDialISV, |
359 &package ); |
354 &package ); |
360 } |
355 } |
361 |
356 |
363 else if ( KMultimodeCallTypeIDNoFdnCheck == aExtensionId ) |
358 else if ( KMultimodeCallTypeIDNoFdnCheck == aExtensionId ) |
364 { |
359 { |
365 //Pack call parameters and mobile call info |
360 //Pack call parameters and mobile call info |
366 TPckg<RMobileCall::TMobileCallParamsV7> pckgToSend(iCallParams); |
361 TPckg<RMobileCall::TMobileCallParamsV7> pckgToSend(iCallParams); |
367 package.PackData( &pckgToSend , &iMobileCallInfo ); |
362 package.PackData( &pckgToSend , &iMobileCallInfo ); |
368 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_8, "TSY: CMmCallGsmWcdmaExt::DialL: KMultimodeCallTypeIDNoFdnCheck"); |
363 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL: KMultimodeCallTypeIDNoFdnCheck"); |
369 return iMessageManager->HandleRequestL( |
364 return iMessageManager->HandleRequestL( |
370 EMobileCallDialNoFdnCheck, &package ); |
365 EMobileCallDialNoFdnCheck, &package ); |
371 } |
366 } |
372 else |
367 else |
373 { |
368 { |
374 //Pack call parameters and mobile call info |
369 //Pack call parameters and mobile call info |
375 TPckg<RMobileCall::TMobileCallParamsV7> pckgToSend(iCallParams); |
370 TPckg<RMobileCall::TMobileCallParamsV7> pckgToSend(iCallParams); |
376 package.PackData( &pckgToSend , &iMobileCallInfo ); |
371 package.PackData( &pckgToSend , &iMobileCallInfo ); |
377 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALL_9, "TSY: CMmCallGsmWcdmaExt::DialL: EEtelCallDial"); |
372 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialL: EEtelCallDial"); |
378 return iMessageManager->HandleRequestL( EEtelCallDial, &package ); |
373 return iMessageManager->HandleRequestL( EEtelCallDial, &package ); |
379 } |
374 } |
380 |
375 |
381 } |
376 } |
382 |
377 |
1309 hscsdParams8.iBearerCap1 = hscsdCallParamsV8->iBearerCap1; |
1304 hscsdParams8.iBearerCap1 = hscsdCallParamsV8->iBearerCap1; |
1310 hscsdParams8.iBearerCap2 = hscsdCallParamsV8->iBearerCap2; |
1305 hscsdParams8.iBearerCap2 = hscsdCallParamsV8->iBearerCap2; |
1311 hscsdParams8.iBCRepeatIndicator = hscsdCallParamsV8->iBCRepeatIndicator; |
1306 hscsdParams8.iBCRepeatIndicator = hscsdCallParamsV8->iBCRepeatIndicator; |
1312 |
1307 |
1313 } |
1308 } |
1314 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_GETCALLPARAMS_2, "TSY: CMmCallGsmWcdmaExt::GetCallParams callparams version unknown"); |
1309 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::GetCallParams callparams version unknown"); |
1315 |
1310 |
1316 } |
1311 } |
1317 |
1312 |
1318 } |
1313 } |
1319 |
1314 |
1553 RMobileCall::EStatusHold ); |
1548 RMobileCall::EStatusHold ); |
1554 |
1549 |
1555 if ( mmCall ) |
1550 if ( mmCall ) |
1556 { |
1551 { |
1557 // Held call Id |
1552 // Held call Id |
1558 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_TRANSFERL_1, "TSY: CMmCallGsmWcdmaExt::Transfer, CallId: %d", mmCall->CallId() ); |
1553 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::Transfer, CallId: %d", \ |
|
1554 mmCall->CallId() ); |
1559 |
1555 |
1560 //Create package |
1556 //Create package |
1561 CCallDataPackage package; |
1557 CCallDataPackage package; |
1562 //Set call id and call mode |
1558 //Set call id and call mode |
1563 package.SetCallIdAndMode( mmCall->CallId(), iSymbianCallMode ); |
1559 package.SetCallIdAndMode( mmCall->CallId(), iSymbianCallMode ); |
1602 // --------------------------------------------------------------------------- |
1598 // --------------------------------------------------------------------------- |
1603 // |
1599 // |
1604 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV3( |
1600 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV3( |
1605 RMobileCall::TMobileCallInfoV3* aInfoV3 ) |
1601 RMobileCall::TMobileCallInfoV3* aInfoV3 ) |
1606 { |
1602 { |
1607 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_FILLMOBILECALLINFOV3_1, "TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV3 - extensionid=%d", aInfoV3->ExtensionId() ); |
1603 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV3 - extensionid=%d", aInfoV3->ExtensionId() ); |
1608 |
1604 |
1609 // V3 info parameters |
1605 // V3 info parameters |
1610 aInfoV3->iSecurity = iMobileCallInfo.iSecurity; |
1606 aInfoV3->iSecurity = iMobileCallInfo.iSecurity; |
1611 |
1607 |
1612 return KErrNone; |
1608 return KErrNone; |
1619 // --------------------------------------------------------------------------- |
1615 // --------------------------------------------------------------------------- |
1620 // |
1616 // |
1621 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV7( |
1617 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV7( |
1622 RMobileCall::TMobileCallInfoV7* aInfoV7 ) |
1618 RMobileCall::TMobileCallInfoV7* aInfoV7 ) |
1623 { |
1619 { |
1624 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_FILLMOBILECALLINFOV7_1, "TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV7 - extensionid=%d", aInfoV7->ExtensionId() ); |
1620 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV7 - extensionid=%d", aInfoV7->ExtensionId() ); |
1625 |
1621 |
1626 // V7 info parameters |
1622 // V7 info parameters |
1627 // TCallParamOrigin iCallParamOrigin; |
1623 // TCallParamOrigin iCallParamOrigin; |
1628 aInfoV7->iCallParamOrigin = iMobileCallInfo.iCallParamOrigin; |
1624 aInfoV7->iCallParamOrigin = iMobileCallInfo.iCallParamOrigin; |
1629 // TIconId iIconId; |
1625 // TIconId iIconId; |
1645 // --------------------------------------------------------------------------- |
1641 // --------------------------------------------------------------------------- |
1646 // |
1642 // |
1647 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV8( |
1643 TInt CMmCallGsmWcdmaExt::FillMobileCallInfoV8( |
1648 RMobileCall::TMobileCallInfoV8* aInfoV8 ) |
1644 RMobileCall::TMobileCallInfoV8* aInfoV8 ) |
1649 { |
1645 { |
1650 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_FILLMOBILECALLINFOV8_1, "TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV8 - extensionid=%d", aInfoV8->ExtensionId() ); |
1646 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::FillMobileCallInfoV8 - extensionid=%d", aInfoV8->ExtensionId() ); |
1651 |
1647 |
1652 // V8 info parameters |
1648 // V8 info parameters |
1653 aInfoV8->iSubAddress = iMobileCallInfo.iSubAddress; |
1649 aInfoV8->iSubAddress = iMobileCallInfo.iSubAddress; |
1654 aInfoV8->iBearerCap1 = iMobileCallInfo.iBearerCap1; |
1650 aInfoV8->iBearerCap1 = iMobileCallInfo.iBearerCap1; |
1655 aInfoV8->iBearerCap2 = iMobileCallInfo.iBearerCap2; |
1651 aInfoV8->iBearerCap2 = iMobileCallInfo.iBearerCap2; |
1687 void CMmCallGsmWcdmaExt::SetRfState( |
1683 void CMmCallGsmWcdmaExt::SetRfState( |
1688 TRfStateInfo aMtcState, |
1684 TRfStateInfo aMtcState, |
1689 MCtsySsmPluginCallback* aSsmPluginCallback, |
1685 MCtsySsmPluginCallback* aSsmPluginCallback, |
1690 TCtsySsmCallbackData& aCallbackData ) |
1686 TCtsySsmCallbackData& aCallbackData ) |
1691 { |
1687 { |
1692 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SETRFSTATE_1, "TSY: CMmCallGsmWcdmaExt::SetRfState - state=%d", aMtcState ); |
1688 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::SetRfState - state=%d", aMtcState ); |
1693 |
1689 |
1694 TInt err ( KErrNotSupported ); |
1690 TInt err ( KErrNotSupported ); |
1695 if ( (iUsingFeatureManager) && (iFeatureControl.FeatureSupported(NFeature::KEmergencyCallsEnabledInOfflineMode ) == KFeatureSupported) ) |
1691 if ( (iUsingFeatureManager) && (iFeatureControl.FeatureSupported(NFeature::KEmergencyCallsEnabledInOfflineMode ) == KFeatureSupported) ) |
1696 { |
1692 { |
1697 if (!iSystemStatePluginHandler) |
1693 if (!iSystemStatePluginHandler) |
1713 { |
1709 { |
1714 iSystemStatePluginHandler->DeactivateRfAfterEmergencyCall(); |
1710 iSystemStatePluginHandler->DeactivateRfAfterEmergencyCall(); |
1715 } |
1711 } |
1716 else |
1712 else |
1717 { |
1713 { |
1718 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SETRFSTATE_2, "TSY: CMmCallGsmWcdmaExt::SetRfState - bad state"); |
1714 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::SetRfState - bad state"); |
1719 // pass this error to callback |
1715 // pass this error to callback |
1720 SsmPluginCallback (KErrArgument, aCallbackData); |
1716 SsmPluginCallback (KErrArgument, aCallbackData); |
1721 } |
1717 } |
1722 } |
1718 } |
1723 else |
1719 else |
1810 |
1806 |
1811 if ( RMobileCall::KCallAlternating & mobileCallInfo->iValid ) |
1807 if ( RMobileCall::KCallAlternating & mobileCallInfo->iValid ) |
1812 { |
1808 { |
1813 iMobileCallInfo.iAlternatingCall = mobileCallInfo->iAlternatingCall; |
1809 iMobileCallInfo.iAlternatingCall = mobileCallInfo->iAlternatingCall; |
1814 } |
1810 } |
1815 |
1811 |
1816 // If a Mobile Originated call, take Alpha ID and Icon ID values from iCallParams, if valid. |
|
1817 if ( iMobileCallInfo.iRemoteParty.iDirection == RMobileCall::EMobileOriginated) |
|
1818 { |
|
1819 // Set the Alpha ID, if not set. |
|
1820 if ( iMobileCallInfo.iAlphaId.Length() <= 0 && |
|
1821 iCallParams.iAlphaId.Length() > 0 && |
|
1822 iCallParams.iAlphaId.Length() <= RMobileCall::KAlphaIdMaxSize ) |
|
1823 { |
|
1824 iMobileCallInfo.iAlphaId.Zero(); |
|
1825 iMobileCallInfo.iAlphaId.Copy(iCallParams.iAlphaId ); |
|
1826 iMobileCallInfo.iValid |= RMobileCall::KCallAlphaId; |
|
1827 } |
|
1828 // Set the Icon ID, if not set. |
|
1829 if ( iMobileCallInfo.iIconId.iIdentifier == 0 && |
|
1830 iMobileCallInfo.iIconId.iQualifier == RMobileCall::EIconQualifierNotSet && |
|
1831 iCallParams.iIconId.iIdentifier > 0 && |
|
1832 iCallParams.iIconId.iQualifier != RMobileCall::EIconQualifierNotSet ) |
|
1833 { |
|
1834 iMobileCallInfo.iIconId.iIdentifier = iCallParams.iIconId.iIdentifier; |
|
1835 iMobileCallInfo.iIconId.iQualifier = iCallParams.iIconId.iQualifier; |
|
1836 iMobileCallInfo.iValid |= RMobileCall::KCallIconId; |
|
1837 } |
|
1838 } |
|
1839 |
1812 |
1840 // TMobileCallInfoV3 |
1813 // TMobileCallInfoV3 |
1841 if ( (KETelExtMultimodeV3 == extensionId) || |
1814 if ( (KETelExtMultimodeV3 == extensionId) || |
1842 (KEtelExtMultimodeV7 == extensionId) || |
1815 (KEtelExtMultimodeV7 == extensionId) || |
1843 (KEtelExtMultimodeV8 == extensionId)) |
1816 (KEtelExtMultimodeV8 == extensionId)) |
1847 |
1820 |
1848 if(RMobileCall::KCallSecurity & mobileCallInfo->iValid) |
1821 if(RMobileCall::KCallSecurity & mobileCallInfo->iValid) |
1849 { |
1822 { |
1850 // V3 parameters |
1823 // V3 parameters |
1851 iMobileCallInfo.iSecurity = mobileCallInfoV3->iSecurity; |
1824 iMobileCallInfo.iSecurity = mobileCallInfoV3->iSecurity; |
1852 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SETMOBILECALLDATA_1, "TSY: CMmCallGsmWcdmaExt::SetMobileCallData V3 params copied"); |
1825 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::SetMobileCallData V3 params copied"); |
1853 } |
1826 } |
1854 } |
1827 } |
1855 |
1828 |
1856 // TMobileCallInfoV7 |
1829 // TMobileCallInfoV7 |
1857 if ( (KEtelExtMultimodeV7 == extensionId) || (KEtelExtMultimodeV8 == extensionId)) |
1830 if ( (KEtelExtMultimodeV7 == extensionId) || (KEtelExtMultimodeV8 == extensionId)) |
1865 { |
1838 { |
1866 // TCallParamOrigin iCallParamOrigin; |
1839 // TCallParamOrigin iCallParamOrigin; |
1867 iMobileCallInfo.iCallParamOrigin = mobileCallInfoV7->iCallParamOrigin; |
1840 iMobileCallInfo.iCallParamOrigin = mobileCallInfoV7->iCallParamOrigin; |
1868 } |
1841 } |
1869 |
1842 |
1870 // Set the Alpha ID if call is not Mobile Originated. |
1843 if(RMobileCall::KCallIconId & mobileCallInfo->iValid) |
1871 // If MO, the Alpha ID would be set above from iCallParams |
|
1872 if(RMobileCall::KCallIconId & mobileCallInfo->iValid && |
|
1873 iMobileCallInfo.iRemoteParty.iDirection != RMobileCall::EMobileOriginated) |
|
1874 { |
1844 { |
1875 // TIconId iIconId; |
1845 // TIconId iIconId; |
1876 iMobileCallInfo.iIconId.iIdentifier = mobileCallInfoV7->iIconId.iIdentifier; |
1846 iMobileCallInfo.iIconId.iIdentifier = mobileCallInfoV7->iIconId.iIdentifier; |
1877 iMobileCallInfo.iIconId.iQualifier = mobileCallInfoV7->iIconId.iQualifier; |
1847 iMobileCallInfo.iIconId.iQualifier = mobileCallInfoV7->iIconId.iQualifier; |
1878 } |
1848 } |
1879 |
1849 |
1880 // Set the Icon ID if call is not Mobile Originated. |
1850 if(RMobileCall::KCallAlphaId & mobileCallInfo->iValid) |
1881 // If MO, Icon ID would be set above from iCallParams |
|
1882 if(RMobileCall::KCallAlphaId & mobileCallInfo->iValid && |
|
1883 iMobileCallInfo.iRemoteParty.iDirection != RMobileCall::EMobileOriginated) |
|
1884 { |
1851 { |
1885 // TAlphaIdBuf iAlphaId; |
1852 // TAlphaIdBuf iAlphaId; |
1886 iMobileCallInfo.iAlphaId.Zero(); |
1853 iMobileCallInfo.iAlphaId.Zero(); |
1887 iMobileCallInfo.iAlphaId.Copy( mobileCallInfoV7->iAlphaId ); |
1854 iMobileCallInfo.iAlphaId.Copy( mobileCallInfoV7->iAlphaId ); |
1888 } |
1855 } |
1892 // TBool iParamsCallControlModified; |
1859 // TBool iParamsCallControlModified; |
1893 iMobileCallInfo.iParamsCallControlModified = mobileCallInfoV7->iParamsCallControlModified; |
1860 iMobileCallInfo.iParamsCallControlModified = mobileCallInfoV7->iParamsCallControlModified; |
1894 } |
1861 } |
1895 |
1862 |
1896 |
1863 |
1897 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SETMOBILECALLDATA_2, "TSY: CMmCallGsmWcdmaExt::SetMobileCallData V7 params copied"); |
1864 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::SetMobileCallData V7 params copied"); |
1898 } |
1865 } |
1899 |
1866 |
1900 // TMobileCallInfoV8 |
1867 // TMobileCallInfoV8 |
1901 if ( KEtelExtMultimodeV8 == extensionId ) |
1868 if ( KEtelExtMultimodeV8 == extensionId ) |
1902 { |
1869 { |
1923 if(RMobileCall::KCallBCRepeatIndicator & mobileCallInfo->iValid) |
1890 if(RMobileCall::KCallBCRepeatIndicator & mobileCallInfo->iValid) |
1924 { |
1891 { |
1925 iMobileCallInfo.iBCRepeatIndicator = mobileCallInfoV8->iBCRepeatIndicator; |
1892 iMobileCallInfo.iBCRepeatIndicator = mobileCallInfoV8->iBCRepeatIndicator; |
1926 } |
1893 } |
1927 |
1894 |
1928 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SETMOBILECALLDATA_3, "TSY: CMmCallGsmWcdmaExt::SetMobileCallData V8 params copied"); |
1895 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::SetMobileCallData V8 params copied"); |
1929 } |
1896 } |
1930 |
1897 |
1931 //update validity flags |
1898 //update validity flags |
1932 iMobileCallInfo.iValid |= mobileCallInfo->iValid; |
1899 iMobileCallInfo.iValid |= mobileCallInfo->iValid; |
1933 |
1900 |
2054 // get extensionid from the recieved data |
2021 // get extensionid from the recieved data |
2055 TInt extensionId( infoParams.ExtensionId() ); |
2022 TInt extensionId( infoParams.ExtensionId() ); |
2056 |
2023 |
2057 if (KETelExtMultimodeV1 == extensionId ) |
2024 if (KETelExtMultimodeV1 == extensionId ) |
2058 { |
2025 { |
2059 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_GETCURRENTHSCSDINFO_1, "TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV1"); |
2026 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV1"); |
2060 RMobileCall::TMobileCallHscsdInfoV1Pckg* hscsdInfoPckg = |
2027 RMobileCall::TMobileCallHscsdInfoV1Pckg* hscsdInfoPckg = |
2061 REINTERPRET_CAST( RMobileCall::TMobileCallHscsdInfoV1Pckg*, |
2028 REINTERPRET_CAST( RMobileCall::TMobileCallHscsdInfoV1Pckg*, |
2062 aHSCSDInfo ); |
2029 aHSCSDInfo ); |
2063 RMobileCall::TMobileCallHscsdInfoV1& hscsdInfo = |
2030 RMobileCall::TMobileCallHscsdInfoV1& hscsdInfo = |
2064 ( *hscsdInfoPckg )(); |
2031 ( *hscsdInfoPckg )(); |
2070 hscsdInfo.iTxTimeSlots = iCurrentHSCSDInfo->iTxTimeSlots; |
2037 hscsdInfo.iTxTimeSlots = iCurrentHSCSDInfo->iTxTimeSlots; |
2071 } |
2038 } |
2072 |
2039 |
2073 else if (KEtelExtMultimodeV7 == extensionId ) |
2040 else if (KEtelExtMultimodeV7 == extensionId ) |
2074 { |
2041 { |
2075 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_GETCURRENTHSCSDINFO_2, "TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV7"); |
2042 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV7"); |
2076 RMobileCall::TMobileCallHscsdInfoV7Pckg* hscsdInfoPckg7 = |
2043 RMobileCall::TMobileCallHscsdInfoV7Pckg* hscsdInfoPckg7 = |
2077 ( RMobileCall::TMobileCallHscsdInfoV7Pckg* )aHSCSDInfo; |
2044 ( RMobileCall::TMobileCallHscsdInfoV7Pckg* )aHSCSDInfo; |
2078 RMobileCall::TMobileCallHscsdInfoV7& hscsdInfoV7 = |
2045 RMobileCall::TMobileCallHscsdInfoV7& hscsdInfoV7 = |
2079 ( *hscsdInfoPckg7 )(); |
2046 ( *hscsdInfoPckg7 )(); |
2080 |
2047 |
2095 iCurrentHSCSDInfo->iParamsCallControlModified; |
2062 iCurrentHSCSDInfo->iParamsCallControlModified; |
2096 } |
2063 } |
2097 |
2064 |
2098 else if (KEtelExtMultimodeV8 == extensionId ) |
2065 else if (KEtelExtMultimodeV8 == extensionId ) |
2099 { |
2066 { |
2100 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_GETCURRENTHSCSDINFO_3, "TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV8"); |
2067 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::GetCurrentHscsdInfo - KETelMobileHscsdCallParamsV8"); |
2101 RMobileCall::TMobileCallHscsdInfoV8Pckg* hscsdInfoPckg8 = |
2068 RMobileCall::TMobileCallHscsdInfoV8Pckg* hscsdInfoPckg8 = |
2102 ( RMobileCall::TMobileCallHscsdInfoV8Pckg* )aHSCSDInfo; |
2069 ( RMobileCall::TMobileCallHscsdInfoV8Pckg* )aHSCSDInfo; |
2103 RMobileCall::TMobileCallHscsdInfoV8& hscsdInfoV8 = |
2070 RMobileCall::TMobileCallHscsdInfoV8& hscsdInfoV8 = |
2104 ( *hscsdInfoPckg8 )(); |
2071 ( *hscsdInfoPckg8 )(); |
2105 |
2072 |
2159 TInt CMmCallGsmWcdmaExt::DialDataCallL( |
2126 TInt CMmCallGsmWcdmaExt::DialDataCallL( |
2160 RMobilePhone::TMobileService aCallMode, |
2127 RMobilePhone::TMobileService aCallMode, |
2161 const TDesC8* aCallParams, |
2128 const TDesC8* aCallParams, |
2162 const TDesC* aTelNumber ) |
2129 const TDesC* aTelNumber ) |
2163 { |
2130 { |
2164 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALDATACALLL_1, "TSY: CMmCallGsmWcdmaExt::DialDataCallL"); |
2131 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialDataCallL"); |
2165 OstTraceDef1(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALDATACALLL_2, "TSY: CMmCallGsmWcdmaExt::DialDataCallL aCallMode: %d", aCallMode); |
2132 TFLOGSTRING2("TSY: CMmCallGsmWcdmaExt::DialDataCallL aCallMode: %d", aCallMode); |
2166 |
2133 |
2167 iMobileCallInfo.iDialledParty.iTelNumber.Copy( *aTelNumber ); |
2134 iMobileCallInfo.iDialledParty.iTelNumber.Copy( *aTelNumber ); |
2168 iMobileCallInfo.iDialledParty.iNumberPlan = |
2135 iMobileCallInfo.iDialledParty.iNumberPlan = |
2169 RMobilePhone::EUnknownNumberingPlan; |
2136 RMobilePhone::EUnknownNumberingPlan; |
2170 iMobileCallInfo.iDialledParty.iTypeOfNumber = |
2137 iMobileCallInfo.iDialledParty.iTypeOfNumber = |
2400 package.PackData( const_cast<TDesC8*>( aCallParams ), &iMobileCallInfo ); |
2367 package.PackData( const_cast<TDesC8*>( aCallParams ), &iMobileCallInfo ); |
2401 } |
2368 } |
2402 |
2369 |
2403 if( KMultimodeCallTypeIDNoFdnCheck == iMmCallTsy->GetDialTypeId() ) |
2370 if( KMultimodeCallTypeIDNoFdnCheck == iMmCallTsy->GetDialTypeId() ) |
2404 { |
2371 { |
2405 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALDATACALLL_3, "TSY: CMmCallGsmWcdmaExt::DialDataCallL: EMobileCallDialNoFdnCheck"); |
2372 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialDataCallL: EMobileCallDialNoFdnCheck"); |
2406 //Send request to the Domestic OS layer. |
2373 //Send request to the Domestic OS layer. |
2407 return iMessageManager->HandleRequestL( EMobileCallDialNoFdnCheck, &package ); |
2374 return iMessageManager->HandleRequestL( EMobileCallDialNoFdnCheck, &package ); |
2408 } |
2375 } |
2409 else |
2376 else |
2410 { |
2377 { |
2411 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_DIALDATACALLL_4, "TSY: CMmCallGsmWcdmaExt::DialDataCallL: EEtelCallDial"); |
2378 TFLOGSTRING("TSY: CMmCallGsmWcdmaExt::DialDataCallL: EEtelCallDial"); |
2412 //Send request to the Domestic OS layer. |
2379 //Send request to the Domestic OS layer. |
2413 return iMessageManager->HandleRequestL( EEtelCallDial, &package ); |
2380 return iMessageManager->HandleRequestL( EEtelCallDial, &package ); |
2414 } |
2381 } |
2415 |
2382 |
2416 } |
2383 } |
3013 { |
2980 { |
3014 TInt result (aResult); |
2981 TInt result (aResult); |
3015 |
2982 |
3016 if ( KErrNone == aResult ) |
2983 if ( KErrNone == aResult ) |
3017 { |
2984 { |
3018 OstTraceDef0(OST_TRACE_CATEGORY_DEBUG, TRACE_INTERNALS, CMMCALLGSMWCDMAEXT_SSMPLUGINCALLBACK_1, "TSY:CMmCallGsmWcdmaExt::SsmPluginCallback: Dialing..."); |
2985 TFLOGSTRING ("TSY:CMmCallGsmWcdmaExt::SsmPluginCallback: Dialing..."); |
3019 |
2986 |
3020 //at this point the RF should be enabled in all cases |
2987 //at this point the RF should be enabled in all cases |
3021 TRAPD(err, result = iMessageManager->HandleRequestL( |
2988 TRAPD(err, result = iMessageManager->HandleRequestL( |
3022 EMobileCallDialEmergencyCall, &aCallbackData.iNumberPackage )); |
2989 EMobileCallDialEmergencyCall, &aCallbackData.iNumberPackage )); |
3023 if (KErrNone != err) |
2990 if (KErrNone != err) |