telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 23 6b1d113cdff3
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsyfixeddiallingfu.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,2355 +1,2355 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// The TEFUnit test suite for FixedDialling in the Common TSY.
-// 
-//
-
-/**
- @file 
-*/
-
-#include "cctsyfixeddiallingfu.h"
-#include <etel.h>
-#include <etelmm.h>
-#include <et_clsvr.h>
-#include <ctsy/mmtsy_names.h>
-#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
-#include "tmockltsydata.h"
-#include <ctsy/serviceapi/gsmerror.h>
-
-CTestSuite* CCTsyFixedDiallingFU::CreateSuiteL(const TDesC& aName)
-	{
-	SUB_SUITE;
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001bL);
-    ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001cL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0004L);	
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0005L);
-		
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0006bL);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0007L);  still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0008L);  still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0009L);  still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00010L); still not supported
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00011L);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00012L); still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00013L); still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00014L); still not supported
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00015L); still not supported
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0002L);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0003L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0002L);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0003L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0002L);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0003L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0004L);
-	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0005L);
-
-	END_SUITE;
-	}
-
-
-//
-// Actual test cases
-//
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-    
-    TInt errorCode = KErrNone;    
-    
-    //-- For Voice1 -------------------------
-        
-    TBuf<256> lineName(KMmTsyVoice1LineName);    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);      
-    // open call
-    _LIT(KDoubleColon, "::");    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);   
-    
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");    
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-	// data for ExpextL
-	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
-    TInt expecteCallId = 0;
-        
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-    RMobileCall::TMobileCallInfoV8 callInfo;   
-   
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-	callInfo.iService	= mobileService;
-	callInfo.iStatus	= RMobileCall::EStatusUnknown;
-	callInfo.iCallId	= -1;
-	callInfo.iExitCode	=0; 
-	callInfo.iEmergency	=0;
-	callInfo.iForwarded	=0;	
-	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
-	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
-	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
-	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-	callInfo.iDialledParty.iNumberPlan = 
-        RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-        RMobilePhone::EUnknownNumber;	
-	    
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
-    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());      
-    CleanupStack::PopAndDestroy();// call  
-       
-    
-    //-------------------------------------------------------------------------
-	// Test B: Test passing wrong descriptor size to parameter in
-	// RMobileCall::DialNoFdnCheck
- 	//-------------------------------------------------------------------------
- 	TInt callId = 1;
- 	// create new incoming call
- 	TName incomingCallName;
- 	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle; 
- 	
-	errorCode = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
-                             mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);	 	
- 	   
-    // --------  make for this call callId > 0 --------------------------------------
-	line.NotifyIncomingCall(requestStatus, incomingCallName);
-
-    callInfo.iService = mobileService;
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData3(callId, mobileService, callInfo);
-    idleCallData3.SerialiseL(completeData);
-	
-	TRequestStatus mockLtsyStatus;
-	
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	CleanupClosePushL(call);
-	//-------------------------------------------------------------------------      
-    
- 	// data for ExpectL 		
- 	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown; 	
- 	
- 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData2(callId, mobileService, callParams, callInfo);
-    expectData.Close();
-    mockCallData2.SerialiseL(expectData);
- 	// data for CompleteL 	
- 	TMockLtsyCallData0 mockDataComplete(callId, mobileService);
- 	completeData.Close();
- 	mockDataComplete.SerialiseL(completeData);
- 	
- 	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
-  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrGeneral, completeData);   	
-  	
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
-    
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
-    AssertMockLtsyStatusL();  
-    
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::DialNoFdnCheck when result is not cached.
- 	//-------------------------------------------------------------------------
-	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
-  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);   	
-  	
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
-    
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialNoFdnCheck
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();	
-		
-	//-------------------------------------------------------------------------
-	// TEST 1  for coverage increasing
- 	//------------------------------------------------------------------------- 	
- 	// change status of call
- 	mobileCallStatus = RMobileCall::EStatusRinging;
- 	    
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData4(callId, mobileService, mobileCallStatus);
-    completeData.Close();
-    mockCallData4.SerialiseL(completeData);
-
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-   	call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
-    
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-        
-    // data for ExpectL
-    TInt hangUpCause( KErrGsmReleaseByUser );
-    TBool autoStChangeDisable = EFalse; 
-            
-    TMockLtsyCallData2< TInt, TBool >
-    							mockCallDataClose(callId, mobileService, hangUpCause, autoStChangeDisable);
-    expectData.Close();
-    mockCallDataClose.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData); // this expect is necessary for call closing when EStatusRinging  
-   	CleanupStack::PopAndDestroy(); // call
-    AssertMockLtsyStatusL(); 
-   
-    //-------------------------------------------------------------------------
-	// TEST 2  for coverage increasing
- 	//-------------------------------------------------------------------------    
-    // create new call    
-    callId = 2;
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    errorCode = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
-                             mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);	 	
-    
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	CleanupClosePushL(call);
-    
-	// set RFStatus to Inactive state
-	TRfStateInfo rfInfo (ERfsStateInfoInactive);
-	
-	TMockLtsyData1<TRfStateInfo> mockCallData5(rfInfo);
-    completeData.Close();
-    mockCallData5.SerialiseL(completeData);
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    	
-  	call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);       
-    User::WaitForRequest(requestStatus); 
-    
-    TInt expectedErrorCode = ( KErrGeneral & 0x0000FFFF ) |( KErrGsmOfflineOpNotAllowed << 16 );
-	expectedErrorCode = (expectedErrorCode>>16) | 0xFFFF0000;
-
-             
-    ASSERT_EQUALS(expectedErrorCode, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-	
- 	// close call, cause theres no way to use it again
-   	CleanupStack::PopAndDestroy(&call);
-   	AssertMockLtsyStatusL();
-		
-	
-	// create new incoming call
-	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call); 
-    
-    // set RFStatus to Normal state
-	rfInfo = ERfsStateInfoNormal;
-	
-	TMockLtsyData1<TRfStateInfo> mockCallData6(rfInfo);
-	    
-    completeData.Close();
-    mockCallData6.SerialiseL(completeData);
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-   
-    // data for ExpectL
-    callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown; 	
-	    
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >    
-    											 mockCallData7(expecteCallId, mobileService, callParams, callInfo);
-	expectData.Close();    											 
-    mockCallData7.SerialiseL(expectData);
-	
-	// Test A: ... 
-	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);    
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int()); 
-	
-	// ...and now repeat this test A
-    // This repetition is here to test that SetDialFlag(EFalse) is called when
-    // the EMobileCallDialNoFdnCheck request completes with an error
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-    	
-	//-------------------------------------------------------------------------
-	// TEST to show defect 120102
- 	//-------------------------------------------------------------------------
-
-  	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
- 	CallGetMobileCallInfoL(callId, mobileService, KSomeNumber); 
- 	
- 	completeData.Close();
- 	TMockLtsyCallData0 mockDataComplete2(callId, mobileService);
- 	mockDataComplete2.SerialiseL(completeData);
-  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);   	
-  	
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
-    
-    User::WaitForRequest(requestStatus);      
-     
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());      
-    
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(5, this); // ... this
-	}
-	
-	
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001b
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001bL()
-	{
-	
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	    
-    TInt errorCode = KErrNone;    
-    
-    //-- For Voice1 -------------------------    
-    TBuf<256> lineName(KMmTsyVoice1LineName);
-    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);  
-    
-    // open call
-    _LIT(KDoubleColon, "::");
-    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);    
-    
-    TRequestStatus requestStatus;
-    
-    _LIT(KSomeNumber, "123456789");
-    	
-		
-	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
-	// for API version without params
-	// i.e. for void RMobileCall::DialNoFdnCheck(TRequestStatus& aReqStatus,const TDesC& aTelNumber)
- 	//-------------------------------------------------------------------------
-	// data for ExpextL
-	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
-    TInt expecteCallId = 0;
-        
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-    RMobileCall::TMobileCallInfoV1 callInfo;   
-   
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-	callInfo.iService	= mobileService;
-	callInfo.iStatus	= RMobileCall::EStatusUnknown;
-	callInfo.iCallId	= -1;
-	callInfo.iExitCode	=0; 
-	callInfo.iEmergency	=0;
-	callInfo.iForwarded	=0;	
-	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
-	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
-	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
-	callInfo.iTch = RMobileCall::ETchUnknown;				
-	callInfo.iRemoteParty.iCallingName = KNullDesC;
-	callInfo.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
-	callInfo.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
-	callInfo.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-	callInfo.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
-	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-	callInfo.iDialledParty.iNumberPlan = 
-        RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-        RMobilePhone::EUnknownNumber;	
-	    
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 120101);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);    
-    
-    // Cause to fail to show defect 120101
-    ASSERT_TRUE(EFalse);
-    
-    call.DialNoFdnCheck(requestStatus, KSomeNumber);    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());    
-        
-    CleanupStack::PopAndDestroy(4, this); // call,line, expectData, this    
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001c
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls with minimal parameters (RCall::TCallParams)
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001cL()
-    {
-    
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-    TInt errorCode = KErrNone;    
-
-    //-- For Voice1 -------------------------
-
-    TBuf<256> lineName(KMmTsyVoice1LineName);    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);      
-    // open call
-    _LIT(KDoubleColon, "::");    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);   
-
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");   
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
-    TInt expecteCallId = 0;
-
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-    RMobileCall::TMobileCallInfoV8 callInfo;   
-    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParams.iInterval        = 100;
-    callParams.iWaitForDialTone = RCall::EDialToneWait;
-    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = EFalse;
-    callParams.iAutoRedial = EFalse;
-    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-    callInfo.iService   = mobileService;
-    callInfo.iStatus    = RMobileCall::EStatusUnknown;
-    callInfo.iCallId    =-1;
-    callInfo.iExitCode  =0; 
-    callInfo.iEmergency =0;
-    callInfo.iForwarded =0; 
-    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-    //callInfo.iDuration.iIntervel  = 0;            // this is protected value
-    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = 
-            RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-            RMobilePhone::EUnknownNumber;   
-
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expecteCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);
-
-    TInt callId = 1;
-    
-    completeData.Close();
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
-    callInfoData.SerialiseL(completeData);
-    //Complete Mobile Call Info in order to set the call ID 
-    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
-    
-    TMockLtsyCallData0 mockDataComplete(callId, mobileService);
-    completeData.Close();
-    mockDataComplete.SerialiseL(completeData);
-    // Complete the Dial
-    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
-
-    RCall::TCallParams callParamsX;
-    callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParamsX.iInterval        = 100;
-    callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-    TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-        
-    call.DialNoFdnCheck(requestStatus, pckgCallParamsX, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    CleanupStack::PopAndDestroy(5,this);
-    
-    }
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0002L()
-	{
-
-     OpenEtelServerL(EUseExtendedError);
-     CleanupStack::PushL(TCleanupItem(Cleanup,this));
-     OpenPhoneL();
-
-     RBuf8 expectData;
-     CleanupClosePushL(expectData);
-     
-     RBuf8 completeData;
-     CleanupClosePushL(completeData);
-     
-     TInt errorCode = KErrNone;    
-     
-     //-- For Voice1 -------------------------
-         
-     TBuf<256> lineName(KMmTsyVoice1LineName);    
-     // Open new line
-     RLine line;
-     errorCode = line.Open(iPhone, lineName);
-     ASSERT_EQUALS(KErrNone, errorCode);
-     CleanupClosePushL(line);      
-     // open call
-     _LIT(KDoubleColon, "::");    
-     TBuf<256> name;
-     name = KMmTsyPhoneName;
-     name.Append(KDoubleColon);
-     name.Append(lineName);
-     name.Append(KDoubleColon);
-     
-     RMobileCall call;
-     errorCode = call.OpenNewCall(line, name);
-     ASSERT_EQUALS(KErrNone, errorCode);
-     CleanupClosePushL(call);   
-     
-     TRequestStatus requestStatus;    
-     _LIT(KSomeNumber, "123456789");
-     
-     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-     
-     TInt expectCallId = 0;
- 	   
-    // --------  make for this call callId > 0 --------------------------------------   
-    RMobileCall::TMobileCallInfoV8 callInfo;  
-
-    //-------------------------------------------------------------------------
-	// Test cancelling of RMobileCall::DialNoFdnCheck
- 	//-------------------------------------------------------------------------
- 	
-    // data for ExpextL
- 	RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams); 	
- 	 	
-    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-    callInfo.iService   = mobileService;
-    callInfo.iStatus    = RMobileCall::EStatusUnknown;
-    callInfo.iCallId    = -1;
-    callInfo.iExitCode  =0; 
-    callInfo.iEmergency =0;
-    callInfo.iForwarded =0; 
-    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-    callInfo.iTch = RMobileCall::ETchUnknown;               
-    callInfo.iRemoteParty.iCallingName = KNullDesC;
-    callInfo.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
-    callInfo.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
-    callInfo.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
-    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = 
-            RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-            RMobilePhone::EUnknownNumber;   
-	
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData(expectCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    // Expect the dial
-    
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNone);   
-     
-    // Dial and cancel
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    call.CancelAsyncRequest(EMobileCallDialNoFdnCheck);
-    
-    // prepare and complete Mobile Call info
-    
-    TInt callId = 1;
-    
-    _LIT(KNullDesC , "");
-        
-    RBuf8 data;
-    CleanupClosePushL(data);
-
-    RMobileCall::TMobileCallInfoV1 callInfo2;
-    callInfo2.iDialledParty.iTelNumber.Copy(KSomeNumber);
-    callInfo2.iService = mobileService;
-    callInfo2.iEmergency = EFalse;
-    callInfo2.iRemoteParty.iCallingName = KNullDesC;
-    callInfo2.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
-    callInfo2.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
-    callInfo2.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo2.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
-    callInfo2.iForwarded = EFalse;
-    callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallRemoteParty;
-
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo2);
-    callInfoData.SerialiseL(data);
-
-    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-
-    //Pause the MockLTSY so we can program the sequence of Expect - Completes involved 
-    //with cancelling 
-    iMockLTSY.PauseCompletion();
-    
-    RMobileCall::TMobileCallStatus  mobileCallStatus = RMobileCall::EStatusDialling; 
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus(callId, mobileService, mobileCallStatus);
-    completeData.Close();
-    mockCallDataStatus.SerialiseL(completeData);
-    
-    //Change state to dialling, this set the call ID
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-
-    
-    TInt hangUpCause = KErrGsmReleaseByUser;
-    TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockCallData2(callId, mobileService, 
-                                                          hangUpCause, 
-                                                          autoStChangeDisable);    
-    expectData.Close();
-    mockCallData2.SerialiseL(expectData);
-    // Since the call ID has been set, the CTSY will go ahead with the cancellation
-    // by hanging up.
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    
-    // Cancelled Dial request. After this CTSY hangs up the call and it goes to idle state.
-   
-    
-    RMobileCall::TMobileCallStatus  mobileCallStatus2 = RMobileCall::EStatusIdle; 
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallStatus2);
-    completeData.Close();
-    mockCallDataStatus2.SerialiseL(completeData);
-
-    // Complete the hangup
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
- 
-    // Release the MockLTSY so that the above sequence is triggered.
-    iMockLTSY.ResumeCompletion();
-    
-    
-    // Check results.
-    User::WaitForRequest(requestStatus);    
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());      
-
-     
-	CleanupStack::PopAndDestroy(6, this); // expectData, this ...
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0004L()
-	{
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2, KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);	
-	
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RBuf8 expectData2;
-	CleanupClosePushL(expectData2);
-	
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-	
-	RBuf8 completeData2;
-	CleanupClosePushL(completeData2);
-		
-	
-	 //-- Voice1 -------------------------    
-    TBuf<256> lineName(KMmTsyVoice1LineName);    
-    // Open new line
-    RLine line;
-    ret  = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, ret);
-    CleanupClosePushL(line);  
-    
-    
-    //-- Voice1-------------------------
-    TBuf<256> lineName2(KMmTsyVoice1LineName);   
-    // Open new line
-    RLine line2;
-    ret  = line2.Open(phone2, lineName2);
-    ASSERT_EQUALS(KErrNone, ret);
-    CleanupClosePushL(line2);  
-    //----------------------------------------
-    
-    // open call
-    _LIT(KDoubleColon, "::");
-    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-	RMobileCall call;
-	RMobileCall call2;
-	
-	TInt callId = 1;
-	TInt callId2 = 2;
-	TName incomingCallName;
-	TName incomingCallName2;
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-    TRequestStatus mockLtsyStatus;
-			
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle;    
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    // create new incoming call
-	ret = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, ret);	
-	 // --------  make for the first call callId > 0 --------------------------------------   
-    RMobileCall::TMobileCallInfoV1 callInfo;  
-            
-	line.NotifyIncomingCall(requestStatus, incomingCallName);
-
-    callInfo.iService = mobileService;
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData(callId, mobileService, callInfo);
-    idleCallData.SerialiseL(completeData);
-	
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-  
-    TInt errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	CleanupClosePushL(call);
- 
-
-    // create new incoming call
-	ret = CreateIncomingCallL(line2, callId2, lineName2, incomingCallName2, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, ret); 	  
-    // -------  make for the second call callId > 0 --------------------------------------   
-    RMobileCall::TMobileCallInfoV1 callInfo2;    
-           
-	line2.NotifyIncomingCall(requestStatus2, incomingCallName2);
-
-    callInfo2.iService = mobileService;
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData2(callId2, mobileService, callInfo2);
-    idleCallData2.SerialiseL(completeData2);
-	
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData2);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-   
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	CleanupClosePushL(call2);
-	//------------------------------------------------------------------------- 	
-	
-	_LIT(KSomeNumber,  "123456789"); 
-	_LIT(KSomeNumber2, "987654321"); 	
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::GetCallParams
- 	//-------------------------------------------------------------------------
- 	
- 	// --- data for first ExpectL  ---
- 	RMobileCall::TMobileCallParamsV1 		callParams; 	
- 	RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);	
- 	
- 	// set up callInfo
- 	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;  
- 	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-	callInfo.iService	= mobileService;  
-	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber ); 	
- 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData2(callId, mobileService, callParams, callInfo);
-    mockCallData2.SerialiseL(expectData);
-    
- 	// --- data for the first CompleteL ---
- 	TMockLtsyCallData0 mockDataComplete(callId, mobileService);
- 	completeData.Close();
- 	mockDataComplete.SerialiseL(completeData);
-    	
-  	// --- data for second ExpectL  ---
-    RMobileCall::TMobileCallParamsV1 		callParams2; 	
- 	RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams2(callParams2);	
- 	
- 	// set up callInfo
- 	callInfo2.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;  
- 	callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-	callInfo2.iService	= mobileService;  
-	callInfo2.iDialledParty.iTelNumber.Copy( KSomeNumber2 ); 	
- 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData3(callId2, mobileService, callParams2, callInfo2);
-    mockCallData3.SerialiseL(expectData2);
-    
- 	// --- data for the second CompleteL ---
- 	TMockLtsyCallData0 mockDataComplete2(callId2, mobileService);
- 	completeData2.Close();
- 	mockDataComplete2.SerialiseL(completeData2);
-         
-   
-  	// first DialNoFdnCheck
-  	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
-  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
-      
-   	// second DialNoFdnCheck
-   	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData2);   	
-  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData2);   
-    call2.DialNoFdnCheck(requestStatus2, pckgCallParams2, KSomeNumber2);   
-    
-    //wait for the first answer    
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-    //wait for the second answer    
-    User::WaitForRequest(requestStatus2);              
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-    
-    
-    AssertMockLtsyStatusL();   
-	// Done !
-	CleanupStack::PopAndDestroy(12, this); // phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0005L()
-	{
-
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	TBuf<256> lineName(KMmTsyVoice1LineName);
-    
-    // Open new line
-    RLine line;
-    TInt errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);  
-    
-    // open call
-    _LIT(KDoubleColon, "::");
-    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);    
-    
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");
-	
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-	// data for ExpectL
-	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
-    TInt expecteCallId = 0;
-        
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-    RMobileCall::TMobileCallInfoV1 callInfo;   
-   
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-	callInfo.iService	= mobileService;
-	callInfo.iStatus	= RMobileCall::EStatusUnknown;
-	callInfo.iCallId	= -1;
-	callInfo.iExitCode	=0; 
-	callInfo.iEmergency	=0;
-	callInfo.iForwarded	=0;	
-	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
-	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
-	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
-	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-	callInfo.iDialledParty.iNumberPlan = 
-        RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-        RMobilePhone::EUnknownNumber;	
-	    
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
-    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);    
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());      
-   
-	// Done !
-	CleanupStack::PopAndDestroy(4, this); //... this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    TInt errorCode = KErrNone;    
-    
-    //-- For Data -------------------------    
-    TBuf<256> lineName(KMmTsyDataLineName);
-    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);  
-    
-    // open call
-    _LIT(KDoubleColon, "::");
-    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);    
-    
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");    
-	
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::DialNoFdnCheck when result is not cached.
- 	//-------------------------------------------------------------------------
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-   
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);    
-    
-    //  DialNoFdnCheck isn't supported for Data Line (or rather, it's broken)  
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());      
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // ... this	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0006b
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for data calls with minimal parameters (RCall::TCallParams)
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0006bL()
-    {
-    
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-    TInt errorCode = KErrNone;    
-
-    //-- For Voice1 -------------------------
-
-    TBuf<256> lineName(KMmTsyDataLineName);    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);      
-    // open call
-    _LIT(KDoubleColon, "::");    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);   
-
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");   
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;    
-    TInt expecteCallId = 0;
-
-    RMobileCall::TMobileDataCallParamsV8 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-    RMobileCall::TMobileCallInfoV8 callInfo;   
-    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParams.iInterval        = 100;
-    callParams.iWaitForDialTone = RCall::EDialToneWait;
-    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = EFalse;
-    callParams.iAutoRedial = EFalse;
-    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
-    callInfo.iService   = mobileService;
-    callInfo.iStatus    = RMobileCall::EStatusUnknown;
-    callInfo.iCallId    =-1;
-    callInfo.iExitCode  =0; 
-    callInfo.iEmergency =0;
-    callInfo.iForwarded =0; 
-    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-    //callInfo.iDuration.iIntervel  = 0;            // this is protected value
-    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = 
-            RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = 
-            RMobilePhone::EUnknownNumber;   
-
-    TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expecteCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);
-
-    TInt callId = 1;
-    
-    completeData.Close();
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
-    callInfoData.SerialiseL(completeData);
-    //Complete Mobile Call Info in order to set the call ID 
-    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
-    
-    TMockLtsyCallData0 mockDataComplete(callId, mobileService);
-    completeData.Close();
-    mockDataComplete.SerialiseL(completeData);
-    // Complete the Dial
-    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
-
-    RCall::TCallParams callParamsX;
-    callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParamsX.iInterval        = 100;
-    callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-    TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-        
-    call.DialNoFdnCheck(requestStatus, pckgCallParamsX, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    CleanupStack::PopAndDestroy(5,this);
-    
-    }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0007L()
-	{
-//  
-// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
-//
-	
-	
-// This test should test cancellation of GetCallParams
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::GetCallParams
- 	//-------------------------------------------------------------------------
- 	
-	// Remove the test above if this is not relevant for this API
-
-	// Wait for completion of iMockLTSY.NotifyTerminated
-	// User::WaitForRequest(mockLtsyStatus);
-	CleanupStack::PopAndDestroy(2); // data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0008
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with bad parameter data for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck with bad parameter data for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0008L()
-	{
-//	
-// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
-//
-	
-// This test should test sending bad parameter data for GetCallParams
-// If this API does not have any parameters, then remove this test completely.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test passing wrong version of parameters to
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// Remove the test above if it is not relevant for this API
-
-	//-------------------------------------------------------------------------
-	// Test B: Test passing wrong descriptor size to parameter in
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// Remove the test above if it is not relevant for this API
-	
-	//-------------------------------------------------------------------------
-	// Test C: Test passing out of bounds parameters to
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
- 	
- 	// Remove the test above if it is not relevant for this API
-
-	// Done !
-	CleanupStack::PopAndDestroy(2, this); // data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck0009L()
-	{
-//  
-// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
-//
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(iTelServer,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// If this API is flow controlled by Etel or if this API is
-	// synchronous, remove this test completely.
-
-	// To write this test:
-	// If this API has parameters which have different versions, then each
-	// client in this test should use a different version of parameter.
-	// Otherwise, they should use the same version.
-	// All versions of parameters should be used. i.e. If there are three
-	// versions of a parameter, there should be three clients, one using
-	// each one. If the parameter does not have different versions, use
-	// two clients each using the same version.
-
-
-	// Done !
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00010
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00010L()
-	{
-//  
-// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
-//
-
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// If this API does not have a timeout, then remove this test completely.
-
-	// Done !
-	CleanupStack::PopAndDestroy(2, this); // data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-    
-    TInt errorCode = KErrNone;    
-    
-    //-- For Fax -------------------------    
-    TBuf<256> lineName(KMmTsyFaxLineName);
-    
-    // Open new line
-    RLine line;
-    errorCode = line.Open(iPhone, lineName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(line);  
-    
-    // open call
-    _LIT(KDoubleColon, "::");
-    
-    TBuf<256> name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(lineName);
-    name.Append(KDoubleColon);
-    
-    RMobileCall call;
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call);    
-    
-    TRequestStatus requestStatus;    
-    _LIT(KSomeNumber, "123456789");    
-	
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::DialNoFdnCheck when result is not cached.
- 	//-------------------------------------------------------------------------
-    RMobileCall::TMobileCallParamsV1 callParams; 
-    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
-   
-    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
-    
-    User::WaitForRequest(requestStatus);    
-    
-    //  DialNoFdnCheck isn't supported for Fax Line
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());      
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // ... this	
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00012
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00012L()
-	{
-//  
-// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
-//
-	
-// This test should test cancellation of GetCallParams
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::GetCallParams
- 	//-------------------------------------------------------------------------
- 	
-	// Remove the test above if this is not relevant for this API
-
-	// Wait for completion of iMockLTSY.NotifyTerminated
-	// User::WaitForRequest(mockLtsyStatus);
-	CleanupStack::PopAndDestroy(2); // data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00013
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with bad parameter data for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck with bad parameter data for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00013L()
-	{
-//  
-// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
-//
-	
-// This test should test sending bad parameter data for GetCallParams
-// If this API does not have any parameters, then remove this test completely.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test passing wrong version of parameters to
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// Remove the test above if it is not relevant for this API
-
-	//-------------------------------------------------------------------------
-	// Test B: Test passing wrong descriptor size to parameter in
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// Remove the test above if it is not relevant for this API
-	
-	//-------------------------------------------------------------------------
-	// Test C: Test passing out of bounds parameters to
-	// RCall::GetCallParams
- 	//-------------------------------------------------------------------------
- 	
- 	// Remove the test above if it is not relevant for this API
-
-	// Done !
-	CleanupStack::PopAndDestroy(2, this); // data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00014
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00014L()
-	{
-//  
-// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
-//
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(iTelServer,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// If this API is flow controlled by Etel or if this API is
-	// synchronous, remove this test completely.
-
-	// To write this test:
-	// If this API has parameters which have different versions, then each
-	// client in this test should use a different version of parameter.
-	// Otherwise, they should use the same version.
-	// All versions of parameters should be used. i.e. If there are three
-	// versions of a parameter, there should be three clients, one using
-	// each one. If the parameter does not have different versions, use
-	// two clients each using the same version.
-
-
-	// Done !
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-CDNFC-00015
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestDialNoFdnCheck00015L()
-	{
-//  
-// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
-//
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::GetCallParams
- 	//-------------------------------------------------------------------------
-
-	// If this API does not have a timeout, then remove this test completely.
-
-	// Done !
-	CleanupStack::PopAndDestroy(2, this); // data, this
-
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MGFS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetFdnStatus
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::GetFdnStatus
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestGetFdnStatus0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatus;
-    	
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus, KErrNotSupported);
-	
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());    
-
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus, KErrNotSupported);
-    TInt ret = iPhone.GetFdnStatus(fdnStatus);
-    ASSERT_EQUALS(KErrNotSupported, ret);    
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
-	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
-	ltsyData2.SerialiseL(completeData);
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrGeneral, completeData);
-	
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobilePhone::GetFdnStatus when result is not cached.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
-	
-	fdnStatus = RMobilePhone::EFdnNotActive;
-	
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    ASSERT_TRUE(fdnStatusComplete == fdnStatus);    
-
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
-
-	fdnStatus = RMobilePhone::EFdnNotActive;
-	
-    ret = iPhone.GetFdnStatus(fdnStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, ret);    
-    ASSERT_TRUE(fdnStatusComplete == fdnStatus);    
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobilePhone::GetFdnStatus
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); // completeData, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MGFS-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::GetFdnStatus
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobilePhone::GetFdnStatus
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestGetFdnStatus0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-	
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatus(RMobilePhone::EFdnNotActive);
-    	
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
-	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
-	ltsyData2.SerialiseL(completeData);
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
-	
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-	iPhone.CancelAsyncRequest(EMobilePhoneGetFdnStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());    
-
-	User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-
-	CleanupStack::PopAndDestroy(2); // data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MGFS-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::GetFdnStatus
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobilePhone::GetFdnStatus
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestGetFdnStatus0004L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobilePhone::GetFdnStatus
- 	//-------------------------------------------------------------------------
-
-	// If this API is flow controlled by Etel or if this API is
-	// synchronous, remove this test completely.
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-	
-
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatus(RMobilePhone::EFdnNotActive);
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatus2(RMobilePhone::EFdnNotActive);
-    	
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
-	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
-	ltsyData2.SerialiseL(completeData);
-
-	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
-	
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-
-    phone2.GetFdnStatus(requestStatus2, fdnStatus2);
-
-    User::WaitForRequest(requestStatus);
-
-    User::WaitForRequest(requestStatus2);
-   
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());    
-
-	// Done !
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
-
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MGFS-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetFdnStatus with timeout
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::GetFdnStatus and tests for timeout
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestGetFdnStatus0005L()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    //-------------------------------------------------------------------------
-    // Test A: Test timeout of RMobilePhone::SetFdnSetting
-    //-------------------------------------------------------------------------
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnStatus fdnStatus;
-
-    iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
-    
-    iPhone.GetFdnStatus(requestStatus, fdnStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());    
-
-    CleanupStack::PopAndDestroy(1, this); // data, this
-    }
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MSFS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetFdnSetting
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::SetFdnSetting
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestSetFdnSetting0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
-    	
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrGeneral);
-	
-    iPhone.SetFdnSetting(requestStatus, fdnSetting);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
-
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobilePhone::SetFdnSetting when result is not cached.
- 	//-------------------------------------------------------------------------
-
-
-    TRequestStatus requestStatus2;
-    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
-    //to check what will be set
-    iPhone.NotifyFdnStatusChange(requestStatus2, fdnStatus);
-
-    fdnSetting = RMobilePhone::EFdnSetOff;
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-	
-    iPhone.SetFdnSetting(requestStatus, fdnSetting);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
-
-
-    iPhone.NotifyFdnStatusChange(requestStatus2, fdnStatus);
-
-    fdnSetting = RMobilePhone::EFdnSetOn;
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-	
-    iPhone.SetFdnSetting(requestStatus, fdnSetting);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnActive, fdnStatus);    
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobilePhone::SetFdnSetting
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-	User::WaitForRequest(mockLtsyStatus);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1, this); // this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MSFS-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::SetFdnSetting
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobilePhone::SetFdnSetting
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestSetFdnSetting0002L()
-	{
-
-// This test should test cancellation of SetFdnSetting
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobilePhone::SetFdnSetting
- 	//-------------------------------------------------------------------------
- 	
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
-	
-    iPhone.SetFdnSetting(requestStatus, fdnSetting);
-    
-    iPhone.CancelAsyncRequest(EMobilePhoneSetFdnSetting);
-
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-
-        //TSY has started a request and it is not possible to then
-        //cancel this request. The best thing for the TSY to do in this case 
-        //is to proceed as though the Cancel never happened. The server's call 
-        //to the TSY cancel function will return synchronously. The TSY then 
-        //continues to wait for the original acknowledgement and when it 
-        //receives it, the TSY will complete the original request.
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-
-	// Wait for completion of iMockLTSY.NotifyTerminated
-	User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // this
-	
-	}
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MSFS-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::SetFdnSetting
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobilePhone::SetFdnSetting
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestSetFdnSetting0004L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobilePhone::SetFdnSetting
- 	//-------------------------------------------------------------------------
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting1(RMobilePhone::EFdnSetOff);
-    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting2(RMobilePhone::EFdnSetOn);
-    iPhone.SetFdnSetting(requestStatus1, fdnSetting1);
-    phone2.SetFdnSetting(requestStatus2, fdnSetting2);
-
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-
-    User::WaitForRequest(requestStatus1);
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());    
-
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-
-	// Done !
-	CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MSFS-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetFdnSetting with timeout
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::SetFdnSetting and tests for timeout
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestSetFdnSetting0005L()
-	{
-
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RMobilePhone::SetFdnSetting
- 	//-------------------------------------------------------------------------
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
-
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 120302);
-	// assert added because request stays uncompleted and this prevents later test from correct execution
-	ASSERT_TRUE(EFalse);
-	
-    iPhone.SetFdnSetting(requestStatus, fdnSetting);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-
-	// Done !
-	CleanupStack::PopAndDestroy(1, this); // data, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MNFSC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::NotifyFdnStatusChange
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::NotifyFdnStatusChange
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
-    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOn);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobilePhone::NotifyFdnStatusChange when result is not cached.
- 	//-------------------------------------------------------------------------
-
-    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
-    
-    TRequestStatus requestStatus2;
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
-    
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnActive, fdnStatus);    
-	AssertMockLtsyStatusL();
-
-
-    
-    fdnSetting = RMobilePhone::EFdnSetOff;
-
-    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
-    
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
-    
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
-
-    // test E not needed cause complete for EMobilePhoneNotifyFdnStatusChange 
-    // is called only in EMobilePhoneSetFdnSetting request
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1, this); // data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MNFSC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::NotifyFdnStatusChange
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobilePhone::NotifyFdnStatusChange
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0002L()
-	{
-
-// This test should test cancellation of NotifyFdnStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobilePhone::NotifyFdnStatusChange
- 	//-------------------------------------------------------------------------
-    TRequestStatus requestStatus;
-    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
-    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
- 	
- 	iPhone.CancelAsyncRequest(EMobilePhoneNotifyFdnStatusChange);
-
-    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOn);
-    TRequestStatus requestStatus2;
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
-    
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());    
-
-	// Wait for completion of iMockLTSY.NotifyTerminated
-	User::WaitForRequest(mockLtsyStatus);
-	CleanupStack::PopAndDestroy(1); // data, this
-	
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-FXD-MNFSC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::NotifyFdnStatusChange
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobilePhone::NotifyFdnStatusChange
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0004L()
-	{
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobilePhone::NotifyFdnStatusChange
- 	//-------------------------------------------------------------------------
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
-    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus2(RMobilePhone::EFdnUnknown);
-    
-    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
-    phone2.NotifyFdnStatusChange(requestStatus2, fdnStatus2);
-
-    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOff);
-    TRequestStatus requestStatus3;
-	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
-    iPhone.SetFdnSetting(requestStatus3, fdnSetting);
-    
-    User::WaitForRequest(requestStatus3);
-    ASSERT_EQUALS(KErrNone, requestStatus3.Int());    
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
-
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
-    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus2);    
-
-
-	// Done !
-	CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this
-
-	}
-
-
-
-
+// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// The TEFUnit test suite for FixedDialling in the Common TSY.
+// 
+//
+
+/**
+ @file 
+*/
+
+#include "cctsyfixeddiallingfu.h"
+#include <etel.h>
+#include <etelmm.h>
+#include <et_clsvr.h>
+#include <ctsy/mmtsy_names.h>
+#include <ctsy/serviceapi/mmtsy_ipcdefs.h>
+#include "tmockltsydata.h"
+#include <ctsy/serviceapi/gsmerror.h>
+
+CTestSuite* CCTsyFixedDiallingFU::CreateSuiteL(const TDesC& aName)
+	{
+	SUB_SUITE;
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0001cL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0004L);	
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0005L);
+		
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0006bL);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0007L);  still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0008L);  still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck0009L);  still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00010L); still not supported
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00011L);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00012L); still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00013L); still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00014L); still not supported
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestDialNoFdnCheck00015L); still not supported
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0002L);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestGetFdnStatus0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0002L);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestSetFdnSetting0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0002L);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0004L);
+	//ADD_TEST_STEP_ISO_CPP(CCTsyFixedDiallingFU, TestNotifyFdnStatusChange0005L);
+
+	END_SUITE;
+	}
+
+
+//
+// Actual test cases
+//
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+    
+    TInt errorCode = KErrNone;    
+    
+    //-- For Voice1 -------------------------
+        
+    TBuf<256> lineName(KMmTsyVoice1LineName);    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);      
+    // open call
+    _LIT(KDoubleColon, "::");    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);   
+    
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");    
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+	// data for ExpextL
+	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
+    TInt expecteCallId = 0;
+        
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+    RMobileCall::TMobileCallInfoV8 callInfo;   
+   
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+	callInfo.iService	= mobileService;
+	callInfo.iStatus	= RMobileCall::EStatusUnknown;
+	callInfo.iCallId	= -1;
+	callInfo.iExitCode	=0; 
+	callInfo.iEmergency	=0;
+	callInfo.iForwarded	=0;	
+	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
+	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
+	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
+	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+	callInfo.iDialledParty.iNumberPlan = 
+        RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+        RMobilePhone::EUnknownNumber;	
+	    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
+    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());      
+    CleanupStack::PopAndDestroy();// call  
+       
+    
+    //-------------------------------------------------------------------------
+	// Test B: Test passing wrong descriptor size to parameter in
+	// RMobileCall::DialNoFdnCheck
+ 	//-------------------------------------------------------------------------
+ 	TInt callId = 1;
+ 	// create new incoming call
+ 	TName incomingCallName;
+ 	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle; 
+ 	
+	errorCode = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
+                             mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);	 	
+ 	   
+    // --------  make for this call callId > 0 --------------------------------------
+	line.NotifyIncomingCall(requestStatus, incomingCallName);
+
+    callInfo.iService = mobileService;
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData3(callId, mobileService, callInfo);
+    idleCallData3.SerialiseL(completeData);
+	
+	TRequestStatus mockLtsyStatus;
+	
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	CleanupClosePushL(call);
+	//-------------------------------------------------------------------------      
+    
+ 	// data for ExpectL 		
+ 	callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown; 	
+ 	
+ 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData2(callId, mobileService, callParams, callInfo);
+    expectData.Close();
+    mockCallData2.SerialiseL(expectData);
+ 	// data for CompleteL 	
+ 	TMockLtsyCallData0 mockDataComplete(callId, mobileService);
+ 	completeData.Close();
+ 	mockDataComplete.SerialiseL(completeData);
+ 	
+ 	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
+  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrGeneral, completeData);   	
+  	
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
+    
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
+    AssertMockLtsyStatusL();  
+    
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::DialNoFdnCheck when result is not cached.
+ 	//-------------------------------------------------------------------------
+	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
+  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);   	
+  	
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
+    
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialNoFdnCheck
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();	
+		
+	//-------------------------------------------------------------------------
+	// TEST 1  for coverage increasing
+ 	//------------------------------------------------------------------------- 	
+ 	// change status of call
+ 	mobileCallStatus = RMobileCall::EStatusRinging;
+ 	    
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData4(callId, mobileService, mobileCallStatus);
+    completeData.Close();
+    mockCallData4.SerialiseL(completeData);
+
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+   	call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
+    
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+        
+    // data for ExpectL
+    TInt hangUpCause( KErrGsmReleaseByUser );
+    TBool autoStChangeDisable = EFalse; 
+            
+    TMockLtsyCallData2< TInt, TBool >
+    							mockCallDataClose(callId, mobileService, hangUpCause, autoStChangeDisable);
+    expectData.Close();
+    mockCallDataClose.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData); // this expect is necessary for call closing when EStatusRinging  
+   	CleanupStack::PopAndDestroy(); // call
+    AssertMockLtsyStatusL(); 
+   
+    //-------------------------------------------------------------------------
+	// TEST 2  for coverage increasing
+ 	//-------------------------------------------------------------------------    
+    // create new call    
+    callId = 2;
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    errorCode = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
+                             mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);	 	
+    
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	CleanupClosePushL(call);
+    
+	// set RFStatus to Inactive state
+	TRfStateInfo rfInfo (ERfsStateInfoInactive);
+	
+	TMockLtsyData1<TRfStateInfo> mockCallData5(rfInfo);
+    completeData.Close();
+    mockCallData5.SerialiseL(completeData);
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    	
+  	call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);       
+    User::WaitForRequest(requestStatus); 
+    
+    TInt expectedErrorCode = ( KErrGeneral & 0x0000FFFF ) |( KErrGsmOfflineOpNotAllowed << 16 );
+	expectedErrorCode = (expectedErrorCode>>16) | 0xFFFF0000;
+
+             
+    ASSERT_EQUALS(expectedErrorCode, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+	
+ 	// close call, cause theres no way to use it again
+   	CleanupStack::PopAndDestroy(&call);
+   	AssertMockLtsyStatusL();
+		
+	
+	// create new incoming call
+	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call); 
+    
+    // set RFStatus to Normal state
+	rfInfo = ERfsStateInfoNormal;
+	
+	TMockLtsyData1<TRfStateInfo> mockCallData6(rfInfo);
+	    
+    completeData.Close();
+    mockCallData6.SerialiseL(completeData);
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+   
+    // data for ExpectL
+    callInfo.iRemoteParty.iDirection = RMobileCall::EDirectionUnknown; 	
+	    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >    
+    											 mockCallData7(expecteCallId, mobileService, callParams, callInfo);
+	expectData.Close();    											 
+    mockCallData7.SerialiseL(expectData);
+	
+	// Test A: ... 
+	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);    
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int()); 
+	
+	// ...and now repeat this test A
+    // This repetition is here to test that SetDialFlag(EFalse) is called when
+    // the EMobileCallDialNoFdnCheck request completes with an error
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNotSupported);
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+    	
+	//-------------------------------------------------------------------------
+	// TEST to show defect 120102
+ 	//-------------------------------------------------------------------------
+
+  	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
+ 	CallGetMobileCallInfoL(callId, mobileService, KSomeNumber); 
+ 	
+ 	completeData.Close();
+ 	TMockLtsyCallData0 mockDataComplete2(callId, mobileService);
+ 	mockDataComplete2.SerialiseL(completeData);
+  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);   	
+  	
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
+    
+    User::WaitForRequest(requestStatus);      
+     
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());      
+    
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(5, this); // ... this
+	}
+	
+	
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001b
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001bL()
+	{
+	
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	    
+    TInt errorCode = KErrNone;    
+    
+    //-- For Voice1 -------------------------    
+    TBuf<256> lineName(KMmTsyVoice1LineName);
+    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);  
+    
+    // open call
+    _LIT(KDoubleColon, "::");
+    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);    
+    
+    TRequestStatus requestStatus;
+    
+    _LIT(KSomeNumber, "123456789");
+    	
+		
+	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+	// for API version without params
+	// i.e. for void RMobileCall::DialNoFdnCheck(TRequestStatus& aReqStatus,const TDesC& aTelNumber)
+ 	//-------------------------------------------------------------------------
+	// data for ExpextL
+	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
+    TInt expecteCallId = 0;
+        
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+    RMobileCall::TMobileCallInfoV1 callInfo;   
+   
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+	callInfo.iService	= mobileService;
+	callInfo.iStatus	= RMobileCall::EStatusUnknown;
+	callInfo.iCallId	= -1;
+	callInfo.iExitCode	=0; 
+	callInfo.iEmergency	=0;
+	callInfo.iForwarded	=0;	
+	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
+	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
+	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
+	callInfo.iTch = RMobileCall::ETchUnknown;				
+	callInfo.iRemoteParty.iCallingName = KNullDesC;
+	callInfo.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
+	callInfo.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
+	callInfo.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+	callInfo.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
+	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+	callInfo.iDialledParty.iNumberPlan = 
+        RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+        RMobilePhone::EUnknownNumber;	
+	    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 120101);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);    
+    
+    // Cause to fail to show defect 120101
+    ASSERT_TRUE(EFalse);
+    
+    call.DialNoFdnCheck(requestStatus, KSomeNumber);    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());    
+        
+    CleanupStack::PopAndDestroy(4, this); // call,line, expectData, this    
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0001c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for voice calls with minimal parameters (RCall::TCallParams)
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0001cL()
+    {
+    
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+    TInt errorCode = KErrNone;    
+
+    //-- For Voice1 -------------------------
+
+    TBuf<256> lineName(KMmTsyVoice1LineName);    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);      
+    // open call
+    _LIT(KDoubleColon, "::");    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);   
+
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");   
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
+    TInt expecteCallId = 0;
+
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+    RMobileCall::TMobileCallInfoV8 callInfo;   
+    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iInterval        = 100;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+    callInfo.iService   = mobileService;
+    callInfo.iStatus    = RMobileCall::EStatusUnknown;
+    callInfo.iCallId    =-1;
+    callInfo.iExitCode  =0; 
+    callInfo.iEmergency =0;
+    callInfo.iForwarded =0; 
+    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+    //callInfo.iDuration.iIntervel  = 0;            // this is protected value
+    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = 
+            RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+            RMobilePhone::EUnknownNumber;   
+
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);
+
+    TInt callId = 1;
+    
+    completeData.Close();
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
+    callInfoData.SerialiseL(completeData);
+    //Complete Mobile Call Info in order to set the call ID 
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
+    
+    TMockLtsyCallData0 mockDataComplete(callId, mobileService);
+    completeData.Close();
+    mockDataComplete.SerialiseL(completeData);
+    // Complete the Dial
+    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
+
+    RCall::TCallParams callParamsX;
+    callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParamsX.iInterval        = 100;
+    callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+    TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+        
+    call.DialNoFdnCheck(requestStatus, pckgCallParamsX, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0002L()
+	{
+
+     OpenEtelServerL(EUseExtendedError);
+     CleanupStack::PushL(TCleanupItem(Cleanup,this));
+     OpenPhoneL();
+
+     RBuf8 expectData;
+     CleanupClosePushL(expectData);
+     
+     RBuf8 completeData;
+     CleanupClosePushL(completeData);
+     
+     TInt errorCode = KErrNone;    
+     
+     //-- For Voice1 -------------------------
+         
+     TBuf<256> lineName(KMmTsyVoice1LineName);    
+     // Open new line
+     RLine line;
+     errorCode = line.Open(iPhone, lineName);
+     ASSERT_EQUALS(KErrNone, errorCode);
+     CleanupClosePushL(line);      
+     // open call
+     _LIT(KDoubleColon, "::");    
+     TBuf<256> name;
+     name = KMmTsyPhoneName;
+     name.Append(KDoubleColon);
+     name.Append(lineName);
+     name.Append(KDoubleColon);
+     
+     RMobileCall call;
+     errorCode = call.OpenNewCall(line, name);
+     ASSERT_EQUALS(KErrNone, errorCode);
+     CleanupClosePushL(call);   
+     
+     TRequestStatus requestStatus;    
+     _LIT(KSomeNumber, "123456789");
+     
+     RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+     
+     TInt expectCallId = 0;
+ 	   
+    // --------  make for this call callId > 0 --------------------------------------   
+    RMobileCall::TMobileCallInfoV8 callInfo;  
+
+    //-------------------------------------------------------------------------
+	// Test cancelling of RMobileCall::DialNoFdnCheck
+ 	//-------------------------------------------------------------------------
+ 	
+    // data for ExpextL
+ 	RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams); 	
+ 	 	
+    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+    callInfo.iService   = mobileService;
+    callInfo.iStatus    = RMobileCall::EStatusUnknown;
+    callInfo.iCallId    = -1;
+    callInfo.iExitCode  =0; 
+    callInfo.iEmergency =0;
+    callInfo.iForwarded =0; 
+    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+    callInfo.iTch = RMobileCall::ETchUnknown;               
+    callInfo.iRemoteParty.iCallingName = KNullDesC;
+    callInfo.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
+    callInfo.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
+    callInfo.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
+    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = 
+            RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+            RMobilePhone::EUnknownNumber;   
+	
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData(expectCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    // Expect the dial
+    
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData, KErrNone);   
+     
+    // Dial and cancel
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    call.CancelAsyncRequest(EMobileCallDialNoFdnCheck);
+    
+    // prepare and complete Mobile Call info
+    
+    TInt callId = 1;
+    
+    _LIT(KNullDesC , "");
+        
+    RBuf8 data;
+    CleanupClosePushL(data);
+
+    RMobileCall::TMobileCallInfoV1 callInfo2;
+    callInfo2.iDialledParty.iTelNumber.Copy(KSomeNumber);
+    callInfo2.iService = mobileService;
+    callInfo2.iEmergency = EFalse;
+    callInfo2.iRemoteParty.iCallingName = KNullDesC;
+    callInfo2.iRemoteParty.iRemoteIdStatus = RMobileCall::ERemoteIdentityUnknown;
+    callInfo2.iRemoteParty.iRemoteNumber.iTelNumber = KNullDesC;
+    callInfo2.iRemoteParty.iRemoteNumber.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo2.iRemoteParty.iRemoteNumber.iTypeOfNumber = RMobilePhone::EUnknownNumber;
+    callInfo2.iForwarded = EFalse;
+    callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallRemoteParty;
+
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo2);
+    callInfoData.SerialiseL(data);
+
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+
+    //Pause the MockLTSY so we can program the sequence of Expect - Completes involved 
+    //with cancelling 
+    iMockLTSY.PauseCompletion();
+    
+    RMobileCall::TMobileCallStatus  mobileCallStatus = RMobileCall::EStatusDialling; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus(callId, mobileService, mobileCallStatus);
+    completeData.Close();
+    mockCallDataStatus.SerialiseL(completeData);
+    
+    //Change state to dialling, this set the call ID
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+
+    
+    TInt hangUpCause = KErrGsmReleaseByUser;
+    TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockCallData2(callId, mobileService, 
+                                                          hangUpCause, 
+                                                          autoStChangeDisable);    
+    expectData.Close();
+    mockCallData2.SerialiseL(expectData);
+    // Since the call ID has been set, the CTSY will go ahead with the cancellation
+    // by hanging up.
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    
+    // Cancelled Dial request. After this CTSY hangs up the call and it goes to idle state.
+   
+    
+    RMobileCall::TMobileCallStatus  mobileCallStatus2 = RMobileCall::EStatusIdle; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallStatus2);
+    completeData.Close();
+    mockCallDataStatus2.SerialiseL(completeData);
+
+    // Complete the hangup
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
+ 
+    // Release the MockLTSY so that the above sequence is triggered.
+    iMockLTSY.ResumeCompletion();
+    
+    
+    // Check results.
+    User::WaitForRequest(requestStatus);    
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());      
+
+     
+	CleanupStack::PopAndDestroy(6, this); // expectData, this ...
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0004L()
+	{
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2, KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);	
+	
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RBuf8 expectData2;
+	CleanupClosePushL(expectData2);
+	
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+	
+	RBuf8 completeData2;
+	CleanupClosePushL(completeData2);
+		
+	
+	 //-- Voice1 -------------------------    
+    TBuf<256> lineName(KMmTsyVoice1LineName);    
+    // Open new line
+    RLine line;
+    ret  = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, ret);
+    CleanupClosePushL(line);  
+    
+    
+    //-- Voice1-------------------------
+    TBuf<256> lineName2(KMmTsyVoice1LineName);   
+    // Open new line
+    RLine line2;
+    ret  = line2.Open(phone2, lineName2);
+    ASSERT_EQUALS(KErrNone, ret);
+    CleanupClosePushL(line2);  
+    //----------------------------------------
+    
+    // open call
+    _LIT(KDoubleColon, "::");
+    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+	RMobileCall call;
+	RMobileCall call2;
+	
+	TInt callId = 1;
+	TInt callId2 = 2;
+	TName incomingCallName;
+	TName incomingCallName2;
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    TRequestStatus mockLtsyStatus;
+			
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle;    
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    // create new incoming call
+	ret = CreateIncomingCallL(line, callId, lineName, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, ret);	
+	 // --------  make for the first call callId > 0 --------------------------------------   
+    RMobileCall::TMobileCallInfoV1 callInfo;  
+            
+	line.NotifyIncomingCall(requestStatus, incomingCallName);
+
+    callInfo.iService = mobileService;
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData(callId, mobileService, callInfo);
+    idleCallData.SerialiseL(completeData);
+	
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+  
+    TInt errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	CleanupClosePushL(call);
+ 
+
+    // create new incoming call
+	ret = CreateIncomingCallL(line2, callId2, lineName2, incomingCallName2, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, ret); 	  
+    // -------  make for the second call callId > 0 --------------------------------------   
+    RMobileCall::TMobileCallInfoV1 callInfo2;    
+           
+	line2.NotifyIncomingCall(requestStatus2, incomingCallName2);
+
+    callInfo2.iService = mobileService;
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> idleCallData2(callId2, mobileService, callInfo2);
+    idleCallData2.SerialiseL(completeData2);
+	
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData2);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+   
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	CleanupClosePushL(call2);
+	//------------------------------------------------------------------------- 	
+	
+	_LIT(KSomeNumber,  "123456789"); 
+	_LIT(KSomeNumber2, "987654321"); 	
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// --- data for first ExpectL  ---
+ 	RMobileCall::TMobileCallParamsV1 		callParams; 	
+ 	RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);	
+ 	
+ 	// set up callInfo
+ 	callInfo.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;  
+ 	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+	callInfo.iService	= mobileService;  
+	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber ); 	
+ 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData2(callId, mobileService, callParams, callInfo);
+    mockCallData2.SerialiseL(expectData);
+    
+ 	// --- data for the first CompleteL ---
+ 	TMockLtsyCallData0 mockDataComplete(callId, mobileService);
+ 	completeData.Close();
+ 	mockDataComplete.SerialiseL(completeData);
+    	
+  	// --- data for second ExpectL  ---
+    RMobileCall::TMobileCallParamsV1 		callParams2; 	
+ 	RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams2(callParams2);	
+ 	
+ 	// set up callInfo
+ 	callInfo2.iRemoteParty.iDirection = RMobileCall::EMobileTerminated;  
+ 	callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+	callInfo2.iService	= mobileService;  
+	callInfo2.iDialledParty.iTelNumber.Copy( KSomeNumber2 ); 	
+ 	TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData3(callId2, mobileService, callParams2, callInfo2);
+    mockCallData3.SerialiseL(expectData2);
+    
+ 	// --- data for the second CompleteL ---
+ 	TMockLtsyCallData0 mockDataComplete2(callId2, mobileService);
+ 	completeData2.Close();
+ 	mockDataComplete2.SerialiseL(completeData2);
+         
+   
+  	// first DialNoFdnCheck
+  	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);   	
+  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);   
+      
+   	// second DialNoFdnCheck
+   	iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData2);   	
+  	iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData2);   
+    call2.DialNoFdnCheck(requestStatus2, pckgCallParams2, KSomeNumber2);   
+    
+    //wait for the first answer    
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    //wait for the second answer    
+    User::WaitForRequest(requestStatus2);              
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+    
+    
+    AssertMockLtsyStatusL();   
+	// Done !
+	CleanupStack::PopAndDestroy(12, this); // phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0005L()
+	{
+
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	TBuf<256> lineName(KMmTsyVoice1LineName);
+    
+    // Open new line
+    RLine line;
+    TInt errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);  
+    
+    // open call
+    _LIT(KDoubleColon, "::");
+    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);    
+    
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");
+	
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+	// data for ExpectL
+	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;    
+    TInt expecteCallId = 0;
+        
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+    RMobileCall::TMobileCallInfoV1 callInfo;   
+   
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+	callInfo.iService	= mobileService;
+	callInfo.iStatus	= RMobileCall::EStatusUnknown;
+	callInfo.iCallId	= -1;
+	callInfo.iExitCode	=0; 
+	callInfo.iEmergency	=0;
+	callInfo.iForwarded	=0;	
+	callInfo.iPrivacy				= RMobilePhone::EPrivacyUnspecified;
+	callInfo.iAlternatingCall		= RMobilePhone::EAlternatingModeUnspecified;	
+	//callInfo.iDuration.iIntervel	= 0;			// this is protected value
+	callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+	callInfo.iDialledParty.iNumberPlan = 
+        RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+        RMobilePhone::EUnknownNumber;	
+	    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1 >
+    											 mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);    
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());      
+   
+	// Done !
+	CleanupStack::PopAndDestroy(4, this); //... this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    TInt errorCode = KErrNone;    
+    
+    //-- For Data -------------------------    
+    TBuf<256> lineName(KMmTsyDataLineName);
+    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);  
+    
+    // open call
+    _LIT(KDoubleColon, "::");
+    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);    
+    
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");    
+	
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::DialNoFdnCheck when result is not cached.
+ 	//-------------------------------------------------------------------------
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+   
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);    
+    
+    //  DialNoFdnCheck isn't supported for Data Line (or rather, it's broken)  
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());      
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // ... this	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0006b
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for data calls with minimal parameters (RCall::TCallParams)
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0006bL()
+    {
+    
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+    TInt errorCode = KErrNone;    
+
+    //-- For Voice1 -------------------------
+
+    TBuf<256> lineName(KMmTsyDataLineName);    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);      
+    // open call
+    _LIT(KDoubleColon, "::");    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);   
+
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");   
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;    
+    TInt expecteCallId = 0;
+
+    RMobileCall::TMobileDataCallParamsV8 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+    RMobileCall::TMobileCallInfoV8 callInfo;   
+    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iInterval        = 100;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;    
+    callInfo.iService   = mobileService;
+    callInfo.iStatus    = RMobileCall::EStatusUnknown;
+    callInfo.iCallId    =-1;
+    callInfo.iExitCode  =0; 
+    callInfo.iEmergency =0;
+    callInfo.iForwarded =0; 
+    callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+    callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+    //callInfo.iDuration.iIntervel  = 0;            // this is protected value
+    callInfo.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = 
+            RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = 
+            RMobilePhone::EUnknownNumber;   
+
+    TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expecteCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EMobileCallDialNoFdnCheck, expectData);
+
+    TInt callId = 1;
+    
+    completeData.Close();
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(callId, mobileService, callInfo);
+    callInfoData.SerialiseL(completeData);
+    //Complete Mobile Call Info in order to set the call ID 
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
+    
+    TMockLtsyCallData0 mockDataComplete(callId, mobileService);
+    completeData.Close();
+    mockDataComplete.SerialiseL(completeData);
+    // Complete the Dial
+    iMockLTSY.CompleteL(EMobileCallDialNoFdnCheck, KErrNone, completeData);
+
+    RCall::TCallParams callParamsX;
+    callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParamsX.iInterval        = 100;
+    callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+    TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+        
+    call.DialNoFdnCheck(requestStatus, pckgCallParamsX, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0007L()
+	{
+//  
+// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
+//
+	
+	
+// This test should test cancellation of GetCallParams
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+ 	
+	// Remove the test above if this is not relevant for this API
+
+	// Wait for completion of iMockLTSY.NotifyTerminated
+	// User::WaitForRequest(mockLtsyStatus);
+	CleanupStack::PopAndDestroy(2); // data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0008
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with bad parameter data for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck with bad parameter data for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0008L()
+	{
+//	
+// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
+//
+	
+// This test should test sending bad parameter data for GetCallParams
+// If this API does not have any parameters, then remove this test completely.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test passing wrong version of parameters to
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// Remove the test above if it is not relevant for this API
+
+	//-------------------------------------------------------------------------
+	// Test B: Test passing wrong descriptor size to parameter in
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// Remove the test above if it is not relevant for this API
+	
+	//-------------------------------------------------------------------------
+	// Test C: Test passing out of bounds parameters to
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// Remove the test above if it is not relevant for this API
+
+	// Done !
+	CleanupStack::PopAndDestroy(2, this); // data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck0009L()
+	{
+//  
+// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
+//
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(iTelServer,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// If this API is flow controlled by Etel or if this API is
+	// synchronous, remove this test completely.
+
+	// To write this test:
+	// If this API has parameters which have different versions, then each
+	// client in this test should use a different version of parameter.
+	// Otherwise, they should use the same version.
+	// All versions of parameters should be used. i.e. If there are three
+	// versions of a parameter, there should be three clients, one using
+	// each one. If the parameter does not have different versions, use
+	// two clients each using the same version.
+
+
+	// Done !
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00010
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00010L()
+	{
+//  
+// DialNoFdnCheck isn't supported for Data Line, so this test is not relevant
+//
+
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// If this API does not have a timeout, then remove this test completely.
+
+	// Done !
+	CleanupStack::PopAndDestroy(2, this); // data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+    
+    TInt errorCode = KErrNone;    
+    
+    //-- For Fax -------------------------    
+    TBuf<256> lineName(KMmTsyFaxLineName);
+    
+    // Open new line
+    RLine line;
+    errorCode = line.Open(iPhone, lineName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(line);  
+    
+    // open call
+    _LIT(KDoubleColon, "::");
+    
+    TBuf<256> name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(lineName);
+    name.Append(KDoubleColon);
+    
+    RMobileCall call;
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call);    
+    
+    TRequestStatus requestStatus;    
+    _LIT(KSomeNumber, "123456789");    
+	
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::DialNoFdnCheck when result is not cached.
+ 	//-------------------------------------------------------------------------
+    RMobileCall::TMobileCallParamsV1 callParams; 
+    RMobileCall::TMobileCallParamsV1Pckg    pckgCallParams(callParams);
+   
+    call.DialNoFdnCheck(requestStatus, pckgCallParams, KSomeNumber);
+    
+    User::WaitForRequest(requestStatus);    
+    
+    //  DialNoFdnCheck isn't supported for Fax Line
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());      
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // ... this	
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00012
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00012L()
+	{
+//  
+// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
+//
+	
+// This test should test cancellation of GetCallParams
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+ 	
+	// Remove the test above if this is not relevant for this API
+
+	// Wait for completion of iMockLTSY.NotifyTerminated
+	// User::WaitForRequest(mockLtsyStatus);
+	CleanupStack::PopAndDestroy(2); // data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00013
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with bad parameter data for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck with bad parameter data for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00013L()
+	{
+//  
+// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
+//
+	
+// This test should test sending bad parameter data for GetCallParams
+// If this API does not have any parameters, then remove this test completely.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test passing wrong version of parameters to
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// Remove the test above if it is not relevant for this API
+
+	//-------------------------------------------------------------------------
+	// Test B: Test passing wrong descriptor size to parameter in
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// Remove the test above if it is not relevant for this API
+	
+	//-------------------------------------------------------------------------
+	// Test C: Test passing out of bounds parameters to
+	// RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// Remove the test above if it is not relevant for this API
+
+	// Done !
+	CleanupStack::PopAndDestroy(2, this); // data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00014
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::DialNoFdnCheck for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00014L()
+	{
+//  
+// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
+//
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(iTelServer,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// If this API is flow controlled by Etel or if this API is
+	// synchronous, remove this test completely.
+
+	// To write this test:
+	// If this API has parameters which have different versions, then each
+	// client in this test should use a different version of parameter.
+	// Otherwise, they should use the same version.
+	// All versions of parameters should be used. i.e. If there are three
+	// versions of a parameter, there should be three clients, one using
+	// each one. If the parameter does not have different versions, use
+	// two clients each using the same version.
+
+
+	// Done !
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-CDNFC-00015
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialNoFdnCheck with timeout for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialNoFdnCheck and tests for timeout for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestDialNoFdnCheck00015L()
+	{
+//  
+// DialNoFdnCheck isn't supported for fax calls, so this test is not relevant
+//
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::GetCallParams
+ 	//-------------------------------------------------------------------------
+
+	// If this API does not have a timeout, then remove this test completely.
+
+	// Done !
+	CleanupStack::PopAndDestroy(2, this); // data, this
+
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MGFS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetFdnStatus
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::GetFdnStatus
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestGetFdnStatus0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatus;
+    	
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus, KErrNotSupported);
+	
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());    
+
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus, KErrNotSupported);
+    TInt ret = iPhone.GetFdnStatus(fdnStatus);
+    ASSERT_EQUALS(KErrNotSupported, ret);    
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
+	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
+	ltsyData2.SerialiseL(completeData);
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrGeneral, completeData);
+	
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobilePhone::GetFdnStatus when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
+	
+	fdnStatus = RMobilePhone::EFdnNotActive;
+	
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    ASSERT_TRUE(fdnStatusComplete == fdnStatus);    
+
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
+
+	fdnStatus = RMobilePhone::EFdnNotActive;
+	
+    ret = iPhone.GetFdnStatus(fdnStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, ret);    
+    ASSERT_TRUE(fdnStatusComplete == fdnStatus);    
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobilePhone::GetFdnStatus
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); // completeData, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MGFS-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::GetFdnStatus
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobilePhone::GetFdnStatus
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestGetFdnStatus0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+	
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatus(RMobilePhone::EFdnNotActive);
+    	
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
+	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
+	ltsyData2.SerialiseL(completeData);
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
+	
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+	iPhone.CancelAsyncRequest(EMobilePhoneGetFdnStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());    
+
+	User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+
+	CleanupStack::PopAndDestroy(2); // data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MGFS-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::GetFdnStatus
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobilePhone::GetFdnStatus
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestGetFdnStatus0004L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobilePhone::GetFdnStatus
+ 	//-------------------------------------------------------------------------
+
+	// If this API is flow controlled by Etel or if this API is
+	// synchronous, remove this test completely.
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+	
+
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatus(RMobilePhone::EFdnNotActive);
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatus2(RMobilePhone::EFdnNotActive);
+    	
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatusComplete(RMobilePhone::EFdnActive);
+	TMockLtsyData1<RMobilePhone::TMobilePhoneFdnStatus> ltsyData2(fdnStatusComplete);
+	ltsyData2.SerialiseL(completeData);
+
+	iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+	iMockLTSY.CompleteL(EMobilePhoneGetFdnStatus, KErrNone, completeData);
+	
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+
+    phone2.GetFdnStatus(requestStatus2, fdnStatus2);
+
+    User::WaitForRequest(requestStatus);
+
+    User::WaitForRequest(requestStatus2);
+   
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());    
+
+	// Done !
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, data, this
+
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MGFS-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::GetFdnStatus with timeout
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::GetFdnStatus and tests for timeout
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestGetFdnStatus0005L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    //-------------------------------------------------------------------------
+    // Test A: Test timeout of RMobilePhone::SetFdnSetting
+    //-------------------------------------------------------------------------
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnStatus fdnStatus;
+
+    iMockLTSY.ExpectL(EMobilePhoneGetFdnStatus);
+    
+    iPhone.GetFdnStatus(requestStatus, fdnStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());    
+
+    CleanupStack::PopAndDestroy(1, this); // data, this
+    }
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MSFS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetFdnSetting
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::SetFdnSetting
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestSetFdnSetting0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
+    	
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrGeneral);
+	
+    iPhone.SetFdnSetting(requestStatus, fdnSetting);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());    
+
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobilePhone::SetFdnSetting when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+
+    TRequestStatus requestStatus2;
+    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
+    //to check what will be set
+    iPhone.NotifyFdnStatusChange(requestStatus2, fdnStatus);
+
+    fdnSetting = RMobilePhone::EFdnSetOff;
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+	
+    iPhone.SetFdnSetting(requestStatus, fdnSetting);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
+
+
+    iPhone.NotifyFdnStatusChange(requestStatus2, fdnStatus);
+
+    fdnSetting = RMobilePhone::EFdnSetOn;
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+	
+    iPhone.SetFdnSetting(requestStatus, fdnSetting);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnActive, fdnStatus);    
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobilePhone::SetFdnSetting
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+	User::WaitForRequest(mockLtsyStatus);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1, this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MSFS-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::SetFdnSetting
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobilePhone::SetFdnSetting
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestSetFdnSetting0002L()
+	{
+
+// This test should test cancellation of SetFdnSetting
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobilePhone::SetFdnSetting
+ 	//-------------------------------------------------------------------------
+ 	
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
+	
+    iPhone.SetFdnSetting(requestStatus, fdnSetting);
+    
+    iPhone.CancelAsyncRequest(EMobilePhoneSetFdnSetting);
+
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+
+        //TSY has started a request and it is not possible to then
+        //cancel this request. The best thing for the TSY to do in this case 
+        //is to proceed as though the Cancel never happened. The server's call 
+        //to the TSY cancel function will return synchronously. The TSY then 
+        //continues to wait for the original acknowledgement and when it 
+        //receives it, the TSY will complete the original request.
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+
+	// Wait for completion of iMockLTSY.NotifyTerminated
+	User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // this
+	
+	}
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MSFS-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::SetFdnSetting
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobilePhone::SetFdnSetting
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestSetFdnSetting0004L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobilePhone::SetFdnSetting
+ 	//-------------------------------------------------------------------------
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting1(RMobilePhone::EFdnSetOff);
+    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting2(RMobilePhone::EFdnSetOn);
+    iPhone.SetFdnSetting(requestStatus1, fdnSetting1);
+    phone2.SetFdnSetting(requestStatus2, fdnSetting2);
+
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+
+    User::WaitForRequest(requestStatus1);
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());    
+
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+
+	// Done !
+	CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MSFS-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetFdnSetting with timeout
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::SetFdnSetting and tests for timeout
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestSetFdnSetting0005L()
+	{
+
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RMobilePhone::SetFdnSetting
+ 	//-------------------------------------------------------------------------
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnSetting  fdnSetting(RMobilePhone::EFdnSetOff);
+
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 120302);
+	// assert added because request stays uncompleted and this prevents later test from correct execution
+	ASSERT_TRUE(EFalse);
+	
+    iPhone.SetFdnSetting(requestStatus, fdnSetting);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+
+	// Done !
+	CleanupStack::PopAndDestroy(1, this); // data, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MNFSC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::NotifyFdnStatusChange
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::NotifyFdnStatusChange
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
+    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOn);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobilePhone::NotifyFdnStatusChange when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
+    
+    TRequestStatus requestStatus2;
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnActive, fdnStatus);    
+	AssertMockLtsyStatusL();
+
+
+    
+    fdnSetting = RMobilePhone::EFdnSetOff;
+
+    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
+    
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
+
+    // test E not needed cause complete for EMobilePhoneNotifyFdnStatusChange 
+    // is called only in EMobilePhoneSetFdnSetting request
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1, this); // data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MNFSC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobilePhone::NotifyFdnStatusChange
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobilePhone::NotifyFdnStatusChange
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0002L()
+	{
+
+// This test should test cancellation of NotifyFdnStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobilePhone::NotifyFdnStatusChange
+ 	//-------------------------------------------------------------------------
+    TRequestStatus requestStatus;
+    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
+    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
+ 	
+ 	iPhone.CancelAsyncRequest(EMobilePhoneNotifyFdnStatusChange);
+
+    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOn);
+    TRequestStatus requestStatus2;
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+    iPhone.SetFdnSetting(requestStatus2, fdnSetting);
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());    
+
+	// Wait for completion of iMockLTSY.NotifyTerminated
+	User::WaitForRequest(mockLtsyStatus);
+	CleanupStack::PopAndDestroy(1); // data, this
+	
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-FXD-MNFSC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobilePhone::NotifyFdnStatusChange
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobilePhone::NotifyFdnStatusChange
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyFixedDiallingFU::TestNotifyFdnStatusChange0004L()
+	{
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobilePhone::NotifyFdnStatusChange
+ 	//-------------------------------------------------------------------------
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus(RMobilePhone::EFdnUnknown);
+    RMobilePhone::TMobilePhoneFdnStatus  fdnStatus2(RMobilePhone::EFdnUnknown);
+    
+    iPhone.NotifyFdnStatusChange(requestStatus, fdnStatus);
+    phone2.NotifyFdnStatusChange(requestStatus2, fdnStatus2);
+
+    RMobilePhone::TMobilePhoneFdnSetting fdnSetting(RMobilePhone::EFdnSetOff);
+    TRequestStatus requestStatus3;
+	iMockLTSY.CompleteL(EMobilePhoneSetFdnSetting, KErrNone);
+    iPhone.SetFdnSetting(requestStatus3, fdnSetting);
+    
+    User::WaitForRequest(requestStatus3);
+    ASSERT_EQUALS(KErrNone, requestStatus3.Int());    
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus);    
+
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());    
+    ASSERT_EQUALS(RMobilePhone::EFdnNotActive, fdnStatus2);    
+
+
+	// Done !
+	CleanupStack::PopAndDestroy(3, this); // phone2, telServer2, this
+
+	}
+
+
+
+