changeset 9 | 8486d82aef45 |
parent 7 | fa67e03b87df |
8:6295dc2169f3 | 9:8486d82aef45 |
---|---|
1 /* |
1 /* |
2 * Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). |
2 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). |
3 * All rights reserved. |
3 * All rights reserved. |
4 * This component and the accompanying materials are made available |
4 * This component and the accompanying materials are made available |
5 * under the terms of the License "Eclipse Public License v1.0" |
5 * under the terms of the License "Eclipse Public License v1.0" |
6 * which accompanies this distribution, and is available |
6 * which accompanies this distribution, and is available |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
36 #include "cmmphonetsender.h" |
36 #include "cmmphonetsender.h" |
37 #include "cmmstaticutility.h" // utility functions |
37 #include "cmmstaticutility.h" // utility functions |
38 #include "cmmsupplservmesshandler.h" |
38 #include "cmmsupplservmesshandler.h" |
39 #include "tssparser.h" // for parsing service string |
39 #include "tssparser.h" // for parsing service string |
40 #include "tsylogger.h" |
40 #include "tsylogger.h" |
41 #include "OstTraceDefinitions.h" |
|
42 #include "cmmuiccmesshandler.h" |
41 #include "cmmuiccmesshandler.h" |
43 #include "cmmphonemesshandler.h" // for CallForwFlagsCachingCompleted |
42 #include "cmmphonemesshandler.h" // for CallForwFlagsCachingCompleted |
43 #include <satcs.h> |
|
44 |
|
45 #include "OstTraceDefinitions.h" |
|
44 #ifdef OST_TRACE_COMPILER_IN_USE |
46 #ifdef OST_TRACE_COMPILER_IN_USE |
45 #include "cmmsupplservmesshandlerTraces.h" |
47 #include "cmmsupplservmesshandlerTraces.h" |
46 #endif |
48 #endif |
47 // logging |
|
48 #include <satcs.h> |
|
49 |
49 |
50 // EXTERNAL DATA STRUCTURES |
50 // EXTERNAL DATA STRUCTURES |
51 //None |
51 //None |
52 |
52 |
53 // EXTERNAL FUNCTION PROTOTYPES |
53 // EXTERNAL FUNCTION PROTOTYPES |
67 |
67 |
68 // LOCAL CONSTANTS AND MACROS |
68 // LOCAL CONSTANTS AND MACROS |
69 //None |
69 //None |
70 |
70 |
71 // MODULE DATA STRUCTURES |
71 // MODULE DATA STRUCTURES |
72 //None |
72 enum TCphsCallForwardingFlagStatus |
73 { |
|
74 ECphsCallForwardingUnknown = 0x0, |
|
75 ECphsCallForwardingActive = 0xA, |
|
76 ECphsCallForwardingInactive = 0x5 |
|
77 }; |
|
73 |
78 |
74 // LOCAL FUNCTION PROTOTYPES |
79 // LOCAL FUNCTION PROTOTYPES |
75 //None |
80 //None |
76 |
81 |
77 // ----------------------------------------------------------------------------- |
82 // ----------------------------------------------------------------------------- |
83 ( |
88 ( |
84 //none |
89 //none |
85 ) |
90 ) |
86 { |
91 { |
87 TFLOGSTRING( "TSY: CMmSupplServMessHandler::CMmSupplServMessHandler - Start" ); |
92 TFLOGSTRING( "TSY: CMmSupplServMessHandler::CMmSupplServMessHandler - Start" ); |
88 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CMMSUPPLSERVMESSHANDLER, "CMmSupplServMessHandler::CMmSupplServMessHandler" ); |
93 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CMMSUPPLSERVMESSHANDLER_TD, "CMmSupplServMessHandler::CMmSupplServMessHandler" ); |
89 //none |
94 //none |
90 } |
95 } |
91 |
96 |
92 // ----------------------------------------------------------------------------- |
97 // ----------------------------------------------------------------------------- |
93 // CMmSupplServMessHandler::NewL |
98 // CMmSupplServMessHandler::NewL |
101 CMmMessageRouter* aMessageRouter, // pointer to the message router |
106 CMmMessageRouter* aMessageRouter, // pointer to the message router |
102 CMmUiccMessHandler* aUiccMessHandler |
107 CMmUiccMessHandler* aUiccMessHandler |
103 ) |
108 ) |
104 { |
109 { |
105 TFLOGSTRING( "TSY: CMmSupplServMessHandler::NewL" ); |
110 TFLOGSTRING( "TSY: CMmSupplServMessHandler::NewL" ); |
106 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_NEWL, "CMmSupplServMessHandler::NewL" ); |
111 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_NEWL_TD, "CMmSupplServMessHandler::NewL" ); |
107 |
112 |
108 CMmSupplServMessHandler* supplServMessHandler = |
113 CMmSupplServMessHandler* supplServMessHandler = |
109 new ( ELeave ) CMmSupplServMessHandler(); |
114 new ( ELeave ) CMmSupplServMessHandler(); |
110 |
115 |
111 CleanupStack::PushL( supplServMessHandler ); |
116 CleanupStack::PushL( supplServMessHandler ); |
155 ( |
160 ( |
156 //none |
161 //none |
157 ) |
162 ) |
158 { |
163 { |
159 TFLOGSTRING( "TSY: CMmSupplServMessHandler::ConstructL" ); |
164 TFLOGSTRING( "TSY: CMmSupplServMessHandler::ConstructL" ); |
160 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CONSTRUCTL, "CMmSupplServMessHandler::ConstructL" ); |
165 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CONSTRUCTL_TD, "CMmSupplServMessHandler::ConstructL" ); |
161 |
166 |
162 iVoiceServiceMappedToTelephony = EFalse; |
167 iVoiceServiceMappedToTelephony = EFalse; |
163 iCircuitServiceMappedToAllBearer = EFalse; |
168 iCircuitServiceMappedToAllBearer = EFalse; |
164 iGetCallForwardingNumber = EFalse; |
169 iGetCallForwardingNumber = EFalse; |
165 iAlsLine = RMobilePhone::EAlternateLineUnknown; |
170 iAlsLine = RMobilePhone::EAlternateLineUnknown; |
183 ( |
188 ( |
184 //none |
189 //none |
185 ) |
190 ) |
186 { |
191 { |
187 TFLOGSTRING( "TSY: CMmSupplServMessHandler::~CMmSupplServMessHandler" ); |
192 TFLOGSTRING( "TSY: CMmSupplServMessHandler::~CMmSupplServMessHandler" ); |
188 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_CMMSUPPLSERVMESSHANDLER, "CMmSupplServMessHandler::~CMmSupplServMessHandler" ); |
193 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_CMMSUPPLSERVMESSHANDLER_TD, "CMmSupplServMessHandler::~CMmSupplServMessHandler" ); |
189 |
194 |
190 delete iCFResults; |
195 delete iCFResults; |
191 delete iCBResults; |
196 delete iCBResults; |
192 delete iCWResults; |
197 delete iCWResults; |
193 } |
198 } |
203 TInt aIpc, |
208 TInt aIpc, |
204 const CMmDataPackage* aDataPackage |
209 const CMmDataPackage* aDataPackage |
205 ) |
210 ) |
206 { |
211 { |
207 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL: IPC: %d", aIpc); |
212 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL: IPC: %d", aIpc); |
208 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL;aIpc=%d", aIpc ); |
213 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL;aIpc=%d", aIpc ); |
209 |
214 |
210 //*************************************************************// |
215 //*************************************************************// |
211 // NOTE |
216 // NOTE |
212 // |
217 // |
213 // LICENSEE SPECIFIC MESSAGE HANDLER IMPLEMENTATION STARTS HERE |
218 // LICENSEE SPECIFIC MESSAGE HANDLER IMPLEMENTATION STARTS HERE |
285 iMmCFCondition = conditionETel; |
290 iMmCFCondition = conditionETel; |
286 iMobileService = changeInfo->iServiceGroup; |
291 iMobileService = changeInfo->iServiceGroup; |
287 iCFAddress = changeInfo->iNumber; |
292 iCFAddress = changeInfo->iNumber; |
288 |
293 |
289 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - Number: %S", &iCFAddress.iTelNumber); |
294 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - Number: %S", &iCFAddress.iTelNumber); |
290 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iCFTelNumber=%S", iCFAddress.iTelNumber ); |
295 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iCFTelNumber=%S", iCFAddress.iTelNumber ); |
291 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - MobileService: %d", iMobileService); |
296 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - MobileService: %d", iMobileService); |
292 OstTrace1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iMobileService=%d", iMobileService ); |
297 OstTrace1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iMobileService=%d", iMobileService ); |
293 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - Condition: %d", iMmCFCondition); |
298 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - EMobilePhoneSetCallForwardingStatus - Condition: %d", iMmCFCondition); |
294 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iMmCFCondition=%d", iMmCFCondition ); |
299 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL;EMobilePhoneSetCallForwardingStatus iMmCFCondition=%d", iMmCFCondition ); |
295 |
300 |
296 //map operation |
301 //map operation |
297 ret = MapOperationMmToIsi( changeInfo->iAction, &operation ); |
302 ret = MapOperationMmToIsi( changeInfo->iAction, &operation ); |
298 |
303 |
299 if ( KErrNone == ret ) |
304 if ( KErrNone == ret ) |
543 operation, |
548 operation, |
544 serviceCode, |
549 serviceCode, |
545 ssInfoA, |
550 ssInfoA, |
546 ssInfoB, |
551 ssInfoB, |
547 ssInfoC ); |
552 ssInfoC ); |
553 |
|
554 if( KErrNone != ret ) |
|
555 { |
|
556 TUint srcByteCount( 0 ); |
|
557 // max length of ussd string is 161 |
|
558 TBuf8<KMaxLengthOfUssdMessage> packedString; |
|
559 // max length of ussd string is 161 |
|
560 TBuf8<KMaxLengthOfUssdMessage> srcString; |
|
561 |
|
562 // 16 byte descriptor is appended to 8 byte descriptor as single bytes, |
|
563 // therefore length can be the same in both descriptors |
|
564 srcString.Append( serviceString->Left( serviceString->Length() ) ); |
|
565 srcByteCount = srcString.Length(); |
|
566 // pack string |
|
567 GsmLibSmsPackMessage( |
|
568 packedString, |
|
569 srcString, |
|
570 srcByteCount ); |
|
571 |
|
572 // send ussd request |
|
573 ret = SsGsmUssdSendReq( trId, &packedString ); |
|
574 } |
|
548 } |
575 } |
549 else |
576 else |
550 { |
577 { |
551 TFLOGSTRING( "TSY: CMmSupplServMessHandler::ExtFuncL: parsing of \ |
578 TFLOGSTRING( "TSY: CMmSupplServMessHandler::ExtFuncL: parsing of \ |
552 service string failed!" ); |
579 service string failed!" ); |
553 OstTrace0( TRACE_NORMAL, DUP4_CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL, parsing of service string failed!" ); |
580 OstTrace0( TRACE_NORMAL, DUP4_CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL, parsing of service string failed!" ); |
554 ret = KErrArgument; |
581 ret = KErrArgument; |
555 } |
582 } |
556 |
583 |
557 // initialize flags back to "normal" state |
584 // initialize flags back to "normal" state |
558 iFdnCheck = EFalse; |
585 iFdnCheck = EFalse; |
616 default: |
643 default: |
617 { |
644 { |
618 // this method should only be called for SS cases |
645 // this method should only be called for SS cases |
619 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - Unknown IPC: %d", |
646 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ExtFuncL - Unknown IPC: %d", |
620 aIpc); |
647 aIpc); |
621 OstTrace1( TRACE_NORMAL, DUP5_CMMSUPPLSERVMESSHANDLER_EXTFUNCL, "CMmSupplServMessHandler::ExtFuncL;Unknown aIpc=%d", aIpc ); |
648 OstTrace1( TRACE_NORMAL, DUP5_CMMSUPPLSERVMESSHANDLER_EXTFUNCL_TD, "CMmSupplServMessHandler::ExtFuncL;Unknown aIpc=%d", aIpc ); |
622 ret = KErrArgument; |
649 ret = KErrArgument; |
623 break; |
650 break; |
624 } |
651 } |
625 } |
652 } |
626 |
653 |
637 TInt aStatus, |
664 TInt aStatus, |
638 TUint8 /*aDetails*/, |
665 TUint8 /*aDetails*/, |
639 const TDesC8& aFileData ) |
666 const TDesC8& aFileData ) |
640 { |
667 { |
641 TFLOGSTRING3("TSY: CMmSupplServMessHandler::ProcessUiccMsg, transaction ID: %d, status: %d", aTraId, aStatus ); |
668 TFLOGSTRING3("TSY: CMmSupplServMessHandler::ProcessUiccMsg, transaction ID: %d, status: %d", aTraId, aStatus ); |
642 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSUICCMSG, "CMmSupplServMessHandler::ProcessUiccMsg;aTraId=%d;aStatus=%d", aTraId, aStatus ); |
669 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSUICCMSG_TD, "CMmSupplServMessHandler::ProcessUiccMsg;aTraId=%d;aStatus=%d", aTraId, aStatus ); |
643 |
670 |
644 switch( aTraId ) |
671 switch( aTraId ) |
645 { |
672 { |
646 case ETrIdReadCallFwdFlagsRel4: |
673 case ETrIdReadCallFwdFlagsRel4: |
647 { |
674 { |
736 break; |
763 break; |
737 } |
764 } |
738 default: |
765 default: |
739 { |
766 { |
740 TFLOGSTRING("TSY: CMmSupplServMessHandler::ProcessUiccMsg - unknown transaction ID" ); |
767 TFLOGSTRING("TSY: CMmSupplServMessHandler::ProcessUiccMsg - unknown transaction ID" ); |
741 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSUICCMSG, "CMmSupplServMessHandler::ProcessUiccMsg - unknown transaction ID" ); |
768 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSUICCMSG_TD, "CMmSupplServMessHandler::ProcessUiccMsg - unknown transaction ID" ); |
742 break; |
769 break; |
743 } |
770 } |
744 } |
771 } |
745 return KErrNone; |
772 return KErrNone; |
746 } |
773 } |
758 TInt resource (aIsiMessage.Get8bit(ISI_HEADER_OFFSET_RESOURCEID) ); |
785 TInt resource (aIsiMessage.Get8bit(ISI_HEADER_OFFSET_RESOURCEID) ); |
759 TInt messageId (aIsiMessage.Get8bit(ISI_HEADER_OFFSET_MESSAGEID) ); |
786 TInt messageId (aIsiMessage.Get8bit(ISI_HEADER_OFFSET_MESSAGEID) ); |
760 |
787 |
761 TFLOGSTRING3("TSY: CMmSupplServMessHandler::ReceiveMessageL - resource: %d, \ |
788 TFLOGSTRING3("TSY: CMmSupplServMessHandler::ReceiveMessageL - resource: %d, \ |
762 messageId: %d", resource, messageId); |
789 messageId: %d", resource, messageId); |
763 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL, "CMmSupplServMessHandler::ReceiveMessageL;resource=%d;messageId=%d", resource, messageId ); |
790 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmSupplServMessHandler::ReceiveMessageL;resource=%d;messageId=%d", resource, messageId ); |
764 |
791 |
765 switch ( resource ) |
792 switch ( resource ) |
766 { |
793 { |
767 case PN_SS: |
794 case PN_SS: |
768 { |
795 { |
800 } |
827 } |
801 default: |
828 default: |
802 { |
829 { |
803 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::ReceiveMessageL - \ |
830 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::ReceiveMessageL - \ |
804 PN_SS - unknown msgId: %d", messageId ); |
831 PN_SS - unknown msgId: %d", messageId ); |
805 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL, "CMmSupplServMessHandler::ReceiveMessageL;PN_SS - unknown msgId=%d", messageId ); |
832 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmSupplServMessHandler::ReceiveMessageL;PN_SS - unknown msgId=%d", messageId ); |
806 break; |
833 break; |
807 } |
834 } |
808 } // switch( messageId ) |
835 } // switch( messageId ) |
809 break; |
836 break; |
810 } |
837 } |
811 default: |
838 default: |
812 { |
839 { |
813 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ReceiveMessageL - unknown \ |
840 TFLOGSTRING2("TSY: CMmSupplServMessHandler::ReceiveMessageL - unknown \ |
814 resource: %d", resource); |
841 resource: %d", resource); |
815 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL, "CMmSupplServMessHandler::ReceiveMessageL;unknown resource=%d", resource ); |
842 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_RECEIVEMESSAGEL_TD, "CMmSupplServMessHandler::ReceiveMessageL;unknown resource=%d", resource ); |
816 break; |
843 break; |
817 } |
844 } |
818 } // switch( resource ) |
845 } // switch( resource ) |
819 } |
846 } |
820 |
847 |
832 const TDesC& ssInfoA, // SS info A |
859 const TDesC& ssInfoA, // SS info A |
833 const TDesC& ssInfoB, // SS info B |
860 const TDesC& ssInfoB, // SS info B |
834 const TDesC& ssInfoC ) // SS info C |
861 const TDesC& ssInfoC ) // SS info C |
835 { |
862 { |
836 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated" ); |
863 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated" ); |
837 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated" ); |
864 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated" ); |
838 |
865 |
839 TInt ret( KErrNone ); |
866 TInt ret( KErrNone ); |
840 TUint8 basicServiceCode( SS_ALL_TELE_AND_BEARER ); |
867 TUint8 basicServiceCode( SS_ALL_TELE_AND_BEARER ); |
841 TSsParser parser; |
868 TSsParser parser; |
842 |
869 |
850 case SS_GSM_FORW_NO_REPLY: |
877 case SS_GSM_FORW_NO_REPLY: |
851 case SS_GSM_FORW_NO_REACH: |
878 case SS_GSM_FORW_NO_REACH: |
852 { |
879 { |
853 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
880 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
854 call forwarding" ); |
881 call forwarding" ); |
855 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call forwarding" ); |
882 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call forwarding" ); |
856 |
883 |
857 TUint8 numberType ( SS_NBR_TYPE_UNKNOWN ); |
884 TUint8 numberType ( SS_NBR_TYPE_UNKNOWN ); |
858 TUint8 numberPlan ( SS_NBR_PLAN_ISDN_TELEPHONY ); |
885 TUint8 numberPlan ( SS_NBR_PLAN_ISDN_TELEPHONY ); |
859 TInt noReplyTime ( SS_UNDEFINED_TIME ); |
886 TInt noReplyTime ( SS_UNDEFINED_TIME ); |
860 |
887 |
915 case SS_GSM_OUTGOING_BARR_SERV: |
942 case SS_GSM_OUTGOING_BARR_SERV: |
916 case SS_GSM_INCOMING_BARR_SERV: |
943 case SS_GSM_INCOMING_BARR_SERV: |
917 { |
944 { |
918 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
945 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
919 call barring" ); |
946 call barring" ); |
920 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call barring" ); |
947 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call barring" ); |
921 |
948 |
922 // basic service code is in ssInfoB, must be converted to TUint8 |
949 // basic service code is in ssInfoB, must be converted to TUint8 |
923 basicServiceCode = ( TUint8 )parser.GetInt( ssInfoB ); |
950 basicServiceCode = ( TUint8 )parser.GetInt( ssInfoB ); |
924 |
951 |
925 // if ssInfoA is empty - no password subblock is added |
952 // if ssInfoA is empty - no password subblock is added |
938 |
965 |
939 case SS_GSM_CALL_WAITING: |
966 case SS_GSM_CALL_WAITING: |
940 { |
967 { |
941 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
968 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
942 call waiting" ); |
969 call waiting" ); |
943 OstTrace0( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call waiting" ); |
970 OstTrace0( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated, call waiting" ); |
944 // basic service code is in ssInfoA, must be converted to TUint8 |
971 // basic service code is in ssInfoA, must be converted to TUint8 |
945 basicServiceCode = ( TUint8 )parser.GetInt( ssInfoA ); |
972 basicServiceCode = ( TUint8 )parser.GetInt( ssInfoA ); |
946 ret = CreateServiceReqWithCheckInfo( |
973 ret = CreateServiceReqWithCheckInfo( |
947 aTrId, |
974 aTrId, |
948 aOperation, |
975 aOperation, |
959 case SS_GSM_ECT: |
986 case SS_GSM_ECT: |
960 case SS_GSM_CNAP: |
987 case SS_GSM_CNAP: |
961 { |
988 { |
962 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
989 TFLOGSTRING( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
963 other ss codes" ); |
990 other ss codes" ); |
964 OstTrace0( TRACE_NORMAL, DUP6_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated, other ss codes" ); |
991 OstTrace0( TRACE_NORMAL, DUP6_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated, other ss codes" ); |
965 ret = CreateServiceReqWithCheckInfo( |
992 ret = CreateServiceReqWithCheckInfo( |
966 aTrId, |
993 aTrId, |
967 aOperation, |
994 aOperation, |
968 aServiceCode, |
995 aServiceCode, |
969 basicServiceCode ); |
996 basicServiceCode ); |
973 |
1000 |
974 default: |
1001 default: |
975 { |
1002 { |
976 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
1003 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::SsServiceReqSatOriginated, \ |
977 error: unknown ss service: %d", aServiceCode ); |
1004 error: unknown ss service: %d", aServiceCode ); |
978 OstTraceExt1( TRACE_NORMAL, DUP7_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED, "CMmSupplServMessHandler::SsServiceReqSatOriginated;ERROR: unknown ss service=%hu", aServiceCode ); |
1005 OstTraceExt1( TRACE_NORMAL, DUP7_CMMSUPPLSERVMESSHANDLER_SSSERVICEREQSATORIGINATED_TD, "CMmSupplServMessHandler::SsServiceReqSatOriginated;ERROR: unknown ss service=%hu", aServiceCode ); |
979 ret = KErrArgument; |
1006 ret = KErrArgument; |
980 break; |
1007 break; |
981 } |
1008 } |
982 } |
1009 } |
983 return ret; |
1010 return ret; |
996 const TUint8 aOperation, |
1023 const TUint8 aOperation, |
997 const TUint16 aServiceCode, |
1024 const TUint16 aServiceCode, |
998 const TUint8 aBasicServiceCode ) |
1025 const TUint8 aBasicServiceCode ) |
999 { |
1026 { |
1000 TFLOGSTRING( "TSY: CMmSupplServMessHandler::CreateServiceReqWithCheckInfo" ); |
1027 TFLOGSTRING( "TSY: CMmSupplServMessHandler::CreateServiceReqWithCheckInfo" ); |
1001 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CREATESERVICEREQWITHCHECKINFO, "CMmSupplServMessHandler::CreateServiceReqWithCheckInfo" ); |
1028 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_CREATESERVICEREQWITHCHECKINFO_TD, "CMmSupplServMessHandler::CreateServiceReqWithCheckInfo" ); |
1002 TInt ret( KErrNone ); |
1029 TInt ret( KErrNone ); |
1003 TUint8 numOfSubblocks( 1 ); |
1030 TUint8 numOfSubblocks( 1 ); |
1004 |
1031 |
1005 // create ss service request message and set it to point send buffer |
1032 // create ss service request message and set it to point send buffer |
1006 TIsiSend isimsg( iPhoNetSender->SendBufferDes( ) ); |
1033 TIsiSend isimsg( iPhoNetSender->SendBufferDes( ) ); |
1081 TDesC16 const* aForwToNumber, //forwarded to number |
1108 TDesC16 const* aForwToNumber, //forwarded to number |
1082 TUint8 aMmiBasicServiceCode //MMI basic service code |
1109 TUint8 aMmiBasicServiceCode //MMI basic service code |
1083 ) |
1110 ) |
1084 { |
1111 { |
1085 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsCallForwServiceReq"); |
1112 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsCallForwServiceReq"); |
1086 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSCALLFORWSERVICEREQ, "CMmSupplServMessHandler::SsCallForwServiceReq" ); |
1113 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSCALLFORWSERVICEREQ_TD, "CMmSupplServMessHandler::SsCallForwServiceReq" ); |
1087 |
1114 |
1088 TUint8 numOfSubblocks( 0 ); |
1115 TUint8 numOfSubblocks( 0 ); |
1089 TBuf<RMobilePhone::KMaxMobileTelNumberSize> number( 0 ); |
1116 TBuf<RMobilePhone::KMaxMobileTelNumberSize> number( 0 ); |
1090 //number can contain character '+' |
1117 //number can contain character '+' |
1091 if ( 0 < aForwToNumber->Length() ) |
1118 if ( 0 < aForwToNumber->Length() ) |
1280 response.iBasicService = aIsiMessage.Get8bit( |
1307 response.iBasicService = aIsiMessage.Get8bit( |
1281 ISI_HEADER_SIZE + SS_SERVICE_COMPLETED_RESP_OFFSET_BASICSERVICECODE ); |
1308 ISI_HEADER_SIZE + SS_SERVICE_COMPLETED_RESP_OFFSET_BASICSERVICECODE ); |
1282 |
1309 |
1283 TFLOGSTRING3("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL number \ |
1310 TFLOGSTRING3("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL number \ |
1284 of sub blocks: %d, operation: %d", response.iNumSubBlocks, response.iOperation ); |
1311 of sub blocks: %d, operation: %d", response.iNumSubBlocks, response.iOperation ); |
1285 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL, "CMmSupplServMessHandler::SsServiceCompletedRespL;numSubBlocks=%hhu;operation=%hhu", response.iNumSubBlocks, response.iOperation ); |
1312 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL_TD, "CMmSupplServMessHandler::SsServiceCompletedRespL;numSubBlocks=%hhu;operation=%hhu", response.iNumSubBlocks, response.iOperation ); |
1286 TFLOGSTRING3("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL ssCode: \ |
1313 TFLOGSTRING3("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL ssCode: \ |
1287 %d, basicService: %d", response.iSsCode, response.iBasicService ); |
1314 %d, basicService: %d", response.iSsCode, response.iBasicService ); |
1288 OstTraceExt2( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL, "CMmSupplServMessHandler::SsServiceCompletedRespL;ssCode=%hu;basicService=%hhu", response.iSsCode, response.iBasicService ); |
1315 OstTraceExt2( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL_TD, "CMmSupplServMessHandler::SsServiceCompletedRespL;ssCode=%hu;basicService=%hhu", response.iSsCode, response.iBasicService ); |
1289 |
1316 |
1290 if ( |
1317 if ( |
1291 ProcessIfSsRequestChanged( response ) || // original SS request is changed, or initiated by Call Control |
1318 ProcessIfSsRequestChanged( response ) || // original SS request is changed, or initiated by Call Control |
1292 ProcessSsGsmPasswordRegistration( response ) || // password changed successfully |
1319 ProcessSsGsmPasswordRegistration( response ) || // password changed successfully |
1293 ProcessIfSimpleCompletionPossible( response ) || |
1320 ProcessIfSimpleCompletionPossible( response ) || |
1302 } |
1329 } |
1303 else |
1330 else |
1304 { |
1331 { |
1305 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL \ |
1332 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceCompletedRespL \ |
1306 - unknown ssCode: %d", response.iSsCode ); |
1333 - unknown ssCode: %d", response.iSsCode ); |
1307 OstTraceExt1( TRACE_NORMAL, DUP5_CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL, "CMmSupplServMessHandler::SsServiceCompletedRespL;ssCode=%hu", response.iSsCode ); |
1334 OstTraceExt1( TRACE_NORMAL, DUP5_CMMSUPPLSERVMESSHANDLER_SSSERVICECOMPLETEDRESPL_TD, "CMmSupplServMessHandler::SsServiceCompletedRespL;ssCode=%hu", response.iSsCode ); |
1308 } |
1335 } |
1309 } |
1336 } |
1310 |
1337 |
1311 // ----------------------------------------------------------------------------- |
1338 // ----------------------------------------------------------------------------- |
1312 // CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL |
1339 // CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL |
1320 TUint16 aSsCode //SS condition |
1347 TUint16 aSsCode //SS condition |
1321 ) |
1348 ) |
1322 { |
1349 { |
1323 TFLOGSTRING2("TSY: CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL - \ |
1350 TFLOGSTRING2("TSY: CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL - \ |
1324 SS condition: %d", aSsCode); |
1351 SS condition: %d", aSsCode); |
1325 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLESSGSMFORWARDINGSUBBLOCKL, "CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL;aSsCode=%hu", aSsCode ); |
1352 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLESSGSMFORWARDINGSUBBLOCKL_TD, "CMmSupplServMessHandler::HandleSsGsmForwardingSubBlockL;aSsCode=%hu", aSsCode ); |
1326 |
1353 |
1327 TUint sbStartOffset( aSbStartOffset ); |
1354 TUint sbStartOffset( aSbStartOffset ); |
1328 |
1355 |
1329 // get number of SS_GSM_FORWARDING_FEATURE sub blocks in this |
1356 // get number of SS_GSM_FORWARDING_FEATURE sub blocks in this |
1330 // SS_GSM_FORWARDING_INFO sub block |
1357 // SS_GSM_FORWARDING_INFO sub block |
1427 TUint16 aSsCode // service code (barring condition) |
1454 TUint16 aSsCode // service code (barring condition) |
1428 ) |
1455 ) |
1429 { |
1456 { |
1430 TFLOGSTRING2("TSY: CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL \ |
1457 TFLOGSTRING2("TSY: CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL \ |
1431 - service code: %d", aSsCode); |
1458 - service code: %d", aSsCode); |
1432 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEBARRINGSSGSMBSCINFOSUBBLOCKL, "CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL;aSsCode=%hu", aSsCode ); |
1459 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEBARRINGSSGSMBSCINFOSUBBLOCKL_TD, "CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL;aSsCode=%hu", aSsCode ); |
1433 |
1460 |
1434 //get number of basic service codes in this SS_GSM_BSC_INFO sub block |
1461 //get number of basic service codes in this SS_GSM_BSC_INFO sub block |
1435 TUint8 numBsc( aIsiMessage.Get8bit( |
1462 TUint8 numBsc( aIsiMessage.Get8bit( |
1436 aSbStartOffset + SS_GSM_BSC_INFO_OFFSET_NUMBEROFBSC )); |
1463 aSbStartOffset + SS_GSM_BSC_INFO_OFFSET_NUMBEROFBSC )); |
1437 |
1464 |
1460 TInt ret = MapBasicServiceCodeIsiToMm( bsc, &infoEntry.iServiceGroup ); |
1487 TInt ret = MapBasicServiceCodeIsiToMm( bsc, &infoEntry.iServiceGroup ); |
1461 if ( KErrNone != ret ) |
1488 if ( KErrNone != ret ) |
1462 { |
1489 { |
1463 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::HandleSsGsmBscInfoSubBlockL: \ |
1490 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::HandleSsGsmBscInfoSubBlockL: \ |
1464 Unknown Basic Service Group = %d received. Skipping this entry.", bsc ); |
1491 Unknown Basic Service Group = %d received. Skipping this entry.", bsc ); |
1465 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_HANDLEBARRINGSSGSMBSCINFOSUBBLOCKL, "CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL;Unknown Basic Service Group=%hhu", bsc ); |
1492 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_HANDLEBARRINGSSGSMBSCINFOSUBBLOCKL_TD, "CMmSupplServMessHandler::HandleBarringSsGsmBscInfoSubBlockL;Unknown Basic Service Group=%hhu", bsc ); |
1466 continue; // ignore this entry and go to the next one |
1493 continue; // ignore this entry and go to the next one |
1467 } |
1494 } |
1468 |
1495 |
1469 // Save this entry |
1496 // Save this entry |
1470 iCBResults->AddEntryL( infoEntry ); |
1497 iCBResults->AddEntryL( infoEntry ); |
1487 const TIsiReceiveC &aIsiMessage, //received isi message |
1514 const TIsiReceiveC &aIsiMessage, //received isi message |
1488 TUint aSbStartOffset //Ss Gsm Bsc info sub block offset |
1515 TUint aSbStartOffset //Ss Gsm Bsc info sub block offset |
1489 ) |
1516 ) |
1490 { |
1517 { |
1491 TFLOGSTRING("TSY: CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL"); |
1518 TFLOGSTRING("TSY: CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL"); |
1492 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEWAITINGSSGSMBSCINFOSUBBLOCKL, "CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL" ); |
1519 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEWAITINGSSGSMBSCINFOSUBBLOCKL_TD, "CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL" ); |
1493 |
1520 |
1494 //get number of basic service codes in this SS_GSM_BSC_INFO sub block |
1521 //get number of basic service codes in this SS_GSM_BSC_INFO sub block |
1495 TUint8 numBsc( aIsiMessage.Get8bit( |
1522 TUint8 numBsc( aIsiMessage.Get8bit( |
1496 aSbStartOffset + SS_GSM_BSC_INFO_OFFSET_NUMBEROFBSC )); |
1523 aSbStartOffset + SS_GSM_BSC_INFO_OFFSET_NUMBEROFBSC )); |
1497 |
1524 |
1519 TInt ret = MapBasicServiceCodeIsiToMm( bsc, &infoEntry.iServiceGroup ); |
1546 TInt ret = MapBasicServiceCodeIsiToMm( bsc, &infoEntry.iServiceGroup ); |
1520 if ( KErrNone != ret ) |
1547 if ( KErrNone != ret ) |
1521 { |
1548 { |
1522 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::HandleSsGsmDataSubBlockL: \ |
1549 TFLOGSTRING2( "TSY: CMmSupplServMessHandler::HandleSsGsmDataSubBlockL: \ |
1523 Unknown Basic Service Group = %d received. Skipping this entry.", bsc ); |
1550 Unknown Basic Service Group = %d received. Skipping this entry.", bsc ); |
1524 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_HANDLEWAITINGSSGSMBSCINFOSUBBLOCKL, "CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL;Unknown Basic Service Group=%hhu", bsc ); |
1551 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_HANDLEWAITINGSSGSMBSCINFOSUBBLOCKL_TD, "CMmSupplServMessHandler::HandleWaitingSsGsmBscInfoSubBlockL;Unknown Basic Service Group=%hhu", bsc ); |
1525 continue; // ignore this entry and go to the next one |
1552 continue; // ignore this entry and go to the next one |
1526 } |
1553 } |
1527 // Save this entry |
1554 // Save this entry |
1528 iCWResults->AddEntryL( infoEntry ); |
1555 iCWResults->AddEntryL( infoEntry ); |
1529 } |
1556 } |
1543 ( |
1570 ( |
1544 const TIsiReceiveC &aIsiMessage //received isi message |
1571 const TIsiReceiveC &aIsiMessage //received isi message |
1545 ) |
1572 ) |
1546 { |
1573 { |
1547 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsServiceFailedResp"); |
1574 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsServiceFailedResp"); |
1548 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp" ); |
1575 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP_TD, "CMmSupplServMessHandler::SsServiceFailedResp" ); |
1549 |
1576 |
1550 TInt errorToClient( KErrGeneral ); |
1577 TInt errorToClient( KErrGeneral ); |
1551 |
1578 |
1552 //sub block start offset |
1579 //sub block start offset |
1553 TUint sbStartOffset( 0 ); |
1580 TUint sbStartOffset( 0 ); |
1560 sbStartOffset ) ) |
1587 sbStartOffset ) ) |
1561 { |
1588 { |
1562 TUint8 subBlockId = aIsiMessage.Get8bit( sbStartOffset ); |
1589 TUint8 subBlockId = aIsiMessage.Get8bit( sbStartOffset ); |
1563 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceFailedResp - \ |
1590 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceFailedResp - \ |
1564 sub block Id: %d", subBlockId); |
1591 sub block Id: %d", subBlockId); |
1565 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp;subBlockId=%hhu", subBlockId ); |
1592 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP_TD, "CMmSupplServMessHandler::SsServiceFailedResp;subBlockId=%hhu", subBlockId ); |
1566 switch ( subBlockId ) |
1593 switch ( subBlockId ) |
1567 { |
1594 { |
1568 case SS_GSM_INDICATE_PASSWORD_ERROR: |
1595 case SS_GSM_INDICATE_PASSWORD_ERROR: |
1569 { |
1596 { |
1570 errorToClient = CMmStaticUtility::CSCauseToEpocError( |
1597 errorToClient = CMmStaticUtility::CSCauseToEpocError( |
1614 errorToClient = CMmStaticUtility::EpocErrorCode( |
1641 errorToClient = CMmStaticUtility::EpocErrorCode( |
1615 KErrCouldNotConnect, |
1642 KErrCouldNotConnect, |
1616 KErrGsmSMSNoNetworkService ); |
1643 KErrGsmSMSNoNetworkService ); |
1617 TFLOGSTRING("CMmSupplServMessHandler::SsServiceFailedRespL. \ |
1644 TFLOGSTRING("CMmSupplServMessHandler::SsServiceFailedRespL. \ |
1618 Cause: KSsGsmSsNotAvailable => No network coverage." ); |
1645 Cause: KSsGsmSsNotAvailable => No network coverage." ); |
1619 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp, Cause: KSsGsmSsNotAvailable => No network coverage" ); |
1646 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP_TD, "CMmSupplServMessHandler::SsServiceFailedResp, Cause: KSsGsmSsNotAvailable => No network coverage" ); |
1620 } |
1647 } |
1621 else if( SS_RESOURCE_CONTROL_DENIED == errorCode ) |
1648 else if( SS_RESOURCE_CONTROL_DENIED == errorCode ) |
1622 { |
1649 { |
1623 if ( KErrNone == aIsiMessage.FindSubBlockOffsetById( |
1650 if ( KErrNone == aIsiMessage.FindSubBlockOffsetById( |
1624 ISI_HEADER_SIZE + SIZE_SS_SERVICE_FAILED_RESP, |
1651 ISI_HEADER_SIZE + SIZE_SS_SERVICE_FAILED_RESP, |
1635 // sw1, sw2 and result is inserted to SS_SB_RESOURCE_CONTROL_INFO |
1662 // sw1, sw2 and result is inserted to SS_SB_RESOURCE_CONTROL_INFO |
1636 // by simatktsy and ther order from first byte is: sw1, sw2 and result |
1663 // by simatktsy and ther order from first byte is: sw1, sw2 and result |
1637 TUint8 sw1 = data[KSw1Index]; |
1664 TUint8 sw1 = data[KSw1Index]; |
1638 TUint8 sw2 = data[KSw2Index]; |
1665 TUint8 sw2 = data[KSw2Index]; |
1639 TUint8 result = data[KResultIndex]; |
1666 TUint8 result = data[KResultIndex]; |
1640 errorToClient = CMmStaticUtility::MapSw1Sw2ToEpocError( |
1667 errorToClient = CMmStaticUtility::MapSw1Sw2ToEpocError( |
1641 sw1, |
1668 sw1, |
1642 sw2, |
1669 sw2, |
1643 result ); |
1670 result ); |
1644 } |
1671 } |
1645 else |
1672 else |
1646 { |
1673 { |
1647 errorToClient = CMmStaticUtility::CSCauseToEpocError( |
1674 errorToClient = CMmStaticUtility::CSCauseToEpocError( |
1663 } |
1690 } |
1664 default: |
1691 default: |
1665 { |
1692 { |
1666 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceFailedResp \ |
1693 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SsServiceFailedResp \ |
1667 - unknown sub block Id: %d", subBlockId); |
1694 - unknown sub block Id: %d", subBlockId); |
1668 OstTraceExt1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP, "CMmSupplServMessHandler::SsServiceFailedResp;unknown subBlockId=%hhu", subBlockId ); |
1695 OstTraceExt1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_SSSERVICEFAILEDRESP_TD, "CMmSupplServMessHandler::SsServiceFailedResp;unknown subBlockId=%hhu", subBlockId ); |
1669 // unknown error sub block |
1696 // unknown error sub block |
1670 errorToClient = KErrGeneral; |
1697 errorToClient = KErrGeneral; |
1671 break; |
1698 break; |
1672 } |
1699 } |
1673 } |
1700 } |
1688 ( |
1715 ( |
1689 const TIsiReceiveC &aIsiMessage //received isi message |
1716 const TIsiReceiveC &aIsiMessage //received isi message |
1690 ) |
1717 ) |
1691 { |
1718 { |
1692 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsServiceNotSupportedResp"); |
1719 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsServiceNotSupportedResp"); |
1693 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICENOTSUPPORTEDRESP, "CMmSupplServMessHandler::SsServiceNotSupportedResp" ); |
1720 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSERVICENOTSUPPORTEDRESP_TD, "CMmSupplServMessHandler::SsServiceNotSupportedResp" ); |
1694 |
1721 |
1695 //create ss service not supported response message |
1722 //create ss service not supported response message |
1696 // complete to SOS layer |
1723 // complete to SOS layer |
1697 CompleteFailedSSRequest( aIsiMessage.Get8bit( |
1724 CompleteFailedSSRequest( aIsiMessage.Get8bit( |
1698 ISI_HEADER_SIZE + SS_SERVICE_NOT_SUPPORTED_RESP_OFFSET_TRANSID ), |
1725 ISI_HEADER_SIZE + SS_SERVICE_NOT_SUPPORTED_RESP_OFFSET_TRANSID ), |
1712 TInt aError // Symbian error code |
1739 TInt aError // Symbian error code |
1713 ) |
1740 ) |
1714 { |
1741 { |
1715 TFLOGSTRING3("TSY: CMmSupplServMessHandler::CompleteFailedSSRequest - \ |
1742 TFLOGSTRING3("TSY: CMmSupplServMessHandler::CompleteFailedSSRequest - \ |
1716 traId: %d, error code: %d", aTransactionId, aError); |
1743 traId: %d, error code: %d", aTransactionId, aError); |
1717 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_COMPLETEFAILEDSSREQUEST, "CMmSupplServMessHandler::CompleteFailedSSRequest;aTransactionId=%hhu;aError=%d", aTransactionId, aError ); |
1744 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_COMPLETEFAILEDSSREQUEST_TD, "CMmSupplServMessHandler::CompleteFailedSSRequest;aTransactionId=%hhu;aError=%d", aTransactionId, aError ); |
1718 |
1745 |
1719 TBool isExpectedMessage = ETrue; |
1746 TBool isExpectedMessage = ETrue; |
1720 switch ( aTransactionId ) |
1747 switch ( aTransactionId ) |
1721 { |
1748 { |
1722 case ESSOperationTypeGetCallForwardingStatus: |
1749 case ESSOperationTypeGetCallForwardingStatus: |
1791 } |
1818 } |
1792 default: |
1819 default: |
1793 { |
1820 { |
1794 TFLOGSTRING2("TSY: CMmSupplServMessHandler::CompleteFailedSSRequest \ |
1821 TFLOGSTRING2("TSY: CMmSupplServMessHandler::CompleteFailedSSRequest \ |
1795 - unknown traId: %d", aTransactionId ); |
1822 - unknown traId: %d", aTransactionId ); |
1796 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_COMPLETEFAILEDSSREQUEST, "CMmSupplServMessHandler::CompleteFailedSSRequest;aTransactionId=%hhu", aTransactionId ); |
1823 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_COMPLETEFAILEDSSREQUEST_TD, "CMmSupplServMessHandler::CompleteFailedSSRequest;aTransactionId=%hhu", aTransactionId ); |
1797 // ignore unknown response; do nothing |
1824 // ignore unknown response; do nothing |
1798 isExpectedMessage = EFalse; |
1825 isExpectedMessage = EFalse; |
1799 break; |
1826 break; |
1800 } |
1827 } |
1801 } |
1828 } |
1822 TDesC16 const& aVerifyPassword, //new password for verification |
1849 TDesC16 const& aVerifyPassword, //new password for verification |
1823 TUint8 aMmiBasicServiceCode //MMI basic service code |
1850 TUint8 aMmiBasicServiceCode //MMI basic service code |
1824 ) |
1851 ) |
1825 { |
1852 { |
1826 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmBarringReq"); |
1853 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmBarringReq"); |
1827 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMBARRINGREQ, "CMmSupplServMessHandler::SsGsmBarringReq" ); |
1854 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMBARRINGREQ_TD, "CMmSupplServMessHandler::SsGsmBarringReq" ); |
1828 |
1855 |
1829 TUint8 numOfSubblocks( 0 ); |
1856 TUint8 numOfSubblocks( 0 ); |
1830 TInt subblockStart = ISI_HEADER_SIZE + SIZE_SS_SERVICE_REQ; |
1857 TInt subblockStart = ISI_HEADER_SIZE + SIZE_SS_SERVICE_REQ; |
1831 |
1858 |
1832 //create ss service request message and set it to point send buffer |
1859 //create ss service request message and set it to point send buffer |
1980 TUint16 aMmiSsCode, //MMI ss code |
2007 TUint16 aMmiSsCode, //MMI ss code |
1981 TUint8 aMmiBasicServiceCode //MMI basic service code |
2008 TUint8 aMmiBasicServiceCode //MMI basic service code |
1982 ) |
2009 ) |
1983 { |
2010 { |
1984 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmWaitingReq"); |
2011 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmWaitingReq"); |
1985 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMWAITINGREQ, "CMmSupplServMessHandler::SsGsmWaitingReq" ); |
2012 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMWAITINGREQ_TD, "CMmSupplServMessHandler::SsGsmWaitingReq" ); |
1986 |
2013 |
1987 TUint8 numOfSubblocks( 0 ); |
2014 TUint8 numOfSubblocks( 0 ); |
1988 TBuf8<8> data( 0 ); |
2015 TBuf8<8> data( 0 ); |
1989 data.Append( aTransactionId ); |
2016 data.Append( aTransactionId ); |
1990 data.Append( SS_SERVICE_REQ ); |
2017 data.Append( SS_SERVICE_REQ ); |
2062 TUint8 aTransactionId, //transaction id |
2089 TUint8 aTransactionId, //transaction id |
2063 TUint16 aMmiSsCode //MMI ss code |
2090 TUint16 aMmiSsCode //MMI ss code |
2064 ) |
2091 ) |
2065 { |
2092 { |
2066 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsIdentityServiceReq"); |
2093 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsIdentityServiceReq"); |
2067 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSIDENTITYSERVICEREQ, "CMmSupplServMessHandler::SsIdentityServiceReq" ); |
2094 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSIDENTITYSERVICEREQ_TD, "CMmSupplServMessHandler::SsIdentityServiceReq" ); |
2068 |
2095 |
2069 //create ss service request message and set it to point send buffer |
2096 //create ss service request message and set it to point send buffer |
2070 TIsiSend isimsg( iPhoNetSender->SendBufferDes() ); |
2097 TIsiSend isimsg( iPhoNetSender->SendBufferDes() ); |
2071 |
2098 |
2072 TUint8 numOfSubblocks( 0 ); |
2099 TUint8 numOfSubblocks( 0 ); |
2149 TUint8 aTransactionId, //transaction id |
2176 TUint8 aTransactionId, //transaction id |
2150 TDesC8* aString //USSD string |
2177 TDesC8* aString //USSD string |
2151 ) |
2178 ) |
2152 { |
2179 { |
2153 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmUssdSendReq"); |
2180 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmUssdSendReq"); |
2154 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMUSSDSENDREQ, "CMmSupplServMessHandler::SsGsmUssdSendReq" ); |
2181 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMUSSDSENDREQ_TD, "CMmSupplServMessHandler::SsGsmUssdSendReq" ); |
2155 |
2182 |
2156 //create ss service request message |
2183 //create ss service request message |
2157 TBuf8<4> data( 0 ); //allocate memory for data |
2184 TBuf8<4> data( 0 ); //allocate memory for data |
2158 data.Append( aTransactionId ); |
2185 data.Append( aTransactionId ); |
2159 |
2186 |
2200 ( |
2227 ( |
2201 const TIsiReceiveC &aIsiMessage //received isi message |
2228 const TIsiReceiveC &aIsiMessage //received isi message |
2202 ) |
2229 ) |
2203 { |
2230 { |
2204 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmUssdSendResp"); |
2231 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsGsmUssdSendResp"); |
2205 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMUSSDSENDRESP, "CMmSupplServMessHandler::SsGsmUssdSendResp" ); |
2232 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSGSMUSSDSENDRESP_TD, "CMmSupplServMessHandler::SsGsmUssdSendResp" ); |
2206 |
2233 |
2207 if ( ESSOperationTypeSendNetworkServiceRequest == aIsiMessage.Get8bit( |
2234 TUint8 trId( aIsiMessage.Get8bit( ISI_HEADER_SIZE + SS_GSM_USSD_SEND_RESP_OFFSET_TRANSID ) ); |
2208 ISI_HEADER_SIZE + SS_GSM_USSD_SEND_RESP_OFFSET_TRANSID ) ) |
2235 |
2236 if ( ESSOperationTypeSendNetworkServiceRequest == trId ) |
|
2209 { |
2237 { |
2210 // complete (no packed parameter) |
2238 // complete (no packed parameter) |
2211 iMessageRouter->Complete( |
2239 iMessageRouter->Complete( |
2212 EMobilePhoneSendNetworkServiceRequest, |
2240 EMobilePhoneSendNetworkServiceRequest, |
2213 KErrNone ); |
2241 KErrNone ); |
2214 } |
2242 } |
2215 |
2243 else if( ESSOperationTypeSendNetworkServiceRequestNoFdnCheck == trId ) |
2244 { |
|
2245 // complete (no packed parameter) |
|
2246 iMessageRouter->Complete( |
|
2247 EMobilePhoneSendNetworkServiceRequestNoFdnCheck, |
|
2248 KErrNone ); |
|
2249 } |
|
2216 } |
2250 } |
2217 |
2251 |
2218 // ----------------------------------------------------------------------------- |
2252 // ----------------------------------------------------------------------------- |
2219 // CMmSupplServMessHandler::SsStatusInd |
2253 // CMmSupplServMessHandler::SsStatusInd |
2220 // Breaks a SS_STATUS_IND ISI message. Completes Send Network Service |
2254 // Breaks a SS_STATUS_IND ISI message. Completes Send Network Service |
2225 ( |
2259 ( |
2226 const TIsiReceiveC &aIsiMessage //received isi message |
2260 const TIsiReceiveC &aIsiMessage //received isi message |
2227 ) |
2261 ) |
2228 { |
2262 { |
2229 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsStatusInd"); |
2263 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsStatusInd"); |
2230 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSTATUSIND, "CMmSupplServMessHandler::SsStatusInd" ); |
2264 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSSTATUSIND_TD, "CMmSupplServMessHandler::SsStatusInd" ); |
2231 |
2265 |
2232 // Get number of subblocks |
2266 // Get number of subblocks |
2233 TInt numOfSubBlocks( 0 ); |
2267 TInt numOfSubBlocks( 0 ); |
2234 numOfSubBlocks = aIsiMessage.Get8bit( |
2268 numOfSubBlocks = aIsiMessage.Get8bit( |
2235 ISI_HEADER_SIZE + SS_STATUS_IND_OFFSET_SUBBLOCKCOUNT ); |
2269 ISI_HEADER_SIZE + SS_STATUS_IND_OFFSET_SUBBLOCKCOUNT ); |
2357 ( |
2391 ( |
2358 const TIsiReceiveC &aIsiMessage //received isi message |
2392 const TIsiReceiveC &aIsiMessage //received isi message |
2359 ) |
2393 ) |
2360 { |
2394 { |
2361 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsCompleteInd"); |
2395 TFLOGSTRING("TSY: CMmSupplServMessHandler::SsCompleteInd"); |
2362 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSCOMPLETEIND, "CMmSupplServMessHandler::SsCompleteInd" ); |
2396 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SSCOMPLETEIND_TD, "CMmSupplServMessHandler::SsCompleteInd" ); |
2363 |
2397 |
2364 TUint sbStartOffSet( 0 ); |
2398 TUint sbStartOffSet( 0 ); |
2365 RMobilePhone::TMobilePhoneSendSSRequestV3 returnResult; |
2399 RMobilePhone::TMobilePhoneSendSSRequestV3 returnResult; |
2366 |
2400 |
2367 returnResult.iOpCode = KErrNone; |
2401 returnResult.iOpCode = KErrNone; |
2434 TUint8* aIsiBasicServiceCode // isi basic service code |
2468 TUint8* aIsiBasicServiceCode // isi basic service code |
2435 ) |
2469 ) |
2436 { |
2470 { |
2437 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi \ |
2471 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi \ |
2438 - basic service code: %d", aIsiBasicServiceCode); |
2472 - basic service code: %d", aIsiBasicServiceCode); |
2439 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPMOBILESERVICETOBASICSERVICECODEISI, "CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi;aIsiBasicServiceCode=%hhu", *aIsiBasicServiceCode ); |
2473 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPMOBILESERVICETOBASICSERVICECODEISI_TD, "CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi;aIsiBasicServiceCode=%hhu", *aIsiBasicServiceCode ); |
2440 |
2474 |
2441 TInt ret ( KErrNone ); |
2475 TInt ret ( KErrNone ); |
2442 //get the right mobile service |
2476 //get the right mobile service |
2443 switch ( aMobileService ) |
2477 switch ( aMobileService ) |
2444 { |
2478 { |
2610 break; |
2644 break; |
2611 default: |
2645 default: |
2612 // not expected. |
2646 // not expected. |
2613 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi \ |
2647 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi \ |
2614 - unknown mobile service: %d", aMobileService); |
2648 - unknown mobile service: %d", aMobileService); |
2615 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPMOBILESERVICETOBASICSERVICECODEISI, "CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi;aMobileService=%d", aMobileService ); |
2649 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPMOBILESERVICETOBASICSERVICECODEISI_TD, "CMmSupplServMessHandler::MapMobileServiceToBasicServiceCodeIsi;aMobileService=%d", aMobileService ); |
2616 ret = KErrArgument; |
2650 ret = KErrArgument; |
2617 break; |
2651 break; |
2618 } |
2652 } |
2619 |
2653 |
2620 return ret; |
2654 return ret; |
2632 // multimode api call forw. condition |
2666 // multimode api call forw. condition |
2633 TUint16* aCFCondition // isi call forw. condition |
2667 TUint16* aCFCondition // isi call forw. condition |
2634 ) |
2668 ) |
2635 { |
2669 { |
2636 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapCFConditionMmToIsi"); |
2670 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapCFConditionMmToIsi"); |
2637 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONMMTOISI, "CMmSupplServMessHandler::MapCFConditionMmToIsi" ); |
2671 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONMMTOISI_TD, "CMmSupplServMessHandler::MapCFConditionMmToIsi" ); |
2638 TInt retVal( KErrNone ); |
2672 TInt retVal( KErrNone ); |
2639 |
2673 |
2640 switch ( aMmCFCondition ) |
2674 switch ( aMmCFCondition ) |
2641 { |
2675 { |
2642 case RMobilePhone::ECallForwardingUnconditional: |
2676 case RMobilePhone::ECallForwardingUnconditional: |
2659 break; |
2693 break; |
2660 case RMobilePhone::ECallForwardingUnspecified: |
2694 case RMobilePhone::ECallForwardingUnspecified: |
2661 default: |
2695 default: |
2662 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionMmToIsi - \ |
2696 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionMmToIsi - \ |
2663 unknown call forward condition: %d", aCFCondition); |
2697 unknown call forward condition: %d", aCFCondition); |
2664 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONMMTOISI, "CMmSupplServMessHandler::MapCFConditionMmToIsi;aCFCondition=%hu", *aCFCondition ); |
2698 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONMMTOISI_TD, "CMmSupplServMessHandler::MapCFConditionMmToIsi;aCFCondition=%hu", *aCFCondition ); |
2665 retVal = KErrNotSupported; |
2699 retVal = KErrNotSupported; |
2666 break; |
2700 break; |
2667 } |
2701 } |
2668 |
2702 |
2669 return retVal; |
2703 return retVal; |
2681 RMobilePhone::TMobileTON* aMmTypeOfNumber, // number type |
2715 RMobilePhone::TMobileTON* aMmTypeOfNumber, // number type |
2682 RMobilePhone::TMobileNPI* aMmNumberingPlan // numbering plan |
2716 RMobilePhone::TMobileNPI* aMmNumberingPlan // numbering plan |
2683 ) |
2717 ) |
2684 { |
2718 { |
2685 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapTypeOfNumberIsiToMm"); |
2719 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapTypeOfNumberIsiToMm"); |
2686 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm" ); |
2720 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM_TD, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm" ); |
2687 |
2721 |
2688 TInt retVal( KErrNone ); |
2722 TInt retVal( KErrNone ); |
2689 //get the right numbering plan |
2723 //get the right numbering plan |
2690 switch ( aIsiTypeOfNumber & 0xF ) |
2724 switch ( aIsiTypeOfNumber & 0xF ) |
2691 // 0xF = 1111, above switch case checks four least significant bits |
2725 // 0xF = 1111, above switch case checks four least significant bits |
2713 unknown number plan: %d", ( aIsiTypeOfNumber & 0xF ) ); |
2747 unknown number plan: %d", ( aIsiTypeOfNumber & 0xF ) ); |
2714 #ifdef OST_TRACE_COMPILER_IN_USE // following lines flagged out just get rid of |
2748 #ifdef OST_TRACE_COMPILER_IN_USE // following lines flagged out just get rid of |
2715 // compiler warning when trace compiler is not |
2749 // compiler warning when trace compiler is not |
2716 // in use. |
2750 // in use. |
2717 TUint8 tOn = aIsiTypeOfNumber & 0x0F; // parameter made just for tracing. |
2751 TUint8 tOn = aIsiTypeOfNumber & 0x0F; // parameter made just for tracing. |
2718 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm;aIsiTypeOfNumber=%hhu", tOn ); |
2752 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM_TD, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm;aIsiTypeOfNumber=%hhu", tOn ); |
2719 #endif |
2753 #endif |
2720 retVal = KErrArgument; |
2754 retVal = KErrArgument; |
2721 break; |
2755 break; |
2722 } |
2756 } |
2723 |
2757 |
2751 unknown number type: %d", ( ( aIsiTypeOfNumber & 0x70 ) >> 4 ) ); |
2785 unknown number type: %d", ( ( aIsiTypeOfNumber & 0x70 ) >> 4 ) ); |
2752 #ifdef OST_TRACE_COMPILER_IN_USE // following lines flagged out just get rid of |
2786 #ifdef OST_TRACE_COMPILER_IN_USE // following lines flagged out just get rid of |
2753 // compiler warning when trace compiler is not |
2787 // compiler warning when trace compiler is not |
2754 // in use. |
2788 // in use. |
2755 TUint8 tOn = ( ( aIsiTypeOfNumber & 0x70 ) >> 4 ); // Parameter just for tracing. |
2789 TUint8 tOn = ( ( aIsiTypeOfNumber & 0x70 ) >> 4 ); // Parameter just for tracing. |
2756 OstTraceExt1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm;tOn=%hhu", tOn ); |
2790 OstTraceExt1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERISITOMM_TD, "CMmSupplServMessHandler::MapTypeOfNumberIsiToMm;tOn=%hhu", tOn ); |
2757 #endif |
2791 #endif |
2758 retVal = KErrArgument; |
2792 retVal = KErrArgument; |
2759 break; |
2793 break; |
2760 } |
2794 } |
2761 |
2795 |
2773 RMobilePhone::TMobilePhoneCFStatus* aMmCFStatus // call forw. status |
2807 RMobilePhone::TMobilePhoneCFStatus* aMmCFStatus // call forw. status |
2774 ) |
2808 ) |
2775 { |
2809 { |
2776 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFStatusIsiToMm - SS status: %d", |
2810 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFStatusIsiToMm - SS status: %d", |
2777 aIsiSsStatus); |
2811 aIsiSsStatus); |
2778 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFSTATUSISITOMM, "CMmSupplServMessHandler::MapCFStatusIsiToMm;aIsiSsStatus=%hhu", aIsiSsStatus ); |
2812 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFSTATUSISITOMM_TD, "CMmSupplServMessHandler::MapCFStatusIsiToMm;aIsiSsStatus=%hhu", aIsiSsStatus ); |
2779 |
2813 |
2780 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
2814 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
2781 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
2815 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
2782 ( 0 < aIsiSsStatus ) ) |
2816 ( 0 < aIsiSsStatus ) ) |
2783 // no valid status code found |
2817 // no valid status code found |
2817 TUint8 aIsiSsStatus, // SS Status |
2851 TUint8 aIsiSsStatus, // SS Status |
2818 RMobilePhone::TMobilePhoneCWStatus* aMmCWStatus // call waiting status |
2852 RMobilePhone::TMobilePhoneCWStatus* aMmCWStatus // call waiting status |
2819 ) |
2853 ) |
2820 { |
2854 { |
2821 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapCWStatusIsiToMm"); |
2855 TFLOGSTRING("TSY: CMmSupplServMessHandler::MapCWStatusIsiToMm"); |
2822 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCWSTATUSISITOMM, "CMmSupplServMessHandler::MapCWStatusIsiToMm" ); |
2856 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCWSTATUSISITOMM_TD, "CMmSupplServMessHandler::MapCWStatusIsiToMm" ); |
2823 |
2857 |
2824 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
2858 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
2825 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
2859 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
2826 ( 0 < aIsiSsStatus ) ) |
2860 ( 0 < aIsiSsStatus ) ) |
2827 // no valid status code found |
2861 // no valid status code found |
2864 // multimode api basic service code |
2898 // multimode api basic service code |
2865 ) |
2899 ) |
2866 { |
2900 { |
2867 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm - \ |
2901 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm - \ |
2868 isi basic service code: %d", aIsiBasicServiceCode); |
2902 isi basic service code: %d", aIsiBasicServiceCode); |
2869 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPBASICSERVICECODEISITOMM, "CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm;aIsiBasicServiceCode=%hhu", aIsiBasicServiceCode ); |
2903 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPBASICSERVICECODEISITOMM_TD, "CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm;aIsiBasicServiceCode=%hhu", aIsiBasicServiceCode ); |
2870 |
2904 |
2871 TInt ret( KErrNone ); |
2905 TInt ret( KErrNone ); |
2872 |
2906 |
2873 switch ( aIsiBasicServiceCode ) |
2907 switch ( aIsiBasicServiceCode ) |
2874 { |
2908 { |
3036 *aMmBasicServiceCode = RMobilePhone::EServiceUnspecified; |
3070 *aMmBasicServiceCode = RMobilePhone::EServiceUnspecified; |
3037 break; |
3071 break; |
3038 default: |
3072 default: |
3039 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm \ |
3073 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm \ |
3040 - unknown isi basic service code: %d", aIsiBasicServiceCode); |
3074 - unknown isi basic service code: %d", aIsiBasicServiceCode); |
3041 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPBASICSERVICECODEISITOMM, "CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm;unknown isi basic service code=%hhu", aIsiBasicServiceCode ); |
3075 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPBASICSERVICECODEISITOMM_TD, "CMmSupplServMessHandler::MapBasicServiceCodeIsiToMm;unknown isi basic service code=%hhu", aIsiBasicServiceCode ); |
3042 ret = KErrGeneral; // this can't be KErrArgument because basic |
3076 ret = KErrGeneral; // this can't be KErrArgument because basic |
3043 // service code isn't usually given as argument |
3077 // service code isn't usually given as argument |
3044 break; |
3078 break; |
3045 } |
3079 } |
3046 return ret; |
3080 return ret; |
3058 // multimode api call forw. condition |
3092 // multimode api call forw. condition |
3059 ) |
3093 ) |
3060 { |
3094 { |
3061 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionIsiToMm - isi call \ |
3095 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionIsiToMm - isi call \ |
3062 forward condition: %d", aCFCondition); |
3096 forward condition: %d", aCFCondition); |
3063 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONISITOMM, "CMmSupplServMessHandler::MapCFConditionIsiToMm;aCFCondition=%hu", aCFCondition ); |
3097 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONISITOMM_TD, "CMmSupplServMessHandler::MapCFConditionIsiToMm;aCFCondition=%hu", aCFCondition ); |
3064 |
3098 |
3065 //get the right condition code |
3099 //get the right condition code |
3066 switch ( aCFCondition ) |
3100 switch ( aCFCondition ) |
3067 { |
3101 { |
3068 case SS_GSM_FORW_UNCONDITIONAL: |
3102 case SS_GSM_FORW_UNCONDITIONAL: |
3083 case SS_GSM_ALL_FORWARDINGS: |
3117 case SS_GSM_ALL_FORWARDINGS: |
3084 *aMmCFCondition = RMobilePhone::ECallForwardingAllCases; |
3118 *aMmCFCondition = RMobilePhone::ECallForwardingAllCases; |
3085 break; |
3119 break; |
3086 default: |
3120 default: |
3087 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionIsiToMm - unknown isi call forward condition: %d", aCFCondition); |
3121 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCFConditionIsiToMm - unknown isi call forward condition: %d", aCFCondition); |
3088 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONISITOMM, "CMmSupplServMessHandler::MapCFConditionIsiToMm;unknown isi call forward condition=%hu", aCFCondition ); |
3122 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCFCONDITIONISITOMM_TD, "CMmSupplServMessHandler::MapCFConditionIsiToMm;unknown isi call forward condition=%hu", aCFCondition ); |
3089 *aMmCFCondition = RMobilePhone::ECallForwardingUnspecified; |
3123 *aMmCFCondition = RMobilePhone::ECallForwardingUnspecified; |
3090 break; |
3124 break; |
3091 } |
3125 } |
3092 } |
3126 } |
3093 |
3127 |
3102 TInt* aMmTimeout // multimode api timeout |
3136 TInt* aMmTimeout // multimode api timeout |
3103 ) |
3137 ) |
3104 { |
3138 { |
3105 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapTimeoutIsiToMm - isi timeout: %d", |
3139 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapTimeoutIsiToMm - isi timeout: %d", |
3106 aISITimeout); |
3140 aISITimeout); |
3107 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTIMEOUTISITOMM, "CMmSupplServMessHandler::MapTimeoutIsiToMm;aISITimeout=%hhu", aISITimeout ); |
3141 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTIMEOUTISITOMM_TD, "CMmSupplServMessHandler::MapTimeoutIsiToMm;aISITimeout=%hhu", aISITimeout ); |
3108 |
3142 |
3109 if ( SS_UNDEFINED_TIME == aISITimeout ) |
3143 if ( SS_UNDEFINED_TIME == aISITimeout ) |
3110 { |
3144 { |
3111 *aMmTimeout = -1; |
3145 *aMmTimeout = -1; |
3112 } |
3146 } |
3129 TUint8* aIsiOperation // isi operation |
3163 TUint8* aIsiOperation // isi operation |
3130 ) |
3164 ) |
3131 { |
3165 { |
3132 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapOperationMmToIsi - multimode \ |
3166 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapOperationMmToIsi - multimode \ |
3133 api service action: %d", aMmOperation); |
3167 api service action: %d", aMmOperation); |
3134 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPOPERATIONMMTOISI, "CMmSupplServMessHandler::MapOperationMmToIsi;aMmOperation=%d", aMmOperation ); |
3168 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPOPERATIONMMTOISI_TD, "CMmSupplServMessHandler::MapOperationMmToIsi;aMmOperation=%d", aMmOperation ); |
3135 |
3169 |
3136 TInt ret( KErrNone ); |
3170 TInt ret( KErrNone ); |
3137 |
3171 |
3138 //get the right operation code |
3172 //get the right operation code |
3139 switch ( aMmOperation ) |
3173 switch ( aMmOperation ) |
3153 case RMobilePhone::EServiceActionUnspecified: |
3187 case RMobilePhone::EServiceActionUnspecified: |
3154 case RMobilePhone::EServiceActionInvoke: |
3188 case RMobilePhone::EServiceActionInvoke: |
3155 default: |
3189 default: |
3156 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapOperationMmToIsi - \ |
3190 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapOperationMmToIsi - \ |
3157 unknown multimode api service action: %d", aMmOperation); |
3191 unknown multimode api service action: %d", aMmOperation); |
3158 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPOPERATIONMMTOISI, "CMmSupplServMessHandler::MapOperationMmToIsi;unknown multimode api service action=%d", aMmOperation ); |
3192 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPOPERATIONMMTOISI_TD, "CMmSupplServMessHandler::MapOperationMmToIsi;unknown multimode api service action=%d", aMmOperation ); |
3159 ret = KErrArgument; |
3193 ret = KErrArgument; |
3160 break; |
3194 break; |
3161 } |
3195 } |
3162 return ret; |
3196 return ret; |
3163 } |
3197 } |
3174 // multimode api call barring condition |
3208 // multimode api call barring condition |
3175 ) |
3209 ) |
3176 { |
3210 { |
3177 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionIsiToMm - isi call \ |
3211 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionIsiToMm - isi call \ |
3178 barring condition: %d", aCBCondition); |
3212 barring condition: %d", aCBCondition); |
3179 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONISITOMM, "CMmSupplServMessHandler::MapCBConditionIsiToMm;aCBCondition=%hu", aCBCondition ); |
3213 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONISITOMM_TD, "CMmSupplServMessHandler::MapCBConditionIsiToMm;aCBCondition=%hu", aCBCondition ); |
3180 |
3214 |
3181 //get the right condition code |
3215 //get the right condition code |
3182 switch ( aCBCondition ) |
3216 switch ( aCBCondition ) |
3183 { |
3217 { |
3184 case SS_GSM_BARR_ALL_IN: |
3218 case SS_GSM_BARR_ALL_IN: |
3205 case SS_GSM_INCOMING_BARR_SERV: |
3239 case SS_GSM_INCOMING_BARR_SERV: |
3206 *aMmCBCondition = RMobilePhone::EBarAllIncomingServices; |
3240 *aMmCBCondition = RMobilePhone::EBarAllIncomingServices; |
3207 break; |
3241 break; |
3208 default: |
3242 default: |
3209 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionIsiToMm - unknown isi call barring condition: %d", aCBCondition); |
3243 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionIsiToMm - unknown isi call barring condition: %d", aCBCondition); |
3210 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONISITOMM, "CMmSupplServMessHandler::MapCBConditionIsiToMm;unknown isi call barring condition=%hu", aCBCondition ); |
3244 OstTraceExt1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONISITOMM_TD, "CMmSupplServMessHandler::MapCBConditionIsiToMm;unknown isi call barring condition=%hu", aCBCondition ); |
3211 *aMmCBCondition = RMobilePhone::EBarUnspecified; |
3245 *aMmCBCondition = RMobilePhone::EBarUnspecified; |
3212 break; |
3246 break; |
3213 } |
3247 } |
3214 } |
3248 } |
3215 |
3249 |
3226 TUint16* aCBCondition // isi call barring condition |
3260 TUint16* aCBCondition // isi call barring condition |
3227 ) |
3261 ) |
3228 { |
3262 { |
3229 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionMmToIsi - multimode \ |
3263 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionMmToIsi - multimode \ |
3230 api call barring condition: %d", aMmCBCondition); |
3264 api call barring condition: %d", aMmCBCondition); |
3231 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONMMTOISI, "CMmSupplServMessHandler::MapCBConditionMmToIsi;aMmCBCondition=%d", aMmCBCondition ); |
3265 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONMMTOISI_TD, "CMmSupplServMessHandler::MapCBConditionMmToIsi;aMmCBCondition=%d", aMmCBCondition ); |
3232 |
3266 |
3233 TInt ret( KErrNone ); |
3267 TInt ret( KErrNone ); |
3234 |
3268 |
3235 switch ( aMmCBCondition ) |
3269 switch ( aMmCBCondition ) |
3236 { |
3270 { |
3260 break; |
3294 break; |
3261 case RMobilePhone::EBarUnspecified: |
3295 case RMobilePhone::EBarUnspecified: |
3262 default: |
3296 default: |
3263 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionMmToIsi - \ |
3297 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBConditionMmToIsi - \ |
3264 unknown multimode api call barring condition: %d", aMmCBCondition); |
3298 unknown multimode api call barring condition: %d", aMmCBCondition); |
3265 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONMMTOISI, "CMmSupplServMessHandler::MapCBConditionMmToIsi;unknown multimode api call barring condition=%d", aMmCBCondition ); |
3299 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPCBCONDITIONMMTOISI_TD, "CMmSupplServMessHandler::MapCBConditionMmToIsi;unknown multimode api call barring condition=%d", aMmCBCondition ); |
3266 ret = KErrNotSupported; |
3300 ret = KErrNotSupported; |
3267 break; |
3301 break; |
3268 } |
3302 } |
3269 return ret; |
3303 return ret; |
3270 } |
3304 } |
3280 RMobilePhone::TMobilePhoneCBStatus* aMmCBStatus // multimode api status |
3314 RMobilePhone::TMobilePhoneCBStatus* aMmCBStatus // multimode api status |
3281 ) |
3315 ) |
3282 { |
3316 { |
3283 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBStatusIsiToMm - isi status: %d", |
3317 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapCBStatusIsiToMm - isi status: %d", |
3284 aIsiSsStatus); |
3318 aIsiSsStatus); |
3285 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBSTATUSISITOMM, "CMmSupplServMessHandler::MapCBStatusIsiToMm;aIsiSsStatus=%hhu", aIsiSsStatus ); |
3319 OstTraceExt1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPCBSTATUSISITOMM_TD, "CMmSupplServMessHandler::MapCBStatusIsiToMm;aIsiSsStatus=%hhu", aIsiSsStatus ); |
3286 |
3320 |
3287 //get the right status code |
3321 //get the right status code |
3288 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
3322 if ( ( 0 == ( aIsiSsStatus & ( SS_GSM_ACTIVE + SS_GSM_REGISTERED + |
3289 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
3323 SS_GSM_PROVISIONED + SS_GSM_QUIESCENT ) ) ) && |
3290 ( 0 < aIsiSsStatus ) ) |
3324 ( 0 < aIsiSsStatus ) ) |
3323 TUint16* aIdentityService // isi identity service |
3357 TUint16* aIdentityService // isi identity service |
3324 ) |
3358 ) |
3325 { |
3359 { |
3326 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapIdentityServiceMmToIsi - \ |
3360 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapIdentityServiceMmToIsi - \ |
3327 multimode api identity service: %d", aService); |
3361 multimode api identity service: %d", aService); |
3328 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICEMMTOISI, "CMmSupplServMessHandler::MapIdentityServiceMmToIsi;aService=%d", aService ); |
3362 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICEMMTOISI_TD, "CMmSupplServMessHandler::MapIdentityServiceMmToIsi;aService=%d", aService ); |
3329 |
3363 |
3330 TInt ret( KErrNone ); |
3364 TInt ret( KErrNone ); |
3331 |
3365 |
3332 //get the right operation code |
3366 //get the right operation code |
3333 switch ( aService ) |
3367 switch ( aService ) |
3350 case RMobilePhone::EIdServiceUnspecified: |
3384 case RMobilePhone::EIdServiceUnspecified: |
3351 case RMobilePhone::EIdServiceCalledPresentation: |
3385 case RMobilePhone::EIdServiceCalledPresentation: |
3352 default: |
3386 default: |
3353 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapIdentityServiceMmToIsi \ |
3387 TFLOGSTRING2("TSY: CMmSupplServMessHandler::MapIdentityServiceMmToIsi \ |
3354 - unknown multimode api identity service: %d", aService); |
3388 - unknown multimode api identity service: %d", aService); |
3355 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICEMMTOISI, "CMmSupplServMessHandler::MapIdentityServiceMmToIsi;unknown multimode api identity service=%d", aService ); |
3389 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICEMMTOISI_TD, "CMmSupplServMessHandler::MapIdentityServiceMmToIsi;unknown multimode api identity service=%d", aService ); |
3356 ret = KErrNotSupported; |
3390 ret = KErrNotSupported; |
3357 break; |
3391 break; |
3358 } |
3392 } |
3359 return ret; |
3393 return ret; |
3360 } |
3394 } |
3376 ) |
3410 ) |
3377 { |
3411 { |
3378 TFLOGSTRING3("TSY: CMmSupplServMessHandler::MapIdentityServiceStatusIsiToMm \ |
3412 TFLOGSTRING3("TSY: CMmSupplServMessHandler::MapIdentityServiceStatusIsiToMm \ |
3379 - isi id service status: %d, isi clir operation: %d", |
3413 - isi id service status: %d, isi clir operation: %d", |
3380 aIsiIdentityServiceStatus, aIsiClirOption); |
3414 aIsiIdentityServiceStatus, aIsiClirOption); |
3381 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICESTATUSISITOMM, "CMmSupplServMessHandler::MapIdentityServiceStatusIsiToMm;aIsiIdentityServiceStatus=%hhu;aIsiClirOption=%hhu", aIsiIdentityServiceStatus, aIsiClirOption ); |
3415 OstTraceExt2( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPIDENTITYSERVICESTATUSISITOMM_TD, "CMmSupplServMessHandler::MapIdentityServiceStatusIsiToMm;aIsiIdentityServiceStatus=%hhu;aIsiClirOption=%hhu", aIsiIdentityServiceStatus, aIsiClirOption ); |
3382 |
3416 |
3383 if ( 0 == ( aIsiIdentityServiceStatus & SS_GSM_PROVISIONED ) ) |
3417 if ( 0 == ( aIsiIdentityServiceStatus & SS_GSM_PROVISIONED ) ) |
3384 { |
3418 { |
3385 // service not provisioned |
3419 // service not provisioned |
3386 *aMmIdentityServiceStatus = RMobilePhone::EIdServiceNotProvisioned; |
3420 *aMmIdentityServiceStatus = RMobilePhone::EIdServiceNotProvisioned; |
3432 TDes8& src, // unpacked message |
3466 TDes8& src, // unpacked message |
3433 TUint byte_count // the number of bytes in source |
3467 TUint byte_count // the number of bytes in source |
3434 ) |
3468 ) |
3435 { |
3469 { |
3436 TFLOGSTRING("TSY: CMmSupplServMessHandler::GsmLibSmsPackMessage"); |
3470 TFLOGSTRING("TSY: CMmSupplServMessHandler::GsmLibSmsPackMessage"); |
3437 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_GSMLIBSMSPACKMESSAGE, "CMmSupplServMessHandler::GsmLibSmsPackMessage" ); |
3471 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_GSMLIBSMSPACKMESSAGE_TD, "CMmSupplServMessHandler::GsmLibSmsPackMessage" ); |
3438 |
3472 |
3439 TUint16 si( 0 ); |
3473 TUint16 si( 0 ); |
3440 TUint16 di( 0 ); // Indexes |
3474 TUint16 di( 0 ); // Indexes |
3441 TInt tmp_modulo; // Temporary; to improve efficiency |
3475 TInt tmp_modulo; // Temporary; to improve efficiency |
3442 |
3476 |
3489 const TIsiReceiveC& /*aIsiMsg*/, // Isi message |
3523 const TIsiReceiveC& /*aIsiMsg*/, // Isi message |
3490 TInt /*aError*/ // Error code |
3524 TInt /*aError*/ // Error code |
3491 ) |
3525 ) |
3492 { |
3526 { |
3493 TFLOGSTRING("TSY: CMmSupplServMessHandler::HandleError"); |
3527 TFLOGSTRING("TSY: CMmSupplServMessHandler::HandleError"); |
3494 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEERROR, "CMmSupplServMessHandler::HandleError" ); |
3528 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_HANDLEERROR_TD, "CMmSupplServMessHandler::HandleError" ); |
3495 //none |
3529 //none |
3496 } |
3530 } |
3497 |
3531 |
3498 // ---------------------------------------------------------------------------- |
3532 // ---------------------------------------------------------------------------- |
3499 // CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req |
3533 // CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req |
3500 // Write call forwarding flags REL4 to UICC |
3534 // Write call forwarding flags REL4 to UICC |
3501 // ----------------------------------------------------------------------------- |
3535 // ----------------------------------------------------------------------------- |
3502 // |
3536 // |
3503 TInt CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req() |
3537 TInt CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req |
3538 ( |
|
3539 TUint8 aVoiceStatus, |
|
3540 TUint8 aFaxStatus, |
|
3541 TUint8 aDataStatus |
|
3542 ) |
|
3504 { |
3543 { |
3505 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req"); |
3544 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req"); |
3506 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req" ); |
3545 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req" ); |
3507 |
3546 |
3508 TBuf<RMobilePhone::KMaxMobileTelNumberSize> telNumber( 0 ); |
3547 TBuf<RMobilePhone::KMaxMobileTelNumberSize> telNumber( 0 ); |
3509 |
3548 |
3510 TUint8 voiceStatus( iVoiceStatus ); |
|
3511 TUint8 faxStatus( iFaxStatus ); |
|
3512 TUint8 dataStatus( iDataStatus ); |
|
3513 TUint8 numberLength( iCFAddress.iTelNumber.Length() ); |
3549 TUint8 numberLength( iCFAddress.iTelNumber.Length() ); |
3514 TUint8 status( 0 ); |
3550 TUint8 status( 0 ); |
3515 |
3551 |
3516 if ( 0 < numberLength ) |
3552 if ( 0 < numberLength ) |
3517 { |
3553 { |
3527 case RMobilePhone::EAllTele: |
3563 case RMobilePhone::EAllTele: |
3528 { |
3564 { |
3529 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3565 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3530 { |
3566 { |
3531 telNumber.Copy( iCFAddress.iTelNumber ); |
3567 telNumber.Copy( iCFAddress.iTelNumber ); |
3532 voiceStatus = status; |
3568 aVoiceStatus = status; |
3533 faxStatus = status; |
3569 aFaxStatus = status; |
3534 } |
3570 } |
3535 break; |
3571 break; |
3536 } |
3572 } |
3537 case RMobilePhone::ETelephony: |
3573 case RMobilePhone::ETelephony: |
3538 { |
3574 { |
3539 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3575 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3540 { |
3576 { |
3541 telNumber.Copy( iCFAddress.iTelNumber ); |
3577 telNumber.Copy( iCFAddress.iTelNumber ); |
3542 voiceStatus = status; |
3578 aVoiceStatus = status; |
3543 } |
3579 } |
3544 else |
3580 else |
3545 { |
3581 { |
3546 telNumber.Copy( iCFTelNumberFromSim ); |
3582 telNumber.Copy( iCFTelNumberFromSim ); |
3547 numberLength = iCFTelNumberFromSim.Length(); |
3583 numberLength = iCFTelNumberFromSim.Length(); |
3553 telNumber.Copy( iCFTelNumberFromSim ); |
3589 telNumber.Copy( iCFTelNumberFromSim ); |
3554 numberLength = iCFTelNumberFromSim.Length(); |
3590 numberLength = iCFTelNumberFromSim.Length(); |
3555 |
3591 |
3556 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3592 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3557 { |
3593 { |
3558 dataStatus = status; |
3594 aDataStatus = status; |
3559 } |
3595 } |
3560 |
3596 |
3561 break; |
3597 break; |
3562 } |
3598 } |
3563 case RMobilePhone::EFaxService: |
3599 case RMobilePhone::EFaxService: |
3565 telNumber.Copy( iCFTelNumberFromSim ); |
3601 telNumber.Copy( iCFTelNumberFromSim ); |
3566 numberLength = iCFTelNumberFromSim.Length(); |
3602 numberLength = iCFTelNumberFromSim.Length(); |
3567 |
3603 |
3568 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3604 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3569 { |
3605 { |
3570 faxStatus = status; |
3606 aFaxStatus = status; |
3571 } |
3607 } |
3572 break; |
3608 break; |
3573 } |
3609 } |
3574 case RMobilePhone::EAllServices: //cancel all diverts |
3610 case RMobilePhone::EAllServices: //cancel all diverts |
3575 { |
3611 { |
3576 if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition || |
3612 if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition || |
3577 RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3613 RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3578 { |
3614 { |
3579 telNumber.Copy( iCFAddress.iTelNumber ); |
3615 telNumber.Copy( iCFAddress.iTelNumber ); |
3580 voiceStatus = status; |
3616 aVoiceStatus = status; |
3581 dataStatus = status; |
3617 aDataStatus = status; |
3582 faxStatus = status; |
3618 aFaxStatus = status; |
3583 } |
3619 } |
3584 break; |
3620 break; |
3585 } |
3621 } |
3586 case RMobilePhone::EAllSync: |
3622 case RMobilePhone::EAllSync: |
3587 { |
3623 { |
3588 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3624 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3589 { |
3625 { |
3590 telNumber.Copy( iCFAddress.iTelNumber ); |
3626 telNumber.Copy( iCFAddress.iTelNumber ); |
3591 dataStatus = status; |
3627 aDataStatus = status; |
3592 } |
3628 } |
3593 break; |
3629 break; |
3594 } |
3630 } |
3595 case RMobilePhone::ESyncData: |
3631 case RMobilePhone::ESyncData: |
3596 { |
3632 { |
3597 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3633 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3598 { |
3634 { |
3599 telNumber.Copy( iCFAddress.iTelNumber ); |
3635 telNumber.Copy( iCFAddress.iTelNumber ); |
3600 dataStatus = status; |
3636 aDataStatus = status; |
3601 } |
3637 } |
3602 break; |
3638 break; |
3603 } |
3639 } |
3604 default: |
3640 default: |
3605 { |
3641 { |
3606 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - unknown call service: %d", iMobileService); |
3642 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - unknown call service: %d", iMobileService); |
3607 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req;iMobileService=%d", iMobileService ); |
3643 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req;iMobileService=%d", iMobileService ); |
3608 break; |
3644 break; |
3609 } |
3645 } |
3610 } |
3646 } |
3611 |
3647 |
3612 TFLOGSTRING3("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - Number: %S, length: %d", &telNumber, numberLength); |
3648 TFLOGSTRING3("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - Number: %S, length: %d", &telNumber, numberLength); |
3613 TFLOGSTRING4("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - VoiceStatus: %d, FaxStatus: %d, DataStatus: %d", voiceStatus, faxStatus, dataStatus); |
3649 TFLOGSTRING4("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req - VoiceStatus: %d, FaxStatus: %d, DataStatus: %d", aVoiceStatus, aFaxStatus, aDataStatus); |
3614 OstTraceExt5( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req;telNumber=%S;numberLength=%hhu;voiceStatus=%hhu;faxStatus=%hhu;dataStatus=%hhu", telNumber, numberLength, voiceStatus, faxStatus, dataStatus ); |
3650 OstTraceExt5( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsRel4Req;telNumber=%S;numberLength=%hhu;voiceStatus=%hhu;faxStatus=%hhu;dataStatus=%hhu", telNumber, numberLength, aVoiceStatus, aFaxStatus, aDataStatus ); |
3615 |
3651 |
3616 // Status of the call forward unconditional indicator |
3652 // Status of the call forward unconditional indicator |
3617 TUint8 cfuIndicatorStatus( 0 ); |
3653 TUint8 cfuIndicatorStatus( 0 ); |
3618 cfuIndicatorStatus = voiceStatus; // 1st bit is for voice |
3654 cfuIndicatorStatus = aVoiceStatus; // 1st bit is for voice |
3619 // 2nd bit is for fax |
3655 // 2nd bit is for fax |
3620 cfuIndicatorStatus = cfuIndicatorStatus | ( faxStatus << 1 ); |
3656 cfuIndicatorStatus = cfuIndicatorStatus | ( aFaxStatus << 1 ); |
3621 // 3rd bit is for data |
3657 // 3rd bit is for data |
3622 cfuIndicatorStatus = cfuIndicatorStatus | ( dataStatus << 2 ); |
3658 cfuIndicatorStatus = cfuIndicatorStatus | ( aDataStatus << 2 ); |
3623 |
3659 |
3624 // Convert number to BCD format |
3660 // Convert number to BCD format |
3625 TBuf8<RMobilePhone::KMaxMobileTelNumberSize> bcdNumberToSim( 0 ); |
3661 TBuf8<RMobilePhone::KMaxMobileTelNumberSize> bcdNumberToSim( 0 ); |
3626 TUint8 length( telNumber.Length() ); |
3662 TUint8 length( telNumber.Length() ); |
3627 // Two byte are combined to on bytes, divide by 2 |
3663 // Two byte are combined to on bytes, divide by 2 |
3684 // ---------------------------------------------------------------------------- |
3720 // ---------------------------------------------------------------------------- |
3685 // CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq |
3721 // CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq |
3686 // Write call forwarding flags CPHS to UICC |
3722 // Write call forwarding flags CPHS to UICC |
3687 // ----------------------------------------------------------------------------- |
3723 // ----------------------------------------------------------------------------- |
3688 // |
3724 // |
3689 TInt CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq() |
3725 TInt CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq |
3726 ( |
|
3727 TUint8 aVoiceLine1Status, |
|
3728 TUint8 aVoiceLine2Status, |
|
3729 TUint8 aFaxStatus, |
|
3730 TUint8 aDataStatus |
|
3731 ) |
|
3690 { |
3732 { |
3691 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq"); |
3733 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq"); |
3692 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq" ); |
3734 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq" ); |
3693 |
|
3694 TUint8 voiceLine1( iVoiceLine1 ); |
|
3695 TUint8 voiceLine2( iVoiceLine2 ); |
|
3696 TUint8 faxFlag( iFax ); |
|
3697 TUint8 dataFlag( iData ); |
|
3698 |
3735 |
3699 TUint8 numberLength = iCFAddress.iTelNumber.Length(); |
3736 TUint8 numberLength = iCFAddress.iTelNumber.Length(); |
3700 TUint8 status( 0 ); |
3737 TCphsCallForwardingFlagStatus status( 0 < numberLength ? |
3701 |
3738 ECphsCallForwardingActive : ECphsCallForwardingInactive ); |
3702 if ( 0 < numberLength ) |
|
3703 { |
|
3704 status = 0x0A; // set divert |
|
3705 } |
|
3706 else |
|
3707 { |
|
3708 status = 0x05; // cancel divert |
|
3709 } |
|
3710 |
3739 |
3711 switch ( iMobileService ) |
3740 switch ( iMobileService ) |
3712 { |
3741 { |
3713 case RMobilePhone::ETelephony: |
3742 case RMobilePhone::ETelephony: |
3714 { |
3743 { |
3715 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3744 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3716 { |
3745 { |
3717 voiceLine1 = status; |
3746 aVoiceLine1Status = status; |
3718 } |
3747 } |
3719 break; |
3748 break; |
3720 } |
3749 } |
3721 case RMobilePhone::EAllBearer: |
3750 case RMobilePhone::EAllBearer: |
3722 { |
3751 { |
3723 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3752 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3724 { |
3753 { |
3725 dataFlag = status; |
3754 aDataStatus = status; |
3726 } |
3755 } |
3727 break; |
3756 break; |
3728 } |
3757 } |
3729 case RMobilePhone::EFaxService: |
3758 case RMobilePhone::EFaxService: |
3730 { |
3759 { |
3731 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3760 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3732 { |
3761 { |
3733 faxFlag = status; |
3762 aFaxStatus = status; |
3734 } |
3763 } |
3735 break; |
3764 break; |
3736 } |
3765 } |
3737 case RMobilePhone::EAllServices: |
3766 case RMobilePhone::EAllServices: |
3738 { |
3767 { |
3739 if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition || |
3768 if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition || |
3740 RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3769 RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3741 { |
3770 { |
3742 voiceLine1 = status; |
3771 aVoiceLine1Status = status; |
3743 dataFlag = status; |
3772 aDataStatus = status; |
3744 faxFlag = status; |
3773 aFaxStatus = status; |
3745 } |
3774 } |
3746 break; |
3775 break; |
3747 } |
3776 } |
3748 case RMobilePhone::EAuxVoiceService: |
3777 case RMobilePhone::EAuxVoiceService: |
3749 { |
3778 { |
3750 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3779 if ( RMobilePhone::ECallForwardingUnconditional == iMmCFCondition ) |
3751 { |
3780 { |
3752 voiceLine2 = status; |
3781 aVoiceLine2Status = status; |
3753 } |
3782 } |
3754 else if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition ) |
3783 else if ( RMobilePhone::ECallForwardingAllCases == iMmCFCondition ) |
3755 { |
3784 { |
3756 voiceLine2 = status; |
3785 aVoiceLine2Status = status; |
3757 dataFlag = status; |
3786 aDataStatus = status; |
3758 faxFlag = status; |
3787 aFaxStatus = status; |
3759 } |
3788 } |
3760 break; |
3789 break; |
3761 } |
3790 } |
3762 default: |
3791 default: |
3763 { |
3792 { |
3764 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - unknown call service: %d", iMobileService); |
3793 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - unknown call service: %d", iMobileService); |
3765 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;iMobileService=%d", iMobileService ); |
3794 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;iMobileService=%d", iMobileService ); |
3766 break; |
3795 break; |
3767 } |
3796 } |
3768 } |
3797 } |
3769 |
3798 |
3770 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - VoiceLine1: %d", voiceLine1); |
3799 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - VoiceLine1: %d", aVoiceLine1Status); |
3771 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - VoiceLine2: %d", voiceLine2); |
3800 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - VoiceLine2: %d", aVoiceLine2Status); |
3772 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Fax: %d", faxFlag); |
3801 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Fax: %d", aFaxStatus); |
3773 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Data: %d", dataFlag); |
3802 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Data: %d", aDataStatus); |
3774 OstTraceExt4( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;voiceLine1=%hhu;voiceLine2=%hhu;faxFlag=%hhu;dataFlag=%hhu", voiceLine1, voiceLine2, faxFlag, dataFlag ); |
3803 OstTraceExt4( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;voiceLine1=%hhu;voiceLine2=%hhu;faxFlag=%hhu;dataFlag=%hhu", aVoiceLine1Status, aVoiceLine2Status, aFaxStatus, aDataStatus ); |
3775 |
3804 |
3776 // Stores CPHS indicator values to be used in notify |
3805 // Stores CPHS indicator values to be used in notify |
3777 // ECustomNotifyIccCallForwardingStatusChangeIPC |
3806 // ECustomNotifyIccCallForwardingStatusChangeIPC |
3778 // Stores CAPI CF indicator values |
3807 // Stores CAPI CF indicator values |
3779 iTCFIndicators.iMultipleSubscriberProfileID = RMmCustomAPI::KProfileIdentityOne; |
3808 iTCFIndicators.iMultipleSubscriberProfileID = RMmCustomAPI::KProfileIdentityOne; |
3780 iTCFIndicators.iIndicator = |
3809 iTCFIndicators.iIndicator = aVoiceLine1Status == ECphsCallForwardingActive |
3781 ( voiceLine1 == 0x0A ? RMobilePhone::KCFUIndicatorVoice: |
3810 ? RMobilePhone::KCFUIndicatorVoice : RMobilePhone::KCFUIndicatorUnknown; |
3782 RMobilePhone::KCFUIndicatorUnknown ); |
3811 |
3783 |
3812 iTCFIndicators.iIndicator |= aVoiceLine2Status == ECphsCallForwardingActive |
3784 iTCFIndicators.iIndicator |= |
3813 ? RMobilePhone::KCFUIndicatorAuxVoice : RMobilePhone::KCFUIndicatorUnknown; |
3785 ( voiceLine2 == 0x0A ? RMobilePhone::KCFUIndicatorAuxVoice: |
3814 |
3786 RMobilePhone::KCFUIndicatorUnknown ); |
3815 iTCFIndicators.iIndicator |= aFaxStatus == ECphsCallForwardingActive |
3787 |
3816 ? RMobilePhone::KCFUIndicatorFax : RMobilePhone::KCFUIndicatorUnknown; |
3788 iTCFIndicators.iIndicator |= |
3817 |
3789 ( faxFlag == 0x0A ? RMobilePhone::KCFUIndicatorFax: |
3818 iTCFIndicators.iIndicator |= aDataStatus == ECphsCallForwardingActive |
3790 RMobilePhone::KCFUIndicatorUnknown ); |
3819 ? RMobilePhone::KCFUIndicatorData : RMobilePhone::KCFUIndicatorUnknown; |
3791 |
|
3792 iTCFIndicators.iIndicator |= |
|
3793 ( dataFlag == 0x0A ? RMobilePhone::KCFUIndicatorData: |
|
3794 RMobilePhone::KCFUIndicatorUnknown ); |
|
3795 |
3820 |
3796 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Indicator: 0x%x", iTCFIndicators.iIndicator ); |
3821 TFLOGSTRING2("TSY: CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq - Indicator: 0x%x", iTCFIndicators.iIndicator ); |
3797 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;iTCFIndicators.iIndicator=%x", iTCFIndicators.iIndicator ); |
3822 OstTrace1( TRACE_NORMAL, DUP3_CMMSUPPLSERVMESSHANDLER_UICCWRITECALLFWDFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccWriteCallFwdFlagsCPHSReq;iTCFIndicators.iIndicator=%x", iTCFIndicators.iIndicator ); |
3798 |
3823 |
3799 iTCFIndicators.iCFNumber.iTelNumber.Zero(); |
3824 iTCFIndicators.iCFNumber.iTelNumber.Zero(); |
3800 |
3825 |
3801 // Set parameters for UICC_APPL_CMD_REQ message |
3826 // Set parameters for UICC_APPL_CMD_REQ message |
3802 TUiccWriteTransparent params; |
3827 TUiccWriteTransparent params; |
3814 params.filePath.Append( KMasterFileId ); |
3839 params.filePath.Append( KMasterFileId ); |
3815 params.filePath.Append( iMmUiccMessHandler->GetApplicationFileId() ); |
3840 params.filePath.Append( iMmUiccMessHandler->GetApplicationFileId() ); |
3816 |
3841 |
3817 // File data tu be updated. |
3842 // File data tu be updated. |
3818 TBuf8<2> fileDataBuf; |
3843 TBuf8<2> fileDataBuf; |
3819 // Byte 1: Voice line 2 (bits 4-7) and Voice line 1 (bits 0-3) |
3844 // Byte 1[M]: Voice line 2 (bits 4-7) and Voice line 1 (bits 0-3) |
3820 fileDataBuf.Append( ( voiceLine2 << 4 ) | ( voiceLine1 ) ); |
3845 fileDataBuf.Append( aVoiceLine2Status << 4 | aVoiceLine1Status ); |
3821 // Byte 2: Data calls (bits 4-7) and Fax calls (bits 0-3) |
3846 // Byte 2[O]: Data calls (bits 4-7) and Fax calls (bits 0-3) |
3822 fileDataBuf.Append( ( dataFlag << 4 ) | ( faxFlag ) ); |
3847 // write only if it makes sense |
3848 if ( ECphsCallForwardingUnknown != aFaxStatus || |
|
3849 ECphsCallForwardingUnknown != aDataStatus ) |
|
3850 { |
|
3851 aDataStatus = aDataStatus == ECphsCallForwardingUnknown ? |
|
3852 ECphsCallForwardingInactive : aDataStatus; |
|
3853 aFaxStatus = aFaxStatus == ECphsCallForwardingUnknown ? |
|
3854 ECphsCallForwardingInactive : aFaxStatus; |
|
3855 fileDataBuf.Append( aDataStatus << 4 | aFaxStatus ); |
|
3856 } |
|
3823 |
3857 |
3824 params.fileData.Append( fileDataBuf ); |
3858 params.fileData.Append( fileDataBuf ); |
3825 |
3859 |
3826 return iMmUiccMessHandler->CreateUiccApplCmdReq( params ); |
3860 return iMmUiccMessHandler->CreateUiccApplCmdReq( params ); |
3827 } |
3861 } |
3832 // ----------------------------------------------------------------------------- |
3866 // ----------------------------------------------------------------------------- |
3833 // |
3867 // |
3834 TInt CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req() |
3868 TInt CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req() |
3835 { |
3869 { |
3836 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req"); |
3870 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req"); |
3837 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADCALLFWDFLAGSREL4REQ, "CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req" ); |
3871 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADCALLFWDFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccReadCallFwdFlagsRel4Req" ); |
3838 |
3872 |
3839 // At first try to read rel4 EF ( 6FCB ) |
3873 // At first try to read rel4 EF ( 6FCB ) |
3840 // If reading is not successful, then we try CPHS file ( 6F13 ) |
3874 // If reading is not successful, then we try CPHS file ( 6F13 ) |
3841 // Set parameters for UICC_APPL_CMD_REQ message |
3875 // Set parameters for UICC_APPL_CMD_REQ message |
3842 TUiccReadLinearFixed params; |
3876 TUiccReadLinearFixed params; |
3862 // ----------------------------------------------------------------------------- |
3896 // ----------------------------------------------------------------------------- |
3863 // |
3897 // |
3864 TInt CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq() |
3898 TInt CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq() |
3865 { |
3899 { |
3866 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq"); |
3900 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq"); |
3867 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADCALLFWDFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq" ); |
3901 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADCALLFWDFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccReadCallFwdFlagsCphsReq" ); |
3868 |
3902 |
3869 // Set parameters for UICC_APPL_CMD_REQ message |
3903 // Set parameters for UICC_APPL_CMD_REQ message |
3870 TUiccReadTransparent params; |
3904 TUiccReadTransparent params; |
3871 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
3905 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
3872 params.trId = ETrIdReadCallFwdFlagsCphs; |
3906 params.trId = ETrIdReadCallFwdFlagsCphs; |
3893 TInt aStatus, |
3927 TInt aStatus, |
3894 TInt aTrId, |
3928 TInt aTrId, |
3895 const TDesC8& aFileData ) |
3929 const TDesC8& aFileData ) |
3896 { |
3930 { |
3897 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
3931 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
3898 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCHANDLECALLFWDFLAGSRESP, "CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp" ); |
3932 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCHANDLECALLFWDFLAGSRESP_TD, "CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp" ); |
3899 |
3933 |
3900 CMmDataPackage dataPackage; |
3934 CMmDataPackage dataPackage; |
3901 CMmDataPackage customDataPackage; |
3935 CMmDataPackage customDataPackage; |
3902 TBool rel4Exists( EFalse ); |
3936 enum |
3903 TBool cphsExists( EFalse ); |
3937 { |
3904 |
3938 EForwardFlagsConfigurationUnknown, |
3939 EForwardFlagsConfigurationRel4, |
|
3940 EForwardFlagsConfigurationCphs |
|
3941 } configuration( EForwardFlagsConfigurationUnknown ); |
|
3942 |
|
3943 TUint8 voiceStatus( 0 ); |
|
3944 TUint8 auxVoiceStatus( 0 ); |
|
3945 TUint8 faxStatus( 0 ); |
|
3946 TUint8 dataStatus( 0 ); |
|
3905 // Read file data only if UICC status is OK |
3947 // Read file data only if UICC status is OK |
3906 if ( UICC_STATUS_OK == aStatus ) |
3948 if ( UICC_STATUS_OK == aStatus ) |
3907 { |
3949 { |
3908 if ( ETrIdReadCallFwdFlagsRel4 == aTrId ) |
3950 if ( ETrIdReadCallFwdFlagsRel4 == aTrId ) |
3909 { |
3951 { |
3910 rel4Exists = ETrue; |
3952 configuration = EForwardFlagsConfigurationRel4; |
3911 iVoiceStatus = aFileData[1] & 0x01; |
3953 voiceStatus = aFileData[1] & 0x01; |
3912 iFaxStatus = ( ( aFileData[1] & 0x02 ) >> 1 ); |
3954 faxStatus = ( aFileData[1] & 0x02 ) >> 1; |
3913 iDataStatus = ( ( aFileData[1] & 0x04 ) >> 2 ); |
3955 dataStatus = ( aFileData[1] & 0x04 ) >> 2; |
3914 |
3956 |
3915 // In case of inactive flags, remaining bytes may be set to 0xFF in SIM |
3957 // In case of inactive flags, remaining bytes may be set to 0xFF in SIM |
3916 // Check the byte 3 for avoiding crash in that case. |
3958 // Check the byte 3 for avoiding crash in that case. |
3917 if ( iVoiceStatus || iFaxStatus || iDataStatus && |
3959 if ( ( voiceStatus || faxStatus || dataStatus ) && |
3918 0xFF != aFileData[2] ) |
3960 0xFF != aFileData[2] ) |
3919 { |
3961 { |
3920 TUint8 numberLen( aFileData[2] ); |
3962 TUint8 numberLen( aFileData[2] ); |
3921 numberLen--; // decrease by one because of TON&NPI |
3963 numberLen--; // decrease by one because of TON&NPI |
3922 TBuf<20> tempNumber; |
3964 TBuf<20> tempNumber; |
3932 TUint8 index( iCFTelNumberFromSim.Length() ); |
3974 TUint8 index( iCFTelNumberFromSim.Length() ); |
3933 if ( 0x0F == iCFTelNumberFromSim[--index] ) |
3975 if ( 0x0F == iCFTelNumberFromSim[--index] ) |
3934 { |
3976 { |
3935 iCFTelNumberFromSim.SetLength( index ); |
3977 iCFTelNumberFromSim.SetLength( index ); |
3936 } |
3978 } |
3937 } |
3979 // no else |
3980 } |
|
3981 // no else |
|
3938 } |
3982 } |
3939 else // CPHS case |
3983 else // CPHS case |
3940 { |
3984 { |
3941 iVoiceLine1 = aFileData[0] & 0x0F; |
3985 configuration = EForwardFlagsConfigurationCphs; |
3942 iVoiceLine2 = ( aFileData[0] & 0xF0 ) >> 4; |
3986 voiceStatus = aFileData[0] & 0x0F; |
3943 iFax = aFileData[1] & 0x0F; |
3987 auxVoiceStatus = ( aFileData[0] & 0xF0 ) >> 4; |
3944 iData = ( aFileData[1] & 0xF0 ) >> 4; |
3988 if ( 1 < aFileData.Length() ) |
3945 cphsExists = ETrue; |
3989 { |
3990 faxStatus = aFileData[1] & 0x0F; |
|
3991 dataStatus = ( aFileData[1] & 0xF0 ) >> 4; |
|
3992 } |
|
3993 else |
|
3994 { |
|
3995 faxStatus = ECphsCallForwardingUnknown; |
|
3996 dataStatus = ECphsCallForwardingUnknown; |
|
3997 } |
|
3946 } |
3998 } |
3947 } // End of if ( UICC_STATUS_OK == aStatus ) |
3999 } // End of if ( UICC_STATUS_OK == aStatus ) |
3948 |
4000 |
3949 iTCFIndicators.iIndicator = RMobilePhone::KCFUIndicatorUnknown; |
4001 iTCFIndicators.iIndicator = RMobilePhone::KCFUIndicatorUnknown; |
3950 iTCFIndicators.iCFNumber.iTelNumber.Zero(); |
4002 iTCFIndicators.iCFNumber.iTelNumber.Zero(); |
3951 // Stores CAPI CF indicator values |
4003 // Stores CAPI CF indicator values |
3952 iTCFIndicators.iMultipleSubscriberProfileID = |
4004 iTCFIndicators.iMultipleSubscriberProfileID = |
3953 RMmCustomAPI::KProfileIdentityOne; |
4005 RMmCustomAPI::KProfileIdentityOne; |
3954 |
4006 |
3955 if ( rel4Exists ) |
4007 if ( EForwardFlagsConfigurationRel4 == configuration ) |
3956 { |
4008 { |
3957 iTCFIndicators.iIndicator = |
4009 iTCFIndicators.iIndicator = |
3958 ( iVoiceStatus ? RMobilePhone::KCFUIndicatorVoice: |
4010 voiceStatus ? RMobilePhone::KCFUIndicatorVoice : |
3959 RMobilePhone::KCFUIndicatorUnknown ); |
4011 RMobilePhone::KCFUIndicatorUnknown; |
3960 iTCFIndicators.iIndicator |= |
4012 iTCFIndicators.iIndicator |= |
3961 ( iFaxStatus ? RMobilePhone::KCFUIndicatorFax: |
4013 faxStatus ? RMobilePhone::KCFUIndicatorFax : |
3962 RMobilePhone::KCFUIndicatorUnknown ); |
4014 RMobilePhone::KCFUIndicatorUnknown; |
3963 iTCFIndicators.iIndicator |= |
4015 iTCFIndicators.iIndicator |= |
3964 ( iDataStatus ? RMobilePhone::KCFUIndicatorData: |
4016 dataStatus ? RMobilePhone::KCFUIndicatorData : |
3965 RMobilePhone::KCFUIndicatorUnknown ); |
4017 RMobilePhone::KCFUIndicatorUnknown; |
3966 |
|
3967 iTCFIndicators.iCFNumber.iTelNumber.Copy( iCFTelNumberFromSim ); |
4018 iTCFIndicators.iCFNumber.iTelNumber.Copy( iCFTelNumberFromSim ); |
3968 } |
4019 } |
3969 else if ( cphsExists ) // CPHS |
4020 else if ( EForwardFlagsConfigurationCphs == configuration ) // CPHS |
3970 { |
4021 { |
3971 iTCFIndicators.iIndicator = |
4022 iTCFIndicators.iIndicator = |
3972 ( iVoiceLine1 == 0x0A ? RMobilePhone::KCFUIndicatorVoice: |
4023 voiceStatus == ECphsCallForwardingActive ? |
3973 RMobilePhone::KCFUIndicatorUnknown ); |
4024 RMobilePhone::KCFUIndicatorVoice : RMobilePhone::KCFUIndicatorUnknown; |
3974 |
|
3975 iTCFIndicators.iIndicator |= |
4025 iTCFIndicators.iIndicator |= |
3976 ( iVoiceLine2 == 0x0A ? RMobilePhone::KCFUIndicatorAuxVoice: |
4026 auxVoiceStatus == ECphsCallForwardingActive ? |
3977 RMobilePhone::KCFUIndicatorUnknown ); |
4027 RMobilePhone::KCFUIndicatorAuxVoice : RMobilePhone::KCFUIndicatorUnknown; |
3978 |
|
3979 iTCFIndicators.iIndicator |= |
4028 iTCFIndicators.iIndicator |= |
3980 ( iFax == 0x0A ? RMobilePhone::KCFUIndicatorFax: |
4029 faxStatus == ECphsCallForwardingActive ? |
3981 RMobilePhone::KCFUIndicatorUnknown ); |
4030 RMobilePhone::KCFUIndicatorFax : RMobilePhone::KCFUIndicatorUnknown; |
3982 iTCFIndicators.iIndicator |= |
4031 iTCFIndicators.iIndicator |= |
3983 ( iData == 0x0A ? RMobilePhone::KCFUIndicatorData: |
4032 dataStatus == ECphsCallForwardingActive ? |
3984 RMobilePhone::KCFUIndicatorUnknown ); |
4033 RMobilePhone::KCFUIndicatorData : RMobilePhone::KCFUIndicatorUnknown; |
3985 } |
4034 } |
4035 // no else |
|
3986 |
4036 |
3987 if ( iGetIccCallForwardingStatus ) // ECustomGetIccCallForwardingStatusIPC |
4037 if ( iGetIccCallForwardingStatus ) // ECustomGetIccCallForwardingStatusIPC |
3988 { |
4038 { |
3989 iGetIccCallForwardingStatus = EFalse; |
4039 iGetIccCallForwardingStatus = EFalse; |
3990 |
4040 |
4009 ECustomNotifyIccCallForwardingStatusChangeIPC, |
4059 ECustomNotifyIccCallForwardingStatusChangeIPC, |
4010 &customDataPackage, |
4060 &customDataPackage, |
4011 KErrNone ); |
4061 KErrNone ); |
4012 |
4062 |
4013 TFLOGSTRING("TSY: CMmSupplServMessHandler::SimCallFwdRespL - Check possible refresh status"); |
4063 TFLOGSTRING("TSY: CMmSupplServMessHandler::SimCallFwdRespL - Check possible refresh status"); |
4014 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCHANDLECALLFWDFLAGSRESP, "CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp - Check possible refresh status" ); |
4064 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCHANDLECALLFWDFLAGSRESP_TD, "CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp - Check possible refresh status" ); |
4015 iMessageRouter->GetPhoneMessHandler()->CallForwFlagsCachingCompleted( aStatus ); |
4065 iMessageRouter->GetPhoneMessHandler()->CallForwFlagsCachingCompleted( aStatus ); |
4016 } |
4066 } |
4017 else if ( !iGetCallForwardingNumber ) // EMobilePhoneSetCallForwardingStatus |
4067 else if ( !iGetCallForwardingNumber ) // EMobilePhoneSetCallForwardingStatus |
4018 { |
4068 { |
4019 if ( rel4Exists ) |
4069 if ( EForwardFlagsConfigurationRel4 == configuration ) |
4020 { |
4070 { |
4021 // Call forwarding status successfully read from the SIM |
4071 // Call forwarding status successfully read from the SIM |
4022 // Write call forwarding number and indicator status |
4072 // Write call forwarding number and indicator status |
4023 // to the SIM |
4073 // to the SIM |
4024 UiccWriteCallFwdFlagsRel4Req(); |
4074 UiccWriteCallFwdFlagsRel4Req( voiceStatus, faxStatus, dataStatus ); |
4025 } |
4075 } |
4026 else if ( cphsExists ) |
4076 else if ( EForwardFlagsConfigurationCphs == configuration ) |
4027 { |
4077 { |
4028 // Call forwarding status successfully read from the SIM |
4078 // Call forwarding status successfully read from the SIM |
4029 // Write call forwarding number and indicator status |
4079 // Write call forwarding number and indicator status |
4030 // to the SIM |
4080 // to the SIM |
4031 UiccWriteCallFwdFlagsCPHSReq(); |
4081 UiccWriteCallFwdFlagsCPHSReq( |
4082 voiceStatus, auxVoiceStatus, faxStatus, dataStatus ); |
|
4032 } |
4083 } |
4033 else |
4084 else |
4034 { |
4085 { |
4035 // Call forwarding status can't be read from the SIM |
4086 // Call forwarding status can't be read from the SIM |
4036 // probably due to missing EF-CFIS file on the SIM. |
4087 // probably due to missing EF-CFIS file on the SIM. |
4045 else // EMmTsyGetCallForwardingNumberIPC |
4096 else // EMmTsyGetCallForwardingNumberIPC |
4046 { |
4097 { |
4047 iGetCallForwardingNumber = EFalse; |
4098 iGetCallForwardingNumber = EFalse; |
4048 dataPackage.PackData( &iCFTelNumberFromSim ); |
4099 dataPackage.PackData( &iCFTelNumberFromSim ); |
4049 |
4100 |
4050 if ( rel4Exists ) |
4101 if ( EForwardFlagsConfigurationRel4 == configuration ) |
4051 { |
4102 { |
4052 // Call forwarding number successfully read from the SIM |
4103 // Call forwarding number successfully read from the SIM |
4053 // Complete the GetCallForwardingNumber to SOS layer |
4104 // Complete the GetCallForwardingNumber to SOS layer |
4054 iMessageRouter->Complete( |
4105 iMessageRouter->Complete( |
4055 EMmTsyGetCallForwardingNumberIPC, |
4106 EMmTsyGetCallForwardingNumberIPC, |
4076 // ----------------------------------------------------------------------------- |
4127 // ----------------------------------------------------------------------------- |
4077 // |
4128 // |
4078 TInt CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req() |
4129 TInt CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req() |
4079 { |
4130 { |
4080 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req"); |
4131 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req"); |
4081 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSREL4REQ, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req" ); |
4132 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsRel4Req" ); |
4082 |
4133 |
4083 // At first try to read rel4 EF ( 6FCA ) |
4134 // At first try to read rel4 EF ( 6FCA ) |
4084 // If reading is not successful, then we try CPHS file ( 6F11 ) |
4135 // If reading is not successful, then we try CPHS file ( 6F11 ) |
4085 // Set parameters for UICC_APPL_CMD_REQ message |
4136 // Set parameters for UICC_APPL_CMD_REQ message |
4086 TUiccReadLinearFixed params; |
4137 TUiccReadLinearFixed params; |
4108 void CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp( |
4159 void CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp( |
4109 TInt aTrId, |
4160 TInt aTrId, |
4110 const TDesC8& aFileData ) |
4161 const TDesC8& aFileData ) |
4111 { |
4162 { |
4112 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp"); |
4163 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp"); |
4113 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSRESP, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp" ); |
4164 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSRESP_TD, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsResp" ); |
4114 |
4165 |
4115 TInt ret( KErrNone ); |
4166 TInt ret( KErrNone ); |
4116 CMmDataPackage dataPackage; |
4167 CMmDataPackage dataPackage; |
4117 |
4168 |
4118 if ( ETrIdReadVoiceMsgFlagsRel4 == aTrId ) |
4169 if ( ETrIdReadVoiceMsgFlagsRel4 == aTrId ) |
4172 // ----------------------------------------------------------------------------- |
4223 // ----------------------------------------------------------------------------- |
4173 // |
4224 // |
4174 TInt CMmSupplServMessHandler::UiccReadVoiceMsgFlagsCphsReq() |
4225 TInt CMmSupplServMessHandler::UiccReadVoiceMsgFlagsCphsReq() |
4175 { |
4226 { |
4176 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
4227 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
4177 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsCphsReq" ); |
4228 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCREADVOICEMSGFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccReadVoiceMsgFlagsCphsReq" ); |
4178 |
4229 |
4179 // Reading of rel4 was not successful, we try CPHS file ( 6F11 ) |
4230 // Reading of rel4 was not successful, we try CPHS file ( 6F11 ) |
4180 // Set parameters for UICC_APPL_CMD_REQ message |
4231 // Set parameters for UICC_APPL_CMD_REQ message |
4181 TUiccReadTransparent params; |
4232 TUiccReadTransparent params; |
4182 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4233 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4201 // |
4252 // |
4202 TInt CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq( |
4253 TInt CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq( |
4203 const RMobilePhone::TMobilePhoneMessageWaitingV1& aMsgWaiting ) |
4254 const RMobilePhone::TMobilePhoneMessageWaitingV1& aMsgWaiting ) |
4204 { |
4255 { |
4205 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq"); |
4256 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq"); |
4206 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITEVOICEMSGFLAGSCPHSREQ, "CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq" ); |
4257 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITEVOICEMSGFLAGSCPHSREQ_TD, "CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsCPHSReq" ); |
4207 |
4258 |
4208 // Set parameters for UICC_APPL_CMD_REQ message |
4259 // Set parameters for UICC_APPL_CMD_REQ message |
4209 TUiccWriteTransparent params; |
4260 TUiccWriteTransparent params; |
4210 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4261 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4211 params.trId = ETrIdWriteVoiceMsgFlagsCphs; |
4262 params.trId = ETrIdWriteVoiceMsgFlagsCphs; |
4256 // |
4307 // |
4257 TInt CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsRel4Req( |
4308 TInt CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsRel4Req( |
4258 const RMobilePhone::TMobilePhoneMessageWaitingV1& aMsgWaiting ) |
4309 const RMobilePhone::TMobilePhoneMessageWaitingV1& aMsgWaiting ) |
4259 { |
4310 { |
4260 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
4311 TFLOGSTRING("TSY: CMmSupplServMessHandler::UiccHandleCallFwdFlagsResp"); |
4261 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITEVOICEMSGFLAGSREL4REQ, "CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsRel4Req" ); |
4312 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_UICCWRITEVOICEMSGFLAGSREL4REQ_TD, "CMmSupplServMessHandler::UiccWriteVoiceMsgFlagsRel4Req" ); |
4262 |
4313 |
4263 // Set parameters for UICC_APPL_CMD_REQ message |
4314 // Set parameters for UICC_APPL_CMD_REQ message |
4264 TUiccWriteLinearFixed params; |
4315 TUiccWriteLinearFixed params; |
4265 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4316 params.messHandlerPtr = static_cast<MUiccOperationBase*>( this ); |
4266 params.trId = ETrIdWriteVoiceMsgFlagsRel4; |
4317 params.trId = ETrIdWriteVoiceMsgFlagsRel4; |
4298 RMobilePhone::TMobileTON aMmTypeOfNumber, |
4349 RMobilePhone::TMobileTON aMmTypeOfNumber, |
4299 RMobilePhone::TMobileNPI aMmNumberingPlan, |
4350 RMobilePhone::TMobileNPI aMmNumberingPlan, |
4300 TUint8& aIsiTypeOfNumber ) |
4351 TUint8& aIsiTypeOfNumber ) |
4301 { |
4352 { |
4302 TFLOGSTRING("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi"); |
4353 TFLOGSTRING("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi"); |
4303 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi" ); |
4354 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI_TD, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi" ); |
4304 |
4355 |
4305 //get the right numbering plan |
4356 //get the right numbering plan |
4306 switch ( aMmNumberingPlan ) |
4357 switch ( aMmNumberingPlan ) |
4307 // isi numbering plan is included in bits 1-4 (lsb) |
4358 // isi numbering plan is included in bits 1-4 (lsb) |
4308 { |
4359 { |
4341 case RMobilePhone::EERMESNumberPlan: |
4392 case RMobilePhone::EERMESNumberPlan: |
4342 default: |
4393 default: |
4343 { |
4394 { |
4344 TFLOGSTRING2("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi -\ |
4395 TFLOGSTRING2("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi -\ |
4345 Not supported numbering plan: %d", aMmNumberingPlan); |
4396 Not supported numbering plan: %d", aMmNumberingPlan); |
4346 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi;aMmNumberingPlan=%d", aMmNumberingPlan ); |
4397 OstTrace1( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI_TD, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi;aMmNumberingPlan=%d", aMmNumberingPlan ); |
4347 break; |
4398 break; |
4348 } |
4399 } |
4349 } |
4400 } |
4350 |
4401 |
4351 //get the right type of number |
4402 //get the right type of number |
4396 } |
4447 } |
4397 default: |
4448 default: |
4398 { |
4449 { |
4399 TFLOGSTRING2("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi -\ |
4450 TFLOGSTRING2("TSY: CMmCallMessHandler::MapTypeOfNumberMmToIsi -\ |
4400 Not supported number type: %d", aMmTypeOfNumber); |
4451 Not supported number type: %d", aMmTypeOfNumber); |
4401 OstTrace1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi;aMmTypeOfNumber=%d", aMmTypeOfNumber ); |
4452 OstTrace1( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_MAPTYPEOFNUMBERMMTOISI_TD, "CMmSupplServMessHandler::MapTypeOfNumberMmToIsi;aMmTypeOfNumber=%d", aMmTypeOfNumber ); |
4402 break; |
4453 break; |
4403 } |
4454 } |
4404 } |
4455 } |
4405 } |
4456 } |
4406 |
4457 |
4414 RMobilePhone::TMobilePhoneALSLine& aAlsLine |
4465 RMobilePhone::TMobilePhoneALSLine& aAlsLine |
4415 ) |
4466 ) |
4416 { |
4467 { |
4417 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SetVoiceCallForwardLine: %d", |
4468 TFLOGSTRING2("TSY: CMmSupplServMessHandler::SetVoiceCallForwardLine: %d", |
4418 aAlsLine); |
4469 aAlsLine); |
4419 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SETVOICECALLFORWARDLINE, "CMmSupplServMessHandler::SetVoiceCallForwardLine;aAlsLine=%d", aAlsLine ); |
4470 OstTrace1( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_SETVOICECALLFORWARDLINE_TD, "CMmSupplServMessHandler::SetVoiceCallForwardLine;aAlsLine=%d", aAlsLine ); |
4420 iAlsLine = aAlsLine; |
4471 iAlsLine = aAlsLine; |
4421 } |
4472 } |
4422 |
4473 |
4423 // ---------------------------------------------------------------------------- |
4474 // ---------------------------------------------------------------------------- |
4424 // CMmSupplServMessHandler::ProcessIfSsRequestChanged |
4475 // CMmSupplServMessHandler::ProcessIfSsRequestChanged |
4427 // |
4478 // |
4428 TBool CMmSupplServMessHandler::ProcessIfSsRequestChanged( |
4479 TBool CMmSupplServMessHandler::ProcessIfSsRequestChanged( |
4429 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4480 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4430 { |
4481 { |
4431 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfSsRequestChanged"); |
4482 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfSsRequestChanged"); |
4432 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED, "CMmSupplServMessHandler::ProcessIfSsRequestChanged" ); |
4483 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED_TD, "CMmSupplServMessHandler::ProcessIfSsRequestChanged" ); |
4433 TBool ret( EFalse ); |
4484 TBool ret( EFalse ); |
4434 |
4485 |
4435 // original SS request is changed, or initiated by Call Control |
4486 // original SS request is changed, or initiated by Call Control |
4436 if ( ESSOperationTypeUnknown == aResponse.iTraId && iSsCode != aResponse.iSsCode ) |
4487 if ( iSsCode != aResponse.iSsCode ) |
4437 { |
4488 { |
4438 ret = ETrue; |
4489 ret = ETrue; |
4439 if ( KSsCodeNoValue != iSsCode ) |
4490 if ( KSsCodeNoValue != iSsCode ) |
4440 { |
4491 { |
4441 TFLOGSTRING("TSY: call control has changed SS request -> complete with error"); |
4492 TFLOGSTRING("TSY: call control has changed SS request -> complete with error"); |
4442 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED, "CMmSupplServMessHandler::ProcessIfSsRequestChanged, call control has changed SS request -> complete with error" ); |
4493 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED_TD, "CMmSupplServMessHandler::ProcessIfSsRequestChanged, call control has changed SS request -> complete with error" ); |
4443 //call control has changed SS request -> complete with error |
4494 //call control has changed SS request -> complete with error |
4444 iMessageRouter->Complete( |
4495 iMessageRouter->Complete( |
4445 iIpc, |
4496 iIpc, |
4446 CMmStaticUtility::EpocErrorCode( |
4497 CMmStaticUtility::EpocErrorCode( |
4447 KErrAccessDenied, |
4498 KErrAccessDenied, |
4448 KErrSatControl ) ); |
4499 KErrSatControl ) ); |
4449 } |
4500 } |
4450 else |
4501 else |
4451 { |
4502 { |
4452 TFLOGSTRING("TSY: call control has changed call request to SS request -> ignored"); |
4503 TFLOGSTRING("TSY: call control has changed call request to SS request -> ignored"); |
4453 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED, "CMmSupplServMessHandler::ProcessIfSsRequestChanged,call control has changed call request to SS request -> ignored" ); |
4504 OstTrace0( TRACE_NORMAL, DUP2_CMMSUPPLSERVMESSHANDLER_PROCESSIFSSREQUESTCHANGED_TD, "CMmSupplServMessHandler::ProcessIfSsRequestChanged,call control has changed call request to SS request -> ignored" ); |
4454 // call control has changed call request to SS request. |
4505 // call control has changed call request to SS request. |
4455 // CTSY doesn't expect the completion, ignore this (error EXTL-6XJ9KC) |
4506 // CTSY doesn't expect the completion, ignore this (error EXTL-6XJ9KC) |
4456 } |
4507 } |
4457 } |
4508 } |
4458 return ret; |
4509 return ret; |
4465 // |
4516 // |
4466 TBool CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible( |
4517 TBool CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible( |
4467 const TPreprocessedSsServiceCompleteResponse& /*aResponse*/) |
4518 const TPreprocessedSsServiceCompleteResponse& /*aResponse*/) |
4468 { |
4519 { |
4469 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible"); |
4520 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible"); |
4470 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFSIMPLECOMPLETIONPOSSIBLE, "CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible" ); |
4521 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFSIMPLECOMPLETIONPOSSIBLE_TD, "CMmSupplServMessHandler::ProcessIfSimpleCompletionPossible" ); |
4471 TBool ret( EFalse ); |
4522 TBool ret( EFalse ); |
4472 |
4523 |
4473 if ( EMobilePhoneSendNetworkServiceRequestNoFdnCheck == iIpc || |
4524 if ( EMobilePhoneSendNetworkServiceRequestNoFdnCheck == iIpc || |
4474 EMobilePhoneSendNetworkServiceRequest == iIpc ) |
4525 EMobilePhoneSendNetworkServiceRequest == iIpc ) |
4475 { |
4526 { |
4486 // ----------------------------------------------------------------------------- |
4537 // ----------------------------------------------------------------------------- |
4487 // |
4538 // |
4488 TBool CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration( |
4539 TBool CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration( |
4489 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4540 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4490 { |
4541 { |
4491 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSSSGSMPASSWORDREGISTRATION, "CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration" ); |
4542 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSSSGSMPASSWORDREGISTRATION_TD, "CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration" ); |
4492 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration"); |
4543 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessSsGsmPasswordRegistration"); |
4493 TBool ret( EFalse ); |
4544 TBool ret( EFalse ); |
4494 |
4545 |
4495 if ( SS_GSM_PASSWORD_REGISTRATION == aResponse.iOperation ) |
4546 if ( SS_GSM_PASSWORD_REGISTRATION == aResponse.iOperation ) |
4496 { |
4547 { |
4509 // |
4560 // |
4510 TBool CMmSupplServMessHandler::ProcessIfCallForwardingL( |
4561 TBool CMmSupplServMessHandler::ProcessIfCallForwardingL( |
4511 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4562 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4512 { |
4563 { |
4513 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallForwardingL"); |
4564 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallForwardingL"); |
4514 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLFORWARDINGL, "CMmSupplServMessHandler::ProcessIfCallForwardingL" ); |
4565 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLFORWARDINGL_TD, "CMmSupplServMessHandler::ProcessIfCallForwardingL" ); |
4515 TBool ret( EFalse ); |
4566 TBool ret( EFalse ); |
4516 // offset where the subblock starts |
4567 // offset where the subblock starts |
4517 TUint sbStartOffset( 0 ); |
4568 TUint sbStartOffset( 0 ); |
4518 |
4569 |
4519 switch ( aResponse.iSsCode ) |
4570 switch ( aResponse.iSsCode ) |
4645 // |
4696 // |
4646 TBool CMmSupplServMessHandler::ProcessIfCallBarringL( |
4697 TBool CMmSupplServMessHandler::ProcessIfCallBarringL( |
4647 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4698 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4648 { |
4699 { |
4649 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallBarringL"); |
4700 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallBarringL"); |
4650 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLBARRINGL, "CMmSupplServMessHandler::ProcessIfCallBarringL" ); |
4701 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLBARRINGL_TD, "CMmSupplServMessHandler::ProcessIfCallBarringL" ); |
4651 TBool ret( EFalse ); |
4702 TBool ret( EFalse ); |
4652 // offset where the subblock starts |
4703 // offset where the subblock starts |
4653 TUint sbStartOffset( 0 ); |
4704 TUint sbStartOffset( 0 ); |
4654 |
4705 |
4655 switch ( aResponse.iSsCode ) |
4706 switch ( aResponse.iSsCode ) |
4782 // |
4833 // |
4783 TBool CMmSupplServMessHandler::ProcessIfCallWaitingL( |
4834 TBool CMmSupplServMessHandler::ProcessIfCallWaitingL( |
4784 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4835 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4785 { |
4836 { |
4786 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallWaitingL"); |
4837 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfCallWaitingL"); |
4787 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLWAITINGL, "CMmSupplServMessHandler::ProcessIfCallWaitingL" ); |
4838 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFCALLWAITINGL_TD, "CMmSupplServMessHandler::ProcessIfCallWaitingL" ); |
4788 TBool ret( EFalse ); |
4839 TBool ret( EFalse ); |
4789 // offset where the subblock starts |
4840 // offset where the subblock starts |
4790 TUint sbStartOffset( 0 ); |
4841 TUint sbStartOffset( 0 ); |
4791 |
4842 |
4792 switch ( aResponse.iSsCode ) |
4843 switch ( aResponse.iSsCode ) |
4925 // |
4976 // |
4926 TBool CMmSupplServMessHandler::ProcessIfIdentityServices( |
4977 TBool CMmSupplServMessHandler::ProcessIfIdentityServices( |
4927 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4978 const TPreprocessedSsServiceCompleteResponse& aResponse) |
4928 { |
4979 { |
4929 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfIdentityServices"); |
4980 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfIdentityServices"); |
4930 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFIDENTITYSERVICES, "CMmSupplServMessHandler::ProcessIfIdentityServices" ); |
4981 OstTrace0( TRACE_NORMAL, CMMSUPPLSERVMESSHANDLER_PROCESSIFIDENTITYSERVICES_TD, "CMmSupplServMessHandler::ProcessIfIdentityServices" ); |
4931 TBool ret( EFalse ); |
4982 TBool ret( EFalse ); |
4932 // offset where the subblock starts |
4983 // offset where the subblock starts |
4933 TUint sbStartOffset( 0 ); |
4984 TUint sbStartOffset( 0 ); |
4934 |
4985 |
4935 switch ( aResponse.iSsCode ) |
4986 switch ( aResponse.iSsCode ) |
4965 SS_GSM_GENERIC_SERVICE_INFO, |
5016 SS_GSM_GENERIC_SERVICE_INFO, |
4966 EIsiSubBlockTypeId8Len8, |
5017 EIsiSubBlockTypeId8Len8, |
4967 sbStartOffset ) ) ) |
5018 sbStartOffset ) ) ) |
4968 { |
5019 { |
4969 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfIdentityServices: KSsGsmGenericServiceInfo found"); |
5020 TFLOGSTRING("TSY:CMmSupplServMessHandler::ProcessIfIdentityServices: KSsGsmGenericServiceInfo found"); |
4970 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSIFIDENTITYSERVICES, "CMmSupplServMessHandler::ProcessIfIdentityServices, KSsGsmGenericServiceInfo found" ); |
5021 OstTrace0( TRACE_NORMAL, DUP1_CMMSUPPLSERVMESSHANDLER_PROCESSIFIDENTITYSERVICES_TD, "CMmSupplServMessHandler::ProcessIfIdentityServices, KSsGsmGenericServiceInfo found" ); |
4971 clirInfoFound = ETrue; |
5022 clirInfoFound = ETrue; |
4972 // get status |
5023 // get status |
4973 TUint8 statusIsi = aResponse.iIsiMessage.Get8bit( |
5024 TUint8 statusIsi = aResponse.iIsiMessage.Get8bit( |
4974 sbStartOffset + |
5025 sbStartOffset + |
4975 SS_GSM_GENERIC_SERVICE_INFO_OFFSET_SSSTATUS ); |
5026 SS_GSM_GENERIC_SERVICE_INFO_OFFSET_SSSTATUS ); |