43 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L); |
43 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L); |
44 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L); |
44 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L); |
45 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L); |
45 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L); |
46 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L); |
46 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L); |
47 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L); |
47 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L); |
48 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL); |
48 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL); |
|
49 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001cL); |
49 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L); |
50 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L); |
50 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L); |
51 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L); |
51 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L); |
52 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L); |
52 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L); |
53 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L); |
53 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L); |
54 ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L); |
1908 callParamsX.iInterval = 100; |
1909 callParamsX.iInterval = 100; |
1909 callParamsX.iWaitForDialTone = RCall::EDialToneWait; |
1910 callParamsX.iWaitForDialTone = RCall::EDialToneWait; |
1910 TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX); |
1911 TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX); |
1911 |
1912 |
1912 call.Dial(requestStatus, pckgCallParamsX, KSomeNumber); |
1913 call.Dial(requestStatus, pckgCallParamsX, KSomeNumber); |
|
1914 |
|
1915 User::WaitForRequest(requestStatus); |
|
1916 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
1917 AssertMockLtsyStatusL(); |
|
1918 |
|
1919 CleanupStack::PopAndDestroy(5,this); |
|
1920 |
|
1921 } |
|
1922 |
|
1923 |
|
1924 /** |
|
1925 @SYMTestCaseID BA-CTSY-CCON-CD-0001c |
|
1926 @SYMComponent telephony_ctsy |
|
1927 @SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters |
|
1928 @SYMTestPriority High |
|
1929 @SYMTestActions Invokes RCall::Dial for voice calls |
|
1930 @SYMTestExpectedResults Pass |
|
1931 @SYMTestType CT |
|
1932 */ |
|
1933 void CCTsyCallControlFU::TestDial0001cL() |
|
1934 { |
|
1935 |
|
1936 OpenEtelServerL(EUseExtendedError); |
|
1937 CleanupStack::PushL(TCleanupItem(Cleanup,this)); |
|
1938 OpenPhoneL(); |
|
1939 |
|
1940 RBuf8 expectData; |
|
1941 CleanupClosePushL(expectData); |
|
1942 |
|
1943 RBuf8 completeData; |
|
1944 CleanupClosePushL(completeData); |
|
1945 |
|
1946 TInt errorCode = KErrNone; |
|
1947 |
|
1948 //-- For Voice1 ------------------------- |
|
1949 |
|
1950 TBuf<256> lineName(KMmTsyVoice1LineName); |
|
1951 // Open new line |
|
1952 RLine line; |
|
1953 errorCode = line.Open(iPhone, lineName); |
|
1954 ASSERT_EQUALS(KErrNone, errorCode); |
|
1955 CleanupClosePushL(line); |
|
1956 // open call |
|
1957 _LIT(KDoubleColon, "::"); |
|
1958 TBuf<256> name; |
|
1959 name = KMmTsyPhoneName; |
|
1960 name.Append(KDoubleColon); |
|
1961 name.Append(lineName); |
|
1962 name.Append(KDoubleColon); |
|
1963 |
|
1964 RMobileCall call; |
|
1965 errorCode = call.OpenNewCall(line, name); |
|
1966 ASSERT_EQUALS(KErrNone, errorCode); |
|
1967 CleanupClosePushL(call); |
|
1968 |
|
1969 TRequestStatus requestStatus; |
|
1970 _LIT(KSomeNumber, "123456789"); |
|
1971 |
|
1972 RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService; |
|
1973 TInt expectedCallId = 0; |
|
1974 RMobileCall::TMobileCallInfoV8 callInfo; |
|
1975 callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating; |
|
1976 callInfo.iService = mobileService; |
|
1977 callInfo.iStatus = RMobileCall::EStatusUnknown; |
|
1978 callInfo.iCallId =-1; |
|
1979 callInfo.iExitCode =0; |
|
1980 callInfo.iEmergency =0; |
|
1981 callInfo.iForwarded =0; |
|
1982 callInfo.iPrivacy = RMobilePhone::EPrivacyUnspecified; |
|
1983 callInfo.iAlternatingCall = RMobilePhone::EAlternatingModeUnspecified; |
|
1984 callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber ); |
|
1985 callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan; |
|
1986 callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber; |
|
1987 |
|
1988 // A. Call with V7 params. |
|
1989 // Fill the params with random values |
|
1990 RMobileCall::TMobileCallParamsV7 callParams; |
|
1991 RMobileCall::TMobileCallParamsV7Pckg pckgCallParams(callParams); |
|
1992 callParams.iAlphaId.Copy(_L("Alpha Id")); |
|
1993 callParams.iIconId.iQualifier = RMobileCall::ESelfExplanatory; |
|
1994 callParams.iIconId.iIdentifier = 0x0A; |
|
1995 callParams.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode; |
|
1996 callParams.iBearerCap2.Copy(_L("Cap2")); |
|
1997 callParams.iBearerCap1.Copy(_L("Cap1")); |
|
1998 callParams.iSubAddress.Copy(_L("SubAddress")); |
|
1999 callParams.iCallParamOrigin = RMobileCall::EOriginatorEtelClient; |
|
2000 callParams.iBearerMode = RMobileCall::EMulticallShareBearer; |
|
2001 callParams.iIdRestrict = RMobileCall::EDontSendMyId; |
|
2002 callParams.iCug.iExplicitInvoke = EFalse; |
|
2003 callParams.iCug.iCugIndex = 0xAABB; |
|
2004 callParams.iCug.iSuppressPrefCug = EFalse; |
|
2005 callParams.iCug.iSuppressOA = ETrue; |
|
2006 callParams.iAutoRedial = ETrue; |
|
2007 callParams.iSpeakerControl = RCall::EMonitorSpeakerControlOnUntilCarrier; |
|
2008 callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeLow; |
|
2009 callParams.iInterval = 0; |
|
2010 callParams.iWaitForDialTone = RCall::EDialToneWait; |
|
2011 |
|
2012 TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 > |
|
2013 mockCallData(expectedCallId, mobileService, callParams, callInfo); |
|
2014 mockCallData.SerialiseL(expectData); |
|
2015 |
|
2016 iMockLTSY.ExpectL(EEtelCallDial, expectData); |
|
2017 |
|
2018 TInt callId = 1; |
|
2019 |
|
2020 completeData.Close(); |
|
2021 TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo); |
|
2022 callInfoData.SerialiseL(completeData); |
|
2023 //Complete Mobile Call Info in order to set the call ID |
|
2024 iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData); |
|
2025 |
|
2026 TMockLtsyCallData0 mockDataComplete(callId, mobileService); |
|
2027 completeData.Close(); |
|
2028 mockDataComplete.SerialiseL(completeData); |
|
2029 // Complete the Dial |
|
2030 iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData); |
|
2031 |
|
2032 call.Dial(requestStatus, pckgCallParams, KSomeNumber); |
|
2033 |
|
2034 User::WaitForRequest(requestStatus); |
|
2035 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
|
2036 AssertMockLtsyStatusL(); |
|
2037 |
|
2038 // B. Call with V0 params. |
|
2039 // The CTSY should send the default V7 values to the LTSY, and not the previous call parameters which are irrelevant. |
|
2040 // Fill the params with other random values. |
|
2041 callParams.iAlphaId.Zero(); |
|
2042 callParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet; |
|
2043 callParams.iIconId.iIdentifier = 0x00; |
|
2044 callParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode; |
|
2045 callParams.iBearerCap2.Zero(); |
|
2046 callParams.iBearerCap1.Zero(); |
|
2047 callParams.iSubAddress.Zero(); |
|
2048 callParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown; |
|
2049 callParams.iBearerMode = RMobileCall::EMulticallNotSupported; |
|
2050 callParams.iIdRestrict = RMobileCall::EIdRestrictDefault; |
|
2051 callParams.iCug.iExplicitInvoke = EFalse; |
|
2052 callParams.iCug.iCugIndex = 0xFFFF; |
|
2053 callParams.iCug.iSuppressPrefCug = EFalse; |
|
2054 callParams.iCug.iSuppressOA = EFalse; |
|
2055 callParams.iAutoRedial = EFalse; |
|
2056 callParams.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOn; |
|
2057 callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium; |
|
2058 callParams.iInterval = 12; |
|
2059 callParams.iWaitForDialTone = RCall::EDialToneNoWait; |
|
2060 |
|
2061 |
|
2062 RMobileCall::TCallParams callParams0; |
|
2063 callParams0.iSpeakerControl = callParams.iSpeakerControl; |
|
2064 callParams0.iSpeakerVolume = callParams.iSpeakerVolume; |
|
2065 callParams0.iInterval = callParams.iInterval; |
|
2066 callParams0.iWaitForDialTone = callParams.iWaitForDialTone; |
|
2067 RCall::TCallParamsPckg pckgCallParams0(callParams0); |
|
2068 |
|
2069 expectData.Close(); |
|
2070 TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 > |
|
2071 mockCallData2(1, mobileService, callParams, callInfo); |
|
2072 mockCallData2.SerialiseL(expectData); |
|
2073 |
|
2074 iMockLTSY.ExpectL(EEtelCallDial, expectData); |
|
2075 |
|
2076 |
|
2077 completeData.Close(); |
|
2078 callInfoData.SerialiseL(completeData); |
|
2079 //Complete Mobile Call Info in order to set the call ID |
|
2080 iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData); |
|
2081 |
|
2082 completeData.Close(); |
|
2083 mockDataComplete.SerialiseL(completeData); |
|
2084 // Complete the Dial |
|
2085 iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData); |
|
2086 |
|
2087 call.Dial(requestStatus, pckgCallParams0, KSomeNumber); |
1913 |
2088 |
1914 User::WaitForRequest(requestStatus); |
2089 User::WaitForRequest(requestStatus); |
1915 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
2090 ASSERT_EQUALS(KErrNone, requestStatus.Int()); |
1916 AssertMockLtsyStatusL(); |
2091 AssertMockLtsyStatusL(); |
1917 |
2092 |