telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 23 6b1d113cdff3
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsycallcontrolfu.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,12992 +1,12992 @@
-// 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 CallControl in the Common TSY.
-// 
-//
-
-/**
- @file      
-*/
-
-#include "cctsycallcontrolfu.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>
-#include <etelmmerr.h>
-#include "MmTsy_timeoutdefs.h"
-
-CTestSuite* CCTsyCallControlFU::CreateSuiteL(const TDesC& aName)
-	{
-	SUB_SUITE;
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001cL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006bL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006cL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006dL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006eL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006fL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006gL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006hL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006iL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0008L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009bL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009cL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial00010L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00010L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011bL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011cL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00012L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00014L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00015L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0001aL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0003L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0005L);	
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001L);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001bL);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001cL);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0002L);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0004L);
-    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0005L);  
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSetIncomingCallType0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0005L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestCompleteNotifyStatusChange0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestUpdateLifeTime0001L);	
-
-	END_SUITE;
-	}
-
-
-//
-// Actual test cases
-//
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus requestNotify;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-   
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData, KErrNotSupported);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrGeneral, expectData);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::AnswerIncomingCall when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::AnswerIncomingCall
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus mockLtsyStatus;
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST : Call AnswerIncomingCall with null description
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    
-    TPtr8 null(NULL,0);
-    call.AnswerIncomingCall(requestStatus, null);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
-	// covers "if ( 0 < answerCallHandle )" condition
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-	CleanupClosePushL(call2);
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call.Close();
-
-	CloseIncomingCallL(call2, callId, mobileService);
-	AssertMockLtsyStatusL();
-
- 	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
-	// covers "else if( activeCall && 
-	//                ( !( KETelExt3rdPartyV1 == activeCall->GetExtensionId() ) &&
-	//                ( KETelExt3rdPartyV1 == extensionId ) ) )" condition
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusRinging;
-
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-    errorCode = call1.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-
- 	//-------------------------------------------------------------------------
-
- 	TName incomingCallName2;
- 	TInt callId2 = 2;
-	mobileCallStatus = RMobileCall::EStatusConnected;
- 	
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
-
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
-	call1.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGsmNotAllowed, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus2.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(7, this); // expectData, completeData, call, line, call2
-										  // this, call1 
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::AnswerIncomingCall for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::AnswerIncomingCall for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrCancel, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();                                             
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-    call.CancelAsyncRequest(EEtelCallAnswer);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(4); // this, expectData, call, line
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::AnswerIncomingCall for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::AnswerIncomingCall for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	CleanupClosePushL(call1);
-
-	RCall call2;
-	CleanupClosePushL(call2);
-
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-  
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
-
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// close incoming call1
-    CloseIncomingCallL(call1, callId1, mobileService);
-	AssertMockLtsyStatusL();
-
-	// close incoming call2
-    CloseIncomingCallL(call2, callId2, mobileService);
-	AssertMockLtsyStatusL();
-
-	//-------------------------------------------------------------------------
-	// Test for increase coverage
- 	//-------------------------------------------------------------------------
-
-	line1.NotifyIncomingCall(requestStatus1, incomingCallName1);   
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-	
-	mobileCallStatus = RMobileCall::EStatusConnected;
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusHold;
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGsmNotAllowed, requestStatus1.Int());
-
- 	//-------------------------------------------------------------------------
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(5, this); // phone2, telServer2, expectData, this, completeData
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData, KErrNotSupported);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrGeneral, expectData);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::AnswerIncomingCall when result is not cached.
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::AnswerIncomingCall
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmDataCallTsy::AnswerIncomingCall coverage
-	// covers "if ( 0 < iAnswerCallHandle )" condition
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-	CleanupClosePushL(call2);
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    RMobileCall::TMobileCallParamsV1 callParamsV2;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV2(callParamsV2);
-	call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV2);
-
-	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-	
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmDataCallTsy::AnswerIncomingCall coverage
-	// covers "if ( iCallCaps.iFlags & RCall::KCapsAnswer || 
-	//              RCall::EStatusIdle == iCallStatus )" condition
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-    // call CMmDataCallTsy::CompleteNotifyStatusChange for set 
-    // iCallCaps.iFlags &= ~( RCall::KCapsAnswer );
-    
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
-    mockCallData2.SerialiseL(completeData);
-
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
- 	//-------------------------------------------------------------------------
-    // call CMmVoiceLineTsy::CompleteNotifyIncomingCall for set iCallId = 1.
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    completeData.Close();
-    mockCallData1.SerialiseL(completeData);
-	
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
- 	//-------------------------------------------------------------------------
-
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(2); // call2, line
-	
-	CloseIncomingCallL(call, callId, mobileService);
-	CleanupStack::PopAndDestroy(3); // expectData, call, completeData
-
-	CleanupStack::PopAndDestroy(1, this);
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::AnswerIncomingCall for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::AnswerIncomingCall for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0007L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-  
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrCancel, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-    call.CancelAsyncRequest(EEtelCallAnswer);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(4); // this, expectData, call, line
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0008
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with bad parameter data for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall with bad parameter data for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0008L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	RCall call;
-	CleanupClosePushL(call);
-	
-	// open new line for KMmTsyVoice1LineName
-	RLine line;
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-	//-------------------------------------------------------------------------
-	// Test B: Test passing wrong descriptor size to parameter in
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-   
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    
-    TPtr8 null(NULL,0);
-    call.AnswerIncomingCall(requestStatus, null);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::AnswerIncomingCall for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::AnswerIncomingCall for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall0009L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	CleanupClosePushL(call1);
-
-	RCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-  
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
-
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV2;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV2(callParamsV2);
-    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-00010
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with timeout for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall and tests for timeout for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall00010L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
- 
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST : Call AnswerIncomingCall with null description
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
-    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
-    
-    TPtr8 null(NULL,0);
-    call.AnswerIncomingCall(requestStatus, null);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAIC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::AnswerIncomingCall for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCall00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyFaxLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-   
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, call, line
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    TName name;
-	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-			
-	RMobileCall::TMobileCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	RCall::TCallParams callParamsX;
-	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX.iInterval        = 100;
-	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   
-    expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	// Checking that we can return a specific error - KErrGsmCSConnectionBarred 
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGsmCSConnectionBarred, completeData);
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGsmCSConnectionBarred, requestStatus.Int());
-	
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::Dial when result is not cached.
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::Dial
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to check that RCall::Dial works fine with RMobileCall::TMobileCallParamsV1
- 	//-------------------------------------------------------------------------
-	// open new call
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(line, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	RMobileCall::TMobileCallParamsV1Pckg callParamsV1Pkg(callParamsV1);
-	callParamsV1.iCug.iCugIndex = 0xFFFF;
-	callParamsV1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnExceptDuringDialling;
-	callParamsV1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeOff;
-	callParamsV1.iInterval        = 100;
-	callParamsV1.iWaitForDialTone = RCall::EDialToneNoWait;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockDataV1(0, mobileService, callParamsV1, callInfo);
-
-	expectData.Close();
-	mockDataV1.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-		
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-		
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	call.Dial(requestStatus, callParamsV1Pkg, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
-	RMobileCall::TMobileCallParamsV1 checkParams;
-	RMobileCall::TMobileCallParamsV1Pckg checkParamsPkg(checkParams);
-	call.GetCallParams(checkParamsPkg);
-	
-	TInt compareResult = ((checkParams.iSpeakerControl !=  callParamsV1.iSpeakerControl) ||
-			(checkParams.iSpeakerVolume != callParamsV1.iSpeakerVolume) ||
-			(checkParams.iInterval != callParamsV1.iInterval) ||
-			(checkParams.iWaitForDialTone != callParamsV1.iWaitForDialTone) ||
-			(checkParams.iCug.iCugIndex != callParamsV1.iCug.iCugIndex)); 
-	
-	if(KErrNone != compareResult)	
-		{
-		ERR_PRINTF1(_L("RCall::GetCallParams did not return the same params as that used for Dial"));
-		ASSERT_EQUALS(KErrNone, compareResult);
-		}
-	
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST : to check that RCall::Dial works fine with RMobileCall::TMobileCallParamsV2
-	//-------------------------------------------------------------------------
-	// open new call
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(line, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	RMobileCall::TMobileCallParamsV2 callParamsV2;
-	RMobileCall::TMobileCallParamsV2Pckg callParamsV2Pkg(callParamsV2);
-	callParamsV2.iBearerMode =  RMobileCall::EMulticallNewBearer;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-			mockDataV2(0, mobileService, callParamsV2, callInfo);
-
-	expectData.Close();
-	mockDataV2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-			
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-			
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	call.Dial(requestStatus, callParamsV2Pkg, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-		
-	RMobileCall::TMobileCallParamsV2 checkParamsV2;
-	RMobileCall::TMobileCallParamsV2Pckg checkParamsV2Pkg(checkParamsV2);
-	call.GetCallParams(checkParamsV2Pkg);
-		
-	if(KErrNone != compareResult)	
-		{
-		ERR_PRINTF1(_L("RCall::GetCallParams did not return the same V2 params as that used for Dial"));
-		ASSERT_EQUALS(KErrNone, compareResult);
-		}
-		
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
- 	//-------------------------------------------------------------------------
-
-	TName incomingCallName;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
-    CloseIncomingCallL(call, callId, mobileService);
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "else if ( ( activeCall ) && ( KETelExt3rdPartyV1 == extensionId ) &&
-	//         ( KETelExt3rdPartyV1 != activeCall->GetExtensionId() ) )" condition
- 	//-------------------------------------------------------------------------
-
-	RMobileCall mobileCall;
-    mobileCallStatus = RMobileCall::EStatusConnected;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(mobileCall);
-   	errorCode = mobileCall.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsXX;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParamsXX(callParamsXX);
-	mobileCall.DialISV(requestStatus, pckgCallParamsXX, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus.Int());
-
-    call.Close();
-	AssertMockLtsyStatusL();
-    mobileCall.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "else" condition in case of 
-	// impossible of conditions "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )",
-	// "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )",
-	// "else if ( ( 0 < dialHandle ) || ( ( KETelExt3rdPartyV1 == extensionId )
-	// && ( 0 < dialHandleISV ) && !i3rdPartyEmergencyNumberCheckDone  ) )",
-	// "else if ( ( activeCall ) && ( KETelExt3rdPartyV1 == extensionId )
-	// && ( KETelExt3rdPartyV1 != activeCall->GetExtensionId() ) )" and
-	// "else if( extensionId == KETelExt3rdPartyV1 && 
-	// !i3rdPartyEmergencyNumberCheckDone )".
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-    mobileCallStatus = RMobileCall::EStatusConnected;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-	call2.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-    call.Close();
-	AssertMockLtsyStatusL();
-    call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	TRfStateInfo rfInfo = ERfsStateInfoInactive;
-	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
-	
-    expectData.Close();
-    mockData1.SerialiseL(expectData);
-    
-	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGsmOfflineOpNotAllowed, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0001b
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with minimal parameters (RCall::TCallParams)
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0001bL()
-    {
-    
-    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 expectedCallId = 0;
-
-    RMobileCall::TMobileCallParamsV7 callParams; 
-    RMobileCall::TMobileCallParamsV7Pckg    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
-
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expectedCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, 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.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    CleanupStack::PopAndDestroy(5,this);
-    
-    }
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0001c
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0001cL()
-    {
-    
-    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 expectedCallId = 0;
-    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
-    
-    // A. Call with V7 params.
-    // Fill the params with random values
-    RMobileCall::TMobileCallParamsV7 callParams;
-    RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
-    callParams.iAlphaId.Copy(_L("Alpha Id"));
-    callParams.iIconId.iQualifier = RMobileCall::ESelfExplanatory;
-    callParams.iIconId.iIdentifier = 0x0A;
-    callParams.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode;
-    callParams.iBearerCap2.Copy(_L("Cap2"));
-    callParams.iBearerCap1.Copy(_L("Cap1"));
-    callParams.iSubAddress.Copy(_L("SubAddress"));
-    callParams.iCallParamOrigin = RMobileCall::EOriginatorEtelClient;
-    callParams.iBearerMode = RMobileCall::EMulticallShareBearer;
-    callParams.iIdRestrict = RMobileCall::EDontSendMyId;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iCugIndex = 0xAABB;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = ETrue;
-    callParams.iAutoRedial = ETrue;
-    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlOnUntilCarrier; 
-    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeLow;
-    callParams.iInterval = 0;
-    callParams.iWaitForDialTone = RCall::EDialToneWait;
-    
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expectedCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, KErrNone, completeData);
-
-    call.Dial(requestStatus, pckgCallParams, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    // B. Call with V0 params. 
-    // The CTSY should send the default V7 values to the LTSY, and not the previous call parameters which are irrelevant.  
-    // Fill the params with other random values.
-    callParams.iAlphaId.Zero();
-    callParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet;
-    callParams.iIconId.iIdentifier = 0x00;
-    callParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
-    callParams.iBearerCap2.Zero();
-    callParams.iBearerCap1.Zero();
-    callParams.iSubAddress.Zero();
-    callParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown;
-    callParams.iBearerMode = RMobileCall::EMulticallNotSupported;
-    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = EFalse;
-    callParams.iAutoRedial = EFalse;
-    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOn; 
-    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
-    callParams.iInterval = 12;
-    callParams.iWaitForDialTone = RCall::EDialToneNoWait;
-    
-
-    RMobileCall::TCallParams callParams0;
-    callParams0.iSpeakerControl = callParams.iSpeakerControl; 
-    callParams0.iSpeakerVolume = callParams.iSpeakerVolume;
-    callParams0.iInterval = callParams.iInterval;
-    callParams0.iWaitForDialTone = callParams.iWaitForDialTone; 
-    RCall::TCallParamsPckg   pckgCallParams0(callParams0);
-
-    expectData.Close();
-    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
-        mockCallData2(1, mobileService, callParams, callInfo);
-    mockCallData2.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    
-    completeData.Close();
-    callInfoData.SerialiseL(completeData);
-    //Complete Mobile Call Info in order to set the call ID 
-    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
-    
-    completeData.Close();
-    mockDataComplete.SerialiseL(completeData);
-    // Complete the Dial
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-    call.Dial(requestStatus, pckgCallParams0, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    CleanupStack::PopAndDestroy(5,this);
-    
-    }
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Dial for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::Dial for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	RMobileCall::TMobileCallParamsV7 callParams;
-    callParams.iInterval = 100;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-    callParams.iWaitForDialTone = RCall::EDialToneWait;
-    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = EFalse;
-    callParams.iAutoRedial = EFalse;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	callInfo.iStatus    = RMobileCall::EStatusUnknown;
-	callInfo.iCallId    =-1;
-	callInfo.iExitCode  =0; 
-	callInfo.iEmergency =0;
-	callInfo.iForwarded =0; 
-	callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-	callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = ETrue;
-	TMockLtsyCallData2<TInt, TBool> mockCallData2(callId, mobileService, 
-												  hangUpCause, 
-												  autoStChangeDisable);
-
-	RCall::TCallParams callParamsX;
-	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX.iInterval        = 100;
-	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-
-   //-------------------------------------------------------------------------
-    // Test cancelling of RCall::Dial
-    // before than LTSY sends any completions
-    //-------------------------------------------------------------------------
-    
-    // open new call
-    CleanupClosePushL(call);
-    errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-       
-    call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-    call.CancelAsyncRequest(EEtelCallDial);
-    
-    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-    
-    RMobileCall::TMobileCallStatus  mobileCallStatus = RMobileCall::EStatusDialling; 
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus(callId, mobileService, mobileCallStatus);
-    completeData.Close();
-    mockCallDataStatus.SerialiseL(completeData);
-
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-
-    expectData.Close();
-    mockCallData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    
-    User::WaitForRequest(mockLtsyStatus);
-
-    // 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);
-    
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
-        
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-    call.Close();
-    AssertMockLtsyStatusL();
-    CleanupStack::PopAndDestroy(1);
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::Dial
- 	//-------------------------------------------------------------------------
- 	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-		
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	completeData.Close();
-	mockCallDataStatus.SerialiseL(completeData);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-
-	User::WaitForRequest(mockLtsyStatus);
-
-    expectData.Close();
-    mockCallData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-    // Cancelled Dial request. After this CTSY hangs up the call and it goes to idle state.
-    call.CancelAsyncRequest(EEtelCallDial);
-	completeData.Close();
-	mockCallDataStatus2.SerialiseL(completeData);
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
-		
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0003
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial with bad parameter data for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial with bad parameter data for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0003L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    TName name;
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	RMobileCall::TMobileCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test passing wrong version of parameters to
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	RMobileCall::TEtel3rdPartyMobileCallParamsV1 paramsV1;
-   	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgParamsV1(paramsV1);
-
-   	call.Dial(requestStatus, pckgParamsV1, KPhoneNumber);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrArgument, requestStatus.Int());
-
-	call.Close();
-	CleanupStack::PopAndDestroy(&call);
-
-	//-------------------------------------------------------------------------
-	// Test B: Test passing wrong descriptor size to parameter in
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-    _LIT8(KTempDesC8,"A");
-	TBuf8<1> tempDes(KTempDesC8);
-   	
-   	call.Dial(requestStatus, tempDes, KPhoneNumber);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrArgument, requestStatus.Int());
-
-	call.Close();
-	CleanupStack::PopAndDestroy(&call);
-
-	//-------------------------------------------------------------------------
-	// Test C: Test passing empty descriptor size to parameter in
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	TBuf8<1> nullDes(KNullDesC8);
-
-    // If aCallParams is empty it is handled as there are no call parameters
-    // and CTSY uses default values
-   	call.Dial(requestStatus, nullDes, KPhoneNumber);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	call.Close();
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(&call);
-	CleanupStack::PopAndDestroy(4); // completeData, expectData, line, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::Dial for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	RCall call2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-
-	// open new line1 and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName name;
-
-	_LIT(KPhoneNumber1, "101632960000");   	
-	_LIT(KPhoneNumber2, "654654864531");   	
-   	
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	RMobileCall::TMobileCallParamsV7 callParams1;
-	callParams1.iInterval = 100;
-	callParams1.iCug.iCugIndex = 0xFFFF;
-	callParams1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParams1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParams1.iWaitForDialTone = RCall::EDialToneWait;
-	callParams1.iIdRestrict = RMobileCall::EIdRestrictDefault;
-	callParams1.iCug.iExplicitInvoke = EFalse;
-	callParams1.iCug.iSuppressPrefCug = EFalse;
-	callParams1.iCug.iSuppressOA = EFalse;
-	callParams1.iAutoRedial = EFalse;
-	
-	RMobileCall::TMobileCallParamsV7 callParams2;
-	callParams2.iInterval = 200;
-	callParams2.iCug.iCugIndex = 0xFFFF;
-	callParams2.iSpeakerControl  = RCall::EMonitorSpeakerControlAlwaysOn;
-	callParams2.iSpeakerVolume   =RCall::EMonitorSpeakerVolumeMedium;
-	callParams2.iWaitForDialTone = RCall::EDialToneWait;
-	callParams2.iIdRestrict = RMobileCall::EIdRestrictDefault;
-	callParams2.iCug.iExplicitInvoke = EFalse;
-	callParams2.iCug.iSuppressPrefCug = EFalse;
-	callParams2.iCug.iSuppressOA = EFalse;
-	callParams2.iAutoRedial = EFalse;
-    
-    
-    
-	RMobileCall::TMobileCallInfoV8 callInfo1;
-	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-	callInfo1.iService = mobileService;
-	callInfo1.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	callInfo1.iStatus    = RMobileCall::EStatusUnknown;
-	callInfo1.iCallId    =-1;
-	callInfo1.iExitCode  =0; 
-	callInfo1.iEmergency =0;
-	callInfo1.iForwarded =0; 
-	callInfo1.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-	callInfo1.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-
-
-	RMobileCall::TMobileCallInfoV8 callInfo2;
-	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
-	callInfo2.iService = mobileService;
-	callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	callInfo2.iStatus    = RMobileCall::EStatusUnknown;
-	callInfo2.iCallId    =-1;
-	callInfo2.iExitCode  =0; 
-	callInfo2.iEmergency =0;
-	callInfo2.iForwarded =0; 
-	callInfo2.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
-	callInfo2.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
-
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockData21(0, mobileService, callParams1, callInfo1);
-
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockData22(0, mobileService, callParams2, callInfo2);
-
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	TMockLtsyCallData0 mockData02(callId2, mobileService);
-
-	RCall::TCallParams callParamsX1;
-	TPckg<RCall::TCallParams> pckgCallParamsX1(callParamsX1);
-	callParamsX1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX1.iInterval        = 100;
-	callParamsX1.iWaitForDialTone = RCall::EDialToneWait;
-
-	RCall::TCallParams callParamsX2;
-	TPckg<RCall::TCallParams> pckgCallParamsX2(callParamsX2);
-	callParamsX2.iSpeakerControl  = RCall::EMonitorSpeakerControlAlwaysOn;
-	callParamsX2.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeMedium;
-	callParamsX2.iInterval        = 200;
-	callParamsX2.iWaitForDialTone = RCall::EDialToneNoWait;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    call1.Dial(requestStatus1, pckgCallParamsX1, KPhoneNumber1);
-    User::After(1000);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgCallParamsX2, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	RMobileCall::TMobileCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	RCall::TCallParams callParamsX;
-	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX.iInterval        = 100;
-	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::Dial
- 	//-------------------------------------------------------------------------
- 	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-    
-   	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006
-@SYMDEF DEF127552
-@SYMREQ	7745
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-
-N.B. As the test case BA-CTSY-CCON-CD-0006 has a very long running time, it is split into sub-test cases.
-The rationale for that is as following: When the call duration of a test case exceeds 10sec, CTYS sends
-a life time update to LTSY. If a test case duration is at the border of ~10sec, the life time update
-notification is completed depending on the speed of working environment. It varies machine to machine 
-or board to board. Therefore, BA-CTSY-CCON-CD-0006 is divided into smaller parts where each part takes
-far less than 10sec.
-*/
-void CCTsyCallControlFU::TestDial0006L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-			
-	RMobileCall::TMobileDataCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParams.iCug.iExplicitInvoke = EFalse;
-    callParams.iCug.iSuppressPrefCug = EFalse;
-    callParams.iCug.iSuppressOA = EFalse;
-    callParams.iAutoRedial = EFalse;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
-	
-	RCall::TCallParams callParamsX;
-	
-	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX.iInterval        = 100;
-	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-	
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::Dial when result is not cached.
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-    // we are dialing the call:
-    call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-  	call.Close();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST D (Reloaded): Successful completion request of
-	// RCall::Dial with TCallParams when result is not cached.
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileDataCallParamsV8 callParamsDefault;
-    callParamsDefault.iInterval = 4;
-    callParamsDefault.iCug.iCugIndex = 0xFFFF;
-    callParamsDefault.iIdRestrict = RMobileCall::EIdRestrictDefault;
-    callParamsDefault.iCug.iExplicitInvoke = EFalse;
-    callParamsDefault.iCug.iSuppressPrefCug = EFalse;
-    callParamsDefault.iCug.iSuppressOA = EFalse;
-    callParamsDefault.iAutoRedial = EFalse;
-       
-    TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-    mockData3(0, mobileService, callParamsDefault, callInfo);
-    
-    expectData.Close();
-	mockData3.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX); // passing TCallParams
-	
-    // we are dialing the call:
-    call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-  	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006b
-@SYMDEF DEF127552
-@SYMREQ	7745
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006bL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-			
-	RMobileCall::TMobileDataCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
-	
-	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::Dial
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmDataCallTsy::Dial coverage
-	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
- 	//-------------------------------------------------------------------------
-
-	TName incomingCallName;
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// close incoming call
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = EFalse;
-	RMobilePhone::TMobileService mobileServiceX = RMobilePhone::ECircuitDataService;
-    TMockLtsyCallData2<TInt, TBool> mockData2x(callId, mobileServiceX, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();
-    mockData2x.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmDataCallTsy::Dial coverage
-	// covers "else" condition in case of impossible of conditions
-	// "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )",
-	// "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" and
-	// "else if ( 0 < dialHandle )"
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusDisconnectingWithInband;
-    TInt callId3 = 3;
-    TName incomingCallName3;
-    
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId3, incomingCallName3, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusDisconnecting;
-    TInt callId2 = 2;
-    TName incomingCallName2;
-    
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId2, incomingCallName2, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusRinging;
-    //-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-   
-  	// open new call
- 	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrEtelCallAlreadyActive, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-      	
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmDataCallTsy::Dial coverage
-	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	TRfStateInfo rfInfo = ERfsStateInfoInactive;
-	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
-    expectData.Close();
-    mockData1.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	rfInfo = (TRfStateInfo) 0;
-	TMockLtsyData1<TRfStateInfo> mockDataRf(rfInfo);
-	expectData.Close();
-	mockDataRf.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());		 
-			 		 
-	// call CMmVoiceCallTsy::CompleteNotifyStatusChange for setting 
-	// iMobileCallStatus = RMobileCall::EStatusIdle.
-	RMobileCall::TMobileCallStatus mobileCallSt = RMobileCall::EStatusIdle; 
-	TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallSt);
-	completeData.Close();
-	mockCallDataStatus2.SerialiseL(completeData);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-		
-	User::WaitForRequest(mockLtsyStatus);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
-	//-------------------------------------------------------------------------
-	// Tests for TMobileDataCallParamsV2
-	
-	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
-	dataCallParams2.iInterval = 4;
-	dataCallParams2.iCug.iCugIndex = 0xFFFF;
-	dataCallParams2.iQoS = RMobileCall::EQosTransparentPreferred;
-	dataCallParams2.iBearerMode = RMobileCall::EMulticallShareBearer;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockDataCallParams2(0, mobileService, dataCallParams2, callInfo);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
-
- 	//-------------------------------------------------------------------------
-	// TEST A2: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-   // expectData.Close();
-    mockDataCallParams2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B2: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C2: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	// we are dialing the call:
-    call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
-    
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-	
-    // completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-     
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-  
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-// Returns sample call information variable
-void GetCallInformation8(RMobileCall::TMobileCallInfoV8& aCallInformation, const TDesC& aPhoneNumber, RMobilePhone::TMobileService aMobileService)
-	{
-	aCallInformation.iDialledParty.iTelNumber.Copy(aPhoneNumber);
-	aCallInformation.iService = aMobileService;
-	aCallInformation.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	aCallInformation.iAlphaId.Copy(_L("Alpha Id"));
-	aCallInformation.iValid |= RMobileCall::KCallAlphaId;
-	aCallInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;;
-	aCallInformation.iValid |= RMobileCall::KCallParamOrigin;
-	}
-
-// Returns sample call params variable
-void GetCallParams8(RMobileCall::TMobileDataCallParamsV8& aDataCallParams)
-	{
-	aDataCallParams.iInterval = 4;
-	aDataCallParams.iCug.iCugIndex = 0xFFFF;
-	aDataCallParams.iQoS = RMobileCall::EQosTransparentPreferred;
-	aDataCallParams.iBearerMode = RMobileCall::EMulticallShareBearer;
-	aDataCallParams.iSubAddress.Copy(_L("An Unknown SubAddress"));
-	aDataCallParams.iAlphaId.Copy(_L("Alpha Id"));
-	aDataCallParams.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006c
-@SYMDEF DEF127552
-@SYMREQ	7745
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006cL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-		
-	TInt errorCode = KErrNone;
-	TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-		
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "135468456456");   	
-	   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    
-	//-------------------------------------------------------------------------
-	// Tests for TMobileDataCallParamsV8
-	
-	RMobileCall::TMobileCallInfoV8 callInformation;
-	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
-	
-	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
-	GetCallParams8(dataCallParams8);
-		
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockDataCallParams8(0, mobileService, dataCallParams8, callInformation);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
-
- 	//-------------------------------------------------------------------------
-	// TEST A3: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B3: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C3: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	// we are dialing the call:
-    call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-	call.Close();
-	CleanupStack::PopAndDestroy(1); // call
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006d
-@SYMDEF DEF127552
-@SYMREQ	7745
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006dL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-			
-	TInt errorCode = KErrNone;
-	TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-			
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-	_LIT(KPhoneNumber, "135468456456"); 
-	
-	TInt callId = 1;
-	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	RMobileCall::TMobileCallInfoV8 callInformation;
-	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
-	
-	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
-	GetCallParams8(dataCallParams8);
-			
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-			mockDataCallParams8(0, mobileService, dataCallParams8, callInformation);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
-	
-	//-------------------------------------------------------------------------
-	// Tests for default parameters
-	
- 	//-------------------------------------------------------------------------
-	// TEST A4: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B4: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C4: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-    mockDataCallParams8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-	
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	// we are dialing the call:
-    call.Dial(requestStatus, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-	call.Close();
-	CleanupStack::PopAndDestroy(1); // call
-	
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006e
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0006
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006eL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-			
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	//-------------------------------------------------------------------------
-	// Test: Test passing RMobileCall::TMobileHscsdCallParamsV1 to
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams;
-
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdData(0, mobileService, hscsdCallParams, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdParams1(hscsdCallParams);
-
-	//-------------------------------------------------------------------------
-	// TEST A4: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockHscsdData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B4: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C4: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-	
-	// open new call   	
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	// we are dialing the call:
-    call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006f
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0006
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006fL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "135468456456");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    
-    RMobileCall::TMobileCallInfoV8 callInfo;
-    callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-    callInfo.iService = mobileService;
-    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-    	
-	//-------------------------------------------------------------------------
-    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV2 to
-	// RCall::Dial
-	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
-
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdData2(0, mobileService, hscsdCallParams2, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdParams2(hscsdCallParams2);
-
-	//-------------------------------------------------------------------------
-	// TEST A5: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockHscsdData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B5: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C5: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-
-	// open new call   	
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(line, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-    // we are dialing the call:
-    call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006g
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams.It is in connection to BA-CTSY-CCON-CD-0006
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006gL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	//-------------------------------------------------------------------------
-    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV7 to
-	// RCall::Dial
-	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
-	
-	// TMobileHscsdCallParamsV7 params for Dial
-    hscsdCallParams7.iInterval = 4;
-    hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
-    hscsdCallParams7.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
-    hscsdCallParams7.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
-    hscsdCallParams7.iWaitForDialTone = RCall::EDialToneWait;
-    hscsdCallParams7.iQoS = RMobileCall::EQosTransparentPreferred;
-    hscsdCallParams7.iV42bisReq = RMobileCall::EV42bisTxDirection;
-    hscsdCallParams7.iWantedRxTimeSlots = 2; 
-    hscsdCallParams7.iCodings = 3;
-    hscsdCallParams7.iBearerMode = RMobileCall::EMulticallShareBearer;
-    hscsdCallParams7.iAlphaId.Copy(_L("Alpha Id"));
-    hscsdCallParams7.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    
-	RMobileCall::TMobileCallInfoV8 callInformation;
-	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
-
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdData7(0, mobileService, hscsdCallParams7, callInformation);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdParams7(hscsdCallParams7);
-
-	//-------------------------------------------------------------------------
-	// TEST A6: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockHscsdData7.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B6: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData7.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C6: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-
-	// open new call   	
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(line, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData7.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-    // we are dialing the call:
-    call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
-	
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-    
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006h
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams.It is in connection to BA-CTSY-CCON-CD-0006
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006hL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-	_LIT(KPhoneNumber, "135468456456");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	//-------------------------------------------------------------------------
-    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV8 to
-	// RCall::Dial
-	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
-	
-	// TMobileHscsdCallParamsV8 params for Dial
-    hscsdCallParams8.iInterval = 2;
-    hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
-    hscsdCallParams8.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
-    hscsdCallParams8.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
-    hscsdCallParams8.iWaitForDialTone = RCall::EDialToneWait;
-    hscsdCallParams8.iQoS = RMobileCall::EQosTransparentPreferred;
-    hscsdCallParams8.iV42bisReq = RMobileCall::EV42bisTxDirection;
-    hscsdCallParams8.iWantedRxTimeSlots = 2; 
-    hscsdCallParams8.iCodings = 3;
-    hscsdCallParams8.iBearerMode = RMobileCall::EMulticallShareBearer;
-    hscsdCallParams8.iAlphaId.Copy(_L("Alpha Id"));
-    hscsdCallParams8.iSubAddress.Copy(_L("An Unknown SubAddress"));
-    hscsdCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-
-	RMobileCall::TMobileCallInfoV8 callInformation;
-	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
-	
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdData8(0, mobileService, hscsdCallParams8, callInformation);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdParams8(hscsdCallParams8);
-
-	//-------------------------------------------------------------------------
-	// TEST A7: failure to dispatch request to LTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockHscsdData8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
-
-	call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST B7: failure on completion of pending request from LTSY->CTSY 
- 	//-------------------------------------------------------------------------
-	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
-
-	call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-------------------------------------------------------------------------
-	// TEST C6: Successful completion request of
-	// RCall::Dial when result is not cached
- 	//-------------------------------------------------------------------------
-	
-	// open new call   	
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(line, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdData8.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-	// we are dialing the call:
-    call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
-		
-    CompleteDialStatusNotificationsL(call, callId, mobileService );
-    
-	// completion of the Dial() request:
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-      
-    CompleteCallDisconnectNotificationsL(callId, mobileService);
-	
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0006i
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with minimal parameters (RCall::TCallParams)
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0006iL()
-    {
-    
-    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 expectedCallId = 0;
-
-    RMobileCall::TMobileDataCallParamsV8 callParams; 
-    RMobileCall::TMobileDataCallParamsV8Pckg    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
-    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
-    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
-
-    TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
-    mockCallData(expectedCallId, mobileService, callParams, callInfo);
-    mockCallData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, 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.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
-        
-    User::WaitForRequest(requestStatus);          
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();   
-    
-    CleanupStack::PopAndDestroy(5,this);
-    
-    }
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Dial for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0007L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-	TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "135468456456");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
-	RMobileCall::TMobileDataCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	
-    RMobileCall::TMobileCallStatus  mobileCallStatus2 = RMobileCall::EStatusIdle; 
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallStatus2);
-    completeData.Close();
-    mockCallDataStatus2.SerialiseL(completeData);
-		
-	
-    // Call Specific data
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
-	
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-	
-    DialDataCallAndCancelL(line,pckgMockParams1,expectData,completeData);
-	
-	//------------------------------------------------------------------
-	// TMobileDataCallParamsV2
-	
-	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
-    dataCallParams2.iInterval = 4;
-    dataCallParams2.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockDataCall2(0, mobileService, dataCallParams2, callInfo);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
-	
-    expectData.Close();
-    mockDataCall2.SerialiseL(expectData);
-    
-    DialDataCallAndCancelL(line,pckgMockDataCallParams2,expectData,completeData);
-	
-	//------------------------------------------------------------------
-	// TMobileDataCallParamsV8
-	
-	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
-    dataCallParams8.iInterval = 4;
-    dataCallParams8.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockDataCall8(0, mobileService, dataCallParams8, callInfo);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
-	
-    expectData.Close();
-    mockDataCall8.SerialiseL(expectData);
-
-    DialDataCallAndCancelL(line,pckgMockDataCallParams8,expectData,completeData);
-    
-	//------------------------------------------------------------------
-	// TMobileHscsdCallParamsV1
-		
-	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams;
-	hscsdCallParams.iInterval = 4;
-	hscsdCallParams.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall(0, mobileService, hscsdCallParams, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdCallParams(hscsdCallParams);
-	
-    expectData.Close();
-    mockHscsdCall.SerialiseL(expectData);
-
-    DialDataCallAndCancelL(line,pckgMockHscsdCallParams,expectData,completeData);
-	
-	//------------------------------------------------------------------
-	// TMobileHscsdCallParamsV2
-		
-	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
-	hscsdCallParams2.iInterval = 4;
-	hscsdCallParams2.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall2(0, mobileService, hscsdCallParams2, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdCallParams2(hscsdCallParams2);
-	
-    expectData.Close();
-    mockHscsdCall2.SerialiseL(expectData);
-
-    DialDataCallAndCancelL(line,pckgMockHscsdCallParams2,expectData,completeData);
-	
-	//------------------------------------------------------------------
-	// TMobileHscsdCallParamsV7
-		
-	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
-	hscsdCallParams7.iInterval = 4;
-	hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall7(0, mobileService, hscsdCallParams7, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdCallParams7(hscsdCallParams7);
-	
-    expectData.Close();
-    mockHscsdCall7.SerialiseL(expectData);
-    
-    DialDataCallAndCancelL(line,pckgMockHscsdCallParams7,expectData,completeData);
-	
-		
-	//------------------------------------------------------------------
-	// TMobileHscsdCallParamsV8
-		
-	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
-	hscsdCallParams8.iInterval = 4;
-	hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall8(0, mobileService, hscsdCallParams8, callInfo);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdCallParams8(hscsdCallParams8);
-	
-    expectData.Close();
-    mockHscsdCall8.SerialiseL(expectData);
-
-    DialDataCallAndCancelL(line,pckgMockHscsdCallParams8,expectData,completeData);
-	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
-	}
-
-void
-CCTsyCallControlFU::DialDataCallAndCancelL(RLine& aLine,const TDesC8& aCallData,RBuf8& expectData,RBuf8& completeData)
-	{
-	// open new call
-	
-	TInt errorCode = KErrNone;
-	TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-	_LIT(KPhoneNumber, "135468456456");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-	
-	TName  name; 
-	RCall call;
-	CleanupClosePushL(call);
-	errorCode = call.OpenNewCall(aLine, name);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-	call.Dial(requestStatus, aCallData, KPhoneNumber);
-
-	User::WaitForRequest(mockLtsyStatus);
-
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = EFalse;
-	TMockLtsyCallData2<TInt, TBool> mockHangupData(callId, mobileService, 
-                                       hangUpCause, 
-                                       autoStChangeDisable);
-	expectData.Close();
-	mockHangupData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	call.CancelAsyncRequest(EEtelCallDial);
-
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
-      
-	User::WaitForRequest(requestStatus);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	}
-
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0008
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial with bad parameter data for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial with bad parameter data for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0008L()
-	{
-
-// This test should test sending bad parameter data for Dial
-// If this API does not have any parameters, then remove this test completely.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-	
-	TInt8 callParams;    // bad param
-	TPckg<TInt8> paramPckg(callParams);
-	
-	//-------------------------------------------------------------------------
-	// Test A: Test passing wrong version of parameters to
-	// RCall::Dial
- 	//-------------------------------------------------------------------------
-	
-	// open new call   	
-	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-		
-	call.Dial(requestStatus, paramPckg, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrArgument, requestStatus.Int());
-	
-	call.Close();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0009L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	RCall call2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-
-	// open new line1 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber1, "101632960000");   	
-	_LIT(KPhoneNumber2, "654654864531");   	
-   	
-	TInt callId1 = 1;
-	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
-	RMobileCall::TMobileDataCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo1;
-	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-	callInfo1.iService = mobileService;
-	callInfo1.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
-
-	RMobileCall::TMobileCallInfoV8 callInfo2;
-	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
-	callInfo2.iService = mobileService;
-	callInfo2.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockData21(0, mobileService, callParams, callInfo1);
-
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	
-	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockParams1, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockParams1, KPhoneNumber2);
-   	
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-   
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-        
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	//-----------------------------------------------------------------------
-	// TMobileDataCallParamsV2
-	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
-    dataCallParams2.iInterval = 4;
-    dataCallParams2.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockDataCall21(0, mobileService, dataCallParams2, callInfo1);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
-
-	//-------------------------------------------------------------------------
-	// Test A2: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockDataCall21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockDataCallParams2, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockDataCallParams2, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-----------------------------------------------------------------------
-	// TMobileDataCallParamsV8
-	
-	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
-	dataCallParams8.iInterval = 2;
-    dataCallParams8.iCug.iCugIndex = 0xFFFF;
-    dataCallParams8.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
-    dataCallParams8.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
-    dataCallParams8.iWaitForDialTone = RCall::EDialToneWait;
-    dataCallParams8.iQoS = RMobileCall::EQosTransparentPreferred;
-    dataCallParams8.iV42bisReq = RMobileCall::EV42bisTxDirection;
-    dataCallParams8.iBearerMode = RMobileCall::EMulticallShareBearer;
-    dataCallParams8.iSubAddress.Copy(_L("An Unknown SubAddress"));
-    dataCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    dataCallParams8.iAlphaId.Copy(_L("Alpha Id"));
-    
-    RMobileCall::TMobileCallInfoV8 callInformation;
-    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-    callInformation.iService = mobileService;
-    callInformation.iValid |= RMobileCall::KCallDialledParty;
-    callInformation.iValid |= RMobileCall::KCallAlternating;
-    callInformation.iAlphaId.Copy(_L("Alpha Id"));
-    callInformation.iValid |= RMobileCall::KCallAlphaId;
-    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    callInformation.iValid |= RMobileCall::KCallParamOrigin;
-
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockDataCall81(0, mobileService, dataCallParams8, callInformation);
-
-	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
-
-	//-------------------------------------------------------------------------
-	// Test A3: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockDataCall81.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-    
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockDataCallParams8, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockDataCallParams8, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-		
-	// Done !
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0009b
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0009 
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0009bL()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	RCall call2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-
-	// open new line1 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber1, "101632960000");   	
-	_LIT(KPhoneNumber2, "654654864531");   	
-   	
-	TInt callId1 = 1;
-	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
-	RMobileCall::TMobileCallInfoV8 callInfo1;
-	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-	callInfo1.iService = mobileService;
-	callInfo1.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
-
-	RMobileCall::TMobileCallInfoV8 callInfo2;
-	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
-	callInfo2.iService = mobileService;
-	callInfo2.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
-	
-	//-----------------------------------------------------------------------
-	// TMobileHscsdCallParamsV1
-	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams1;
-	hscsdCallParams1.iInterval = 4;
-	hscsdCallParams1.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall11(0, mobileService, hscsdCallParams1, callInfo1);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdCallParams1(hscsdCallParams1);
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	//-------------------------------------------------------------------------
-	// Test A4: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdCall11.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockHscsdCallParams1, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockHscsdCallParams1, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-----------------------------------------------------------------------
-	// TMobileHscsdCallParamsV2
-	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
-	hscsdCallParams2.iInterval = 4;
-	hscsdCallParams2.iCug.iCugIndex = 0xFFFF;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall21(0, mobileService, hscsdCallParams2, callInfo1);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdCallParams2(hscsdCallParams2);
-
-	//-------------------------------------------------------------------------
-	// Test A5: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdCall21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockHscsdCallParams2, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockHscsdCallParams2, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-----------------------------------------------------------------------
-	// TMobileHscsdCallParamsV7
-	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
-	hscsdCallParams7.iInterval = 4;
-	hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
-	hscsdCallParams7.iAlphaId.Copy(_L("Alpha Id"));
-    hscsdCallParams7.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    
-    RMobileCall::TMobileCallInfoV8 callInformation;
-    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-    callInformation.iService = mobileService;
-    callInformation.iValid |= RMobileCall::KCallDialledParty;
-    callInformation.iValid |= RMobileCall::KCallAlternating;
-    callInformation.iAlphaId.Copy(_L("Alpha Id"));
-    callInformation.iValid |= RMobileCall::KCallAlphaId;
-    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    callInformation.iValid |= RMobileCall::KCallParamOrigin;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall71(0, mobileService, hscsdCallParams7, callInformation);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdCallParams7(hscsdCallParams7);
-
-	//-------------------------------------------------------------------------
-	// Test A6: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdCall71.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	call1.Dial(requestStatus1, pckgMockHscsdCallParams7, KPhoneNumber1);
-
-	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockHscsdCallParams7, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	// Done !
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-0009c
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParamsV8. It is in connection to Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParamsV8. It is in connection to BA-CTSY-CCON-CD-0009b
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial0009cL()
-	{
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RCall call1;
-	RCall call2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-
-	// open new line1 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber1, "101632960000");   	
-	_LIT(KPhoneNumber2, "654654864531");   	
-   	
-	TInt callId1 = 1;
-	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
-	RMobileCall::TMobileCallInfoV8 callInformation;
-    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
-    callInformation.iService = mobileService;
-    callInformation.iValid |= RMobileCall::KCallDialledParty;
-    callInformation.iValid |= RMobileCall::KCallAlternating;
-    callInformation.iAlphaId.Copy(_L("Alpha Id"));
-    callInformation.iValid |= RMobileCall::KCallAlphaId;
-    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    callInformation.iValid |= RMobileCall::KCallParamOrigin;
-
-		//-----------------------------------------------------------------------
-	// TMobileHscsdCallParamsV8
-	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
-	hscsdCallParams8.iInterval = 4;
-	hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
-	hscsdCallParams8.iAlphaId.Copy(_L("Alpha Id"));
-	hscsdCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
-    
-	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
-		mockHscsdCall81(0, mobileService, hscsdCallParams8, callInformation);
-
-	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdCallParams8(hscsdCallParams8);
-
-	//-------------------------------------------------------------------------
-	// Test A7: Test multiple clients requesting RCall::Dial
- 	//-------------------------------------------------------------------------
-
-	// call first clinet
-	// open new call1
-   	CleanupClosePushL(call1);
-   	errorCode = call1.OpenNewCall(line1, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockHscsdCall81.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
-    call1.Dial(requestStatus1, pckgMockHscsdCallParams8, KPhoneNumber1);
-    
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-    mockData01.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-   	
-   	// call second clinet
-	// open new call
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line2, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-   	call2.Dial(requestStatus2, pckgMockHscsdCallParams8, KPhoneNumber2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call1.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	// Done !
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-00010
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial with timeout for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial and tests for timeout for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial00010L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
-	RMobileCall::TMobileDataCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::Dial
- 	//-------------------------------------------------------------------------
- 	
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallDial, expectData);
-    
-    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-
-   	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CD-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::Dial for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::Dial for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDial00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName name;
-
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-			
-	RMobileCall::TMobileCallParamsV1 callParams;
-    callParams.iInterval = 4;
-    callParams.iCug.iCugIndex = 0xFFFF;
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	TPckg<RMobileCall::TMobileCallParamsV1> pckgMockParams1(callParams);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::Dial
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmFaxCallTsy::Dial coverage
-	// covers "if( call->GetDialFlag() )" condition
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new call
-	RCall call2;
-   	CleanupClosePushL(call2);
-   	errorCode = call2.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
-
-	call2.Dial(requestStatus2, pckgMockParams1, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	call2.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmFaxCallTsy::Dial coverage
-	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	TRfStateInfo rfInfo = ERfsStateInfoInactive;
-	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
-    expectData.Close();
-    mockData1.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	RCall::TCallParams callParamsX;
-	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
-	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callParamsX.iInterval        = 100;
-	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
-	
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGsmOfflineOpNotAllowed, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmFaxCallTsy::Dial coverage
-	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
- 	//-------------------------------------------------------------------------
-
-	TName incomingCallName;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	rfInfo = ERfsStateInfoNormal;
-	TMockLtsyData1<TRfStateInfo> mockData1X(rfInfo);
-    expectData.Close();
-    mockData1X.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// close incoming call
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = EFalse;
-	RMobilePhone::TMobileService mobileServiceX = RMobilePhone::EFaxService;
-    TMockLtsyCallData2<TInt, TBool> mockData2x(callId, mobileServiceX, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();
-    mockData2x.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-	TInt callId2 = 2;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	TMockLtsyCallData0 mockData1(callId2, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // call
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::HangUp when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	CleanupStack::PopAndDestroy(1); // call
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::HangUp
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    completeData.Close();
-    mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( 0 < hangUpHandle || iHangUpFlag )" condition
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-	CleanupClosePushL(call2);
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-	call.HangUp(requestStatus);
-
-	call2.HangUp(requestStatus2);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	// close incoming call
-	call.Close();
-	AssertMockLtsyStatusL();
-
-	// close incoming call2
- 	CloseIncomingCallL(call2, callId, mobileService);
-	CleanupStack::PopAndDestroy(1); // call2
-	
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( ( NULL != callList->GetMmCallByStatus(
-	//                RMobileCall::EStatusConnected ) ) &&
-	//              ( NULL != callList->GetMmCallByStatus(
-	//                RMobileCall::EStatusHold ) ) &&
-	//              ( NULL != callList->GetMmCallByStatus(
-	//                RMobileCall::EStatusRinging ) ) )" condition
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusConnected;
-    callId = 3;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusRinging;
-    callId = 2;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusHold;
-    callId = 1;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	callId = 2;
-	hangUpCause = KErrGsmBusyUserRequest;
-	autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2xx(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    expectData.Close();
-    mockData2xx.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData1.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-	call.HangUp(requestStatus);
-	
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
-	// close incoming call for RMobileCall::EStatusRinging
-    callId = 2;
- 	CloseIncomingCallL(call, callId, mobileService);
-
-	// open call for RMobileCall::EStatusHold
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	// close incoming call for RMobileCall::EStatusHold
-    callId = 1;
- 	CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-	callId = 1;
-	mobileCallStatus = RMobileCall::EStatusRinging;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	hangUpCause = KErrGsmBusyUserRequest;
-	autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2xxx(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-
-    expectData.Close();
-    mockData2xxx.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // call
-
-	//
-	// Added for DEF139341 (Unexpected error note pops up after creating emergency call)
-	// Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
-	// (the client request should complete with KErrNone).
-	//
-	
-	//-------------------------------------------------------------------------
-    // create new incoming call
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-                                   mobileService, mobileCallStatus);    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-
-    hangUpCause = KErrGsmBusyUserRequest;
-    autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData3xxx(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-
-    expectData.Close();
-    mockData3xxx.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-    completeData.Close();
-    mockData0.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
-
-    call.HangUp(requestStatus);
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-    // close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-    AssertMockLtsyStatusL();
-    CleanupStack::PopAndDestroy(1); // call
-	//
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::HangUp for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::HangUp
- 	//-------------------------------------------------------------------------
- 	
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call.HangUp(requestStatus);
-	
-    call.CancelAsyncRequest(EEtelCallHangUp);
-	
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
- 	
-	User::WaitForRequest(mockLtsyStatus);
- 	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::HangUp for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RCall call1;
-	RCall call2;
-	RLine line1;
-	RLine line2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-	
-	// open new line1
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-    
-	TName incomingCallName1;
-	TName incomingCallName2;
-	   	
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	TMockLtsyCallData0 mockData02(callId2, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::HangUp
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call1);
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call2);
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	mockData01.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call1.HangUp(requestStatus1);
-
-    expectData.Close();
-    mockData22.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData02.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call2.HangUp(requestStatus2);
-	
-	User::WaitForRequest(requestStatus1);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-	
-	// close incoming call1
- 	CloseIncomingCallL(call1, callId1, mobileService);
-	AssertMockLtsyStatusL();
-
-	// close incoming call2
- 	CloseIncomingCallL(call2, callId2, mobileService);
-	AssertMockLtsyStatusL();
-	
-	CleanupStack::PopAndDestroy(2); // call1, call2
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::HangUp
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-    TTime t1,t2; //time stamps for measuring the Time Out
-  
-    
-    t1.HomeTime(); // time stamp before request
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	t2.HomeTime(); // timestamp after request
-	
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-	TTimeIntervalSeconds diff;
-	TInt res = t2.SecondsFrom(t1,diff);
-	ASSERT_EQUALS(KErrNone, res);
-	if(diff.Int() < KMmCallHangUpTimeOut)
-	{
-        ERR_PRINTF3(_L("RCall::Hangup time out too short. Expected: %d Actual: %d "),KMmCallHangUpTimeOut, diff.Int());
-        ASSERT(false);
-	}
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-		
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::HangUp when result is not cached.
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::HangUp
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    completeData.Close();
-    mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( 0 < hangUpHandle || iHangUpFlag )" condition
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-	CleanupClosePushL(call2);
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-	call.HangUp(requestStatus);
-
-	call2.HangUp(requestStatus2);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	// close incoming call2
-	call2.Close();
- 	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "else if ( RCall::EStatusIdle == iCallStatus &&
-	//                   EMultimodeCallReqHandleUnknown == dialHandle )" condition
- 	//-------------------------------------------------------------------------
-
-	TInt  callId2 = 2;
-	mobileCallStatus = RMobileCall::EStatusIdle;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId2, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	call2.HangUp(requestStatus);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
-	// close incoming call2
-	call2.Close();
- 	AssertMockLtsyStatusL();
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	
-	
-	//
-    // Added for DEF139341 (Unexpected error note pops up after creating emergency call)
-    // Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
-    // (the client request should complete with KErrNone).
-    //
-    
-    //-------------------------------------------------------------------------
-    // create new incoming call
-    TInt callId3 = 3;
-    mobileCallStatus = RMobileCall::EStatusRinging;
-    errorCode = CreateIncomingCallL(line, callId3, incomingCallName, 
-                                   mobileService, mobileCallStatus);    
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-    RCall call3;
-    CleanupClosePushL(call3);
-    errorCode = call3.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-
-    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    
-    TMockLtsyCallData0 mockData03(callId3, mobileService);
-    
-    expectData.Close();
-    mockData23.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    completeData.Close();
-    mockData03.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
-    
-    call3.HangUp(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	//
-    
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(6, this); // call3, call, line, completeData, expectData, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::HangUp for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0007L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::HangUp
- 	//-------------------------------------------------------------------------
- 	
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	call.HangUp(requestStatus);
-	
-	// cancel hang-up
-    // TSY has started a HangUp request and it is not possible to cancel this request
-    call.CancelAsyncRequest(EEtelCallHangUp);
-	
-	// CTSY hangs up the call and it goes to idle state
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
-    mockCallData2.SerialiseL(completeData);
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmBusyUserRequest, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	AssertMockLtsyStatusL();
-
-	CleanupStack::PopAndDestroy(5, this); // call, line, expectData, completeData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::HangUp for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp0009L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	// Open third client
-	RTelServer telServer3;
-	ret = telServer3.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer3);
-
-	RMobilePhone phone3;
-	ret = phone3.Open(iTelServer,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone3);
-
-	RCall call1;
-	RCall call2;
-	RCall call3;
-	RLine line1;
-	RLine line2;
-	RLine line3;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-    TRequestStatus requestStatus3;
-	
-	// open new line1
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line3
-	errorCode = OpenNewLineLC(phone3, line3, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName1;
-	TName incomingCallName2;
-	TName incomingCallName3;
-	   	
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-	TInt callId3 = 3;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	TMockLtsyCallData0 mockData02(callId2, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::HangUp
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call1);
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call2);
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call3
-	
-	mobileCallStatus = RMobileCall::EStatusConnected;
-	errorCode = CreateIncomingCallL(line3, callId3, incomingCallName3, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call3);
-    errorCode = call3.OpenExistingCall(line3, incomingCallName3);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	mockData01.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call1.HangUp(requestStatus1);
-
-    expectData.Close();
-    mockData22.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData02.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call2.HangUp(requestStatus2);
-
-	hangUpCause = KErrGsmReleaseByUser;	                                              
-    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	TMockLtsyCallData0 mockData03(callId3, mobileService);
-
-    expectData.Close();
-    mockData23.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData03.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call3.HangUp(requestStatus3);
-	
-	User::WaitForRequest(requestStatus1);
-	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-	User::WaitForRequest(requestStatus2);
-	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	User::WaitForRequest(requestStatus3);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus3.Int());
-	
-	CleanupStack::PopAndDestroy(3); // call1, call2, call3
-	CleanupStack::PopAndDestroy(10, this); // phone2, telServer2, phone3, telServer3, 
-	                                      // expectData, completeData, this
-	                                      // line1, line2, line3
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00010
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp and tests for timeout for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00010L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::HangUp
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100303);
-	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-	CleanupClosePushL(call);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RCall::HangUp when result is not cached.
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::HangUp
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    completeData.Close();
-    mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( 0 < hangUpHandle )" condition
- 	//-------------------------------------------------------------------------
-
-	RCall call2;
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-	CleanupClosePushL(call2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-	call.HangUp(requestStatus);
-
-	call2.HangUp(requestStatus2);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	User::WaitForRequest(requestStatus2);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	// close incoming call2
-	call2.Close();
- 	AssertMockLtsyStatusL();	
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());	
-
-	
-	//
-    // Added for DEF139341 (Unexpected error note pops up after creating emergency call)
-    // Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
-    // (the client request should complete with KErrNone).
-    //
-    
-    //-------------------------------------------------------------------------
-    // create new incoming call
-    TInt callId3 = 3;
-    mobileCallStatus = RMobileCall::EStatusRinging;
-    errorCode = CreateIncomingCallL(line, callId3, incomingCallName, 
-                                   mobileService, mobileCallStatus);    
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-    RCall call3;
-    CleanupClosePushL(call3);
-    errorCode = call3.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-
-    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    
-    TMockLtsyCallData0 mockData03(callId3, mobileService);
-    
-    expectData.Close();
-    mockData23.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    completeData.Close();
-    mockData03.SerialiseL(completeData);
-    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
-    
-    call3.HangUp(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	//
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(7, this); // expectData, completeData, this, line, call, call2, call3
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00011b
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00011bL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle;
-
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "else if ( RCall::EStatusIdle == iCallStatus && 
-	//                   EMultimodeCallReqHandleUnknown == dialHandle )" condition
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-	CleanupClosePushL(call);
-	AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	call.HangUp(requestStatus);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-	
-	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, this, line, call
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00011c
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00011cL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyFaxLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusConnected;
-
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	
-	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::Dial coverage
-	// covers "if ( RCall::EStatusRinging == iCallStatus )" condition
- 	//-------------------------------------------------------------------------
-
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-	CleanupClosePushL(call);
-	AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call.HangUp(requestStatus);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00012
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RCall::HangUp for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00012L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyFaxLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::HangUp
- 	//-------------------------------------------------------------------------
- 	
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	call.HangUp(requestStatus);
-	
-	// cancel hang-up
-    // TSY has started a HangUp request and it is not possible to cancel this request
-    call.CancelAsyncRequest(EEtelCallHangUp);
-	
-	// CTSY hangs up the call and it goes to idle state
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
-    mockCallData2.SerialiseL(completeData);
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmBusyUserRequest, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	AssertMockLtsyStatusL();
-	
-	CleanupStack::PopAndDestroy(5, this); // call, line, expectData, completeData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00014
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RCall::HangUp for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00014L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	// 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);
-
-	RCall call1;
-	RCall call2;
-	RLine line1;
-	RLine line2;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus1;
-    TRequestStatus requestStatus2;
-	
-	// open new line1
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TName incomingCallName1;
-	TName incomingCallName2;
-	   	
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData01(callId1, mobileService);
-	TMockLtsyCallData0 mockData02(callId2, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::HangUp
- 	//-------------------------------------------------------------------------
-
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call1);
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call2);
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    expectData.Close();
-    mockData21.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	mockData01.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call1.HangUp(requestStatus1);
-
-    expectData.Close();
-    mockData22.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	completeData.Close();
-	mockData02.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-
-	call2.HangUp(requestStatus2);
-	
-	User::WaitForRequest(requestStatus1);
-	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-	User::WaitForRequest(requestStatus2);
-	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	CleanupStack::PopAndDestroy(2); // call1, call2
-	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
-	                                      // line1, line2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CHU-00015
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RCall::HangUp and tests for timeout for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHangUp00015L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	TName incomingCallName;
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-			
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                              hangUpCause, 
-                                              autoStChangeDisable);
-	
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::HangUp
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call);
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-
-	call.HangUp(requestStatus);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100303);
-	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-	
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Hold for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData, KErrNotSupported);
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    iMockLTSY.CompleteL(EMobileCallHold, KErrGeneral, expectData);
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::Hold when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::Hold
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, call, line
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Hold for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::Hold for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	
-	
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
-
-    call.Hold(requestStatus);
-
-    call.CancelAsyncRequest(EMobileCallHold);
-
-    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());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Hold for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::Hold for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0004L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
-
-    call1.Hold(requestStatus1);
-
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
-
-    call2.Hold(requestStatus2);
-
-    User::WaitForRequest(requestStatus1);
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Hold and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallHold, expectData);
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Hold for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Hold for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    call.Hold(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CH-0001a
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold and RMobileCall::AnswerIncomingCall fails because call waiting is disabled
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Hold for voice and data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestHold0001aL()
-	{
-	//Test voice call functionality
-    TInt ret = TestAnsweringFailsBecauseHoldDoesNotWorkL( KMmTsyVoice1LineName );
-    ASSERT_EQUALS(KErrNone, ret);
-    
-    //Test data call functionality
-	ret = TestAnsweringFailsBecauseHoldDoesNotWorkL( KMmTsyDataLineName );
-    ASSERT_EQUALS(KErrNone, ret);        
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Swap for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData, KErrNotSupported);
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-    iMockLTSY.CompleteL(EMobileCallSwap, KErrGeneral, expectData);
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::Swap when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::Swap
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, call, line
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Swap for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::Swap for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap0002L()
-	{
-
-// This test should test cancellation of Swap
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
-
-    call.Swap(requestStatus);
-
-    call.CancelAsyncRequest(EMobileCallSwap);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    // see CMmVoiceCallTsy::CancelService in line 508 in file CMmVoiceCallTsy.cpp
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Swap for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::Swap for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
-
-    call1.Swap(requestStatus1);
-
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
-
-    call2.Swap(requestStatus2);
-
-    User::WaitForRequest(requestStatus1);
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Swap and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RMobileCall::Swap
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
-
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Swap for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap0006L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	// see line 252 in function CMmDataCallTsy::DoExtFuncL in file CMmDataCallTsy.cpp
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CS-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Swap for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSwap00011L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	// see line 265 in function CMmFaxCallTsy::DoExtFuncL in file CMmFaxCallTsy.cpp
-    call.Swap(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Resume for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus mockLtsyStatus;
-
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData, KErrNotSupported);
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-    iMockLTSY.CompleteL(EMobileCallResume, KErrGeneral, expectData);
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::Resume when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::Resume
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, line, this, call
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Resume for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::Resume for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
-
-    call.Resume(requestStatus);
-
-    call.CancelAsyncRequest(EMobileCallResume);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    // see CMmVoiceCallTsy::CancelService in line 507 in file CMmVoiceCallTsy.cpp
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Resume for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::Resume for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
-
-    call1.Resume(requestStatus1);
-
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
-
-    call2.Resume(requestStatus2);
-
-    User::WaitForRequest(requestStatus1);
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Resume and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallResume, expectData);
-
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Resume for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	// see EMobileCallResume case in function CMmDataCallTsy::DoExtFuncL in file CMmDataCallTsy.cpp
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CR-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Resume for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestResume00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	// see EMobileCallResume case in function CMmFaxCallTsy::DoExtFuncL in file CMmFaxCallTsy.cpp
-    call.Resume(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDF-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Deflect for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDeflect0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// Test API is not supported
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
-	RMobilePhone::TMobileAddress destination;
-    call.Deflect(requestStatus, deflectType, destination);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDF-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Deflect for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDeflect0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// Test API is not supported
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
-	RMobilePhone::TMobileAddress destination;
-    call.Deflect(requestStatus, deflectType, destination);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDF-0003
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Deflect for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDeflect0003L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for data
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// Test API is not supported
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
-	RMobilePhone::TMobileAddress destination;
-    call.Deflect(requestStatus, deflectType, destination);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4); // expectData, call, line
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Transfer for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-	TInt callId(1);
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus requestNotify;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging; //RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusHold;
-    callId = 2;
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	//-------------------------------------------------------------------------
-	// create new incoming call
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallTransfer, expectData, KErrNotSupported);
-
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
- 	CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
-    iMockLTSY.CompleteL(EMobileCallTransfer, KErrGeneral, expectData);
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::Transfer when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
-    iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::Transfer
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus mockLtsyStatus;
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, call2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Transfer for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::Transfer for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    // open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    mobileCallStatus = RMobileCall::EStatusHold;
-    callId = 2;
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobileCall::Transfer
- 	//-------------------------------------------------------------------------
- 	
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-
-    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
-    iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
-
-    call.Transfer(requestStatus);
-
-    call.CancelAsyncRequest(EMobileCallTransfer);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    // see CMmVoiceCallTsy::CancelService in file CMmVoiceCallTsy.cpp
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(5); // expectData, this, call, line, call2
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Transfer for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::Transfer for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	// 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);
-
-	RLine line11;
-	RLine line12;
-	RLine line22;
-	
-	RMobileCall call11;
-	CleanupClosePushL(call11);
-	
-	RMobileCall call12;
-	CleanupClosePushL(call12);
-	
-	RMobileCall call22;
-	CleanupClosePushL(call22);
-
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-	TName incomingCallName1;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line11 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line11, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line12 for KMmTsyVoice2LineName
-	errorCode = OpenNewLineLC(iPhone, line12, KMmTsyVoice2LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line22 for KMmTsyVoice2LineName
-	errorCode = OpenNewLineLC(phone2, line22, KMmTsyVoice2LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line11, callId1, incomingCallName1, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	errorCode = call11.OpenExistingCall(line11, incomingCallName1);
-	ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusHold;
-    mobileService = RMobilePhone::EAuxVoiceService;
- 	//-------------------------------------------------------------------------
-	// create new incoming call12 for iPhone
-	errorCode = CreateIncomingCallL(line12, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-
-	errorCode = call12.OpenExistingCall(line12, incomingCallName2);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	RLine::TCallInfo callInfo22;
-	errorCode = line22.GetCallInfo(0, callInfo22);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	errorCode = call22.OpenExistingCall(line22, callInfo22.iCallName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobileCall::Transfer
- 	//-------------------------------------------------------------------------
-
-	TMockLtsyCallData0 mockData(callId2, mobileService);
-    expectData.Close();
-	mockData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
-	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData, 10);
-
-	call12.Transfer(requestStatus1);
-    call22.Transfer(requestStatus2);
-
-    User::WaitForRequest(requestStatus1);
-    User::WaitForRequest(requestStatus2);
-
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-    AssertMockLtsyStatusL();
-
-	CleanupStack::PopAndDestroy(6); // line11, line12, line22, call11, call12, call22
-	CleanupStack::PopAndDestroy(5, this); // phone2, telServer2, expectData, this, completeData
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Transfer and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-	errorCode = call2.OpenExistingCall(line, incomingCallName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RMobileCall::Transfer
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusHold;
-	callId = 2;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
-
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(5, this); // expectData, this, line, call, call2
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Transfer for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0006L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-
-	RMobileCall ringingCall;
-	CleanupClosePushL(ringingCall);
-
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus requestNotify;
-	
-	// open new line and call for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = ringingCall.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    callId = 2;
-    mobileCallStatus = RMobileCall::EStatusHold;
-    
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
-	// close incoming call
- 	CloseIncomingCallL(call, callId, RMobilePhone::ECircuitDataService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::Transfer
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus mockLtsyStatus;
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, ringingCall
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Transfer for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::Transfer for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer0009L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	RMobileCall call3;
-	CleanupClosePushL(call3);
-	RMobileCall call4;
-	CleanupClosePushL(call4);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TInt callId2 = 2;
-	TInt callId3 = 3;
-	TInt callId4 = 4;
-	TName incomingCallName1;
-	TName incomingCallName2;
-	TName incomingCallName3;
-	TName incomingCallName4;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatusHold = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-
- 	//-------------------------------------------------------------------------
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatusHold);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call2 for phone2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatusHold);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobileCall::Transfer
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatusHold = RMobileCall::EStatusHold;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1 for iPhone
-	errorCode = CreateIncomingCallL(line1, callId3, incomingCallName3,
-	                               mobileService, mobileCallStatusHold);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call3.OpenExistingCall(line1, incomingCallName3);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	errorCode = CreateIncomingCallL(line2, callId4, incomingCallName4,
-	                               mobileService, mobileCallStatusHold);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call4.OpenExistingCall(line2, incomingCallName4);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    call3.Transfer(requestStatus1);
-    call4.Transfer(requestStatus2);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotReady, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotReady, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(6); // line1, line2, call1, call2, call3, call4
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CT-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::Transfer for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTransfer00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	RMobileCall ringingCall;
-	CleanupClosePushL(ringingCall);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus requestNotify;
-	
-	// open new line and call for KMmTsyFaxLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	errorCode = ringingCall.OpenExistingCall(line, incomingCallName);
-	ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusHold;
-	callId = 2;
-
-	/*
-	 * Can't create incoming call with call status equal RMobileCall::EStatusHold.
-	 * Destructor of CMmCallTsy is called for inclomming call (callId = 1)
-	 * with call status equal RMobileCall::EStatusRinging by call of RCall::Close().
-	 */
-
-//	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100804);
-
-	//ASSERT_TRUE(false);
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    call.Transfer(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, ringingCall
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTAC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateAllCalls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateAllCalls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateAllCalls0001L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    
-	TRequestStatus requestStatus;
-    
-	//-----------------------------------------------------------------------
-	// TEST 0: with no active calls 
-	//----------------------------------------------------------------------
-	
-	iPhone.TerminateAllCalls(requestStatus);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	AssertMockLtsyStatusL();
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new line and call for KMmTsyVoice1LineName
-	RLine line;
-	RCall call;
-	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// create new incoming call
-	TName incomingCallName;
-	TInt callId = 1;
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
-	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-	mockData.SerialiseL(expectData);
-	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData, KErrNotSupported);
-	iPhone.TerminateAllCalls(requestStatus);
-
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-	AssertMockLtsyStatusL();
-
-	
-	
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
-	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrGeneral);
-
-	iPhone.TerminateAllCalls(requestStatus);
-
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-	AssertMockLtsyStatusL();
-	
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobilePhone::TerminateAllCalls.
- 	//-------------------------------------------------------------------------
-	
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone);
-    
-	iPhone.TerminateAllCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();
-    
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobilePhone::TerminateAllCalls
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone);
-	User::WaitForRequest(mockLtsyStatus);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	AssertMockLtsyStatusL();
-		
-	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTAC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateAllCalls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateAllCalls and cancels it
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateAllCalls0002L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    
-	//-------------------------------------------------------------------------
-	
-	// open new line and call for KMmTsyVoice1LineName
-	RLine line;
-	RCall call;
-	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// create new incoming call
-	TName incomingCallName;
-	TInt callId = 1;
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
-	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-    
-	//-------------------------------------------------------------------------
-	// Test A: cancelling of RMobilePhone::TerminateAllCalls
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-	mockData.SerialiseL(expectData);
-	
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	
-	// Expect call down to LTSY for this IPC
-	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
-
-	// Queue response to be delayed to give time for cancel to come through
-	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone, 10);
-
-	TRequestStatus requestStatus;
-	iPhone.TerminateAllCalls(requestStatus);
-	iPhone.CancelAsyncRequest(EMobilePhoneTerminateAllCalls);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	AssertMockLtsyStatusL();
-	
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	
-	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTAC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateAllCalls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateAllCalls on multiple clients
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateAllCalls0004L()
-	{
-
-	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(iTelServer,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	//
-	// set up line and call for first client
-	
-	RLine line;
-	RCall call;
-	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// create new incoming call
-	TName incomingCallName;
-	TInt callId = 1;
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
-	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-    //
-    // set up call for second client
-    
-	RLine line2;
-	RCall call2;
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName); // PUSH
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// create new incoming call
-	TName incomingCallName2;
-	TInt callId2 = 2;
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
-			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
-	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call2); // PUSH
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	
-    // let's start testing...
-    
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    TMockLtsyData1<TInt> mockData(callId);
-	mockData.SerialiseL(expectData);
-	
-    //RBuf8 expectData2;
-    //CleanupClosePushL(expectData2); // PUSH
-    //TMockLtsyData1<TInt> mockData2(callId2);
-	//mockData2.SerialiseL(expectData2);
-
-	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone, 20);
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-    iPhone.TerminateAllCalls(requestStatus);
-    phone2.TerminateAllCalls(requestStatus2);
-    
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-	
-	User::WaitForRequest(requestStatus2);
-	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-	
-	AssertMockLtsyStatusL();
-	
-	CleanupStack::PopAndDestroy(8, this); 	// expectData,
-											// call2, line2, call, line,
-											// phone2, telServer2, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTAC-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateAllCalls with timeout.
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateAllCalls and tests for timeout.
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateAllCalls0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-   
-    
-	// open new line and call for KMmTsyVoice1LineName
-	RLine line;
-	RCall call;
-	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	
-	// create new incoming call
-	TName incomingCallName;
-	TInt callId = 1;
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
-	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-	CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-	mockData.SerialiseL(expectData);    
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RMobilePhone::TerminateAllCalls
- 	//-------------------------------------------------------------------------
-    
-	TRequestStatus requestStatus;
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
-	iPhone.TerminateAllCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls  When the call status is EStatusHold
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0001L()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    
-    TRequestStatus requestStatus;
-    
-    //-----------------------------------------------------------------------
-    // TEST 0: with no active calls 
-    //----------------------------------------------------------------------
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
-    iPhone.TerminateActiveCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();
-    
-    //-------------------------------------------------------------------------
-    // TEST A: failure to dispatch request to LTSY
-    //-------------------------------------------------------------------------
-
-    // open new line and call for KMmTsyVoice1LineName
-    RLine line;
-    RCall call;
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
-    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-    mockData.SerialiseL(expectData);
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData, KErrNotSupported);
-    iPhone.TerminateActiveCalls(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-    AssertMockLtsyStatusL();
-
-    
-    
-    //-------------------------------------------------------------------------
-    // TEST B: failure on completion of pending request from LTSY->CTSY
-    //-------------------------------------------------------------------------
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrGeneral);
-
-    iPhone.TerminateActiveCalls(requestStatus);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-    AssertMockLtsyStatusL();
-    
-    //-------------------------------------------------------------------------
-    // TEST C: Successful completion request of
-    // RMobilePhone::TerminateActiveCalls.
-    //-------------------------------------------------------------------------
-    
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
-    
-    iPhone.TerminateActiveCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();
-    
-    //-------------------------------------------------------------------------
-    // TEST E: Unsolicited completion of RMobilePhone::TerminateActiveCalls
-    // from LTSY.
-    //-------------------------------------------------------------------------
-
-    TRequestStatus mockLtsyStatus;
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
-    User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    AssertMockLtsyStatusL();
-        
-    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-    }
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-000B1
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusRinging
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0001bL()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-        
-    TRequestStatus requestStatus;
-    // open new line and call for KMmTsyVoice1LineName
-    RLine line;
-    RCall call;
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-    RMobilePhone::EVoiceService, RMobileCall::EStatusRinging);   
-        
-    ASSERT_EQUALS(KErrNone, errorCode);
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
-    iPhone.TerminateActiveCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();
-        
-    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-    }
-    
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-000C1
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusConnecting
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0001cL()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-        
-    TRequestStatus requestStatus;
-    // open new line and call for KMmTsyVoice1LineName
-    RLine line;    
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-                RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);   
-        
-    ASSERT_EQUALS(KErrNone, errorCode);
-    RCall call;    
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
-    iPhone.TerminateActiveCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    AssertMockLtsyStatusL();
-        
-    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-    }
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateActiveCalls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and cancels it
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0002L()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-    
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    
-    //-------------------------------------------------------------------------
-    
-    // open new line and call for KMmTsyVoice1LineName
-    RLine line;
-    RCall call;
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
-    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-    
-    //-------------------------------------------------------------------------
-    // Test A: cancelling of RMobilePhone::TerminateActiveCalls
-    //-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-    mockData.SerialiseL(expectData);
-    
-    TRequestStatus mockLtsyStatus;
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-        
-    // Expect call down to LTSY for this IPC
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
-
-    // Queue response to be delayed to give time for cancel to come through
-    // There is no interface for cancelling the simple TerminateActiveCalls request once passed to LTSY, 
-    // however this test will still emulate the completion of the request which will finally return from LTSY regardless.
-    
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 10);
-
-    TRequestStatus requestStatus;
-    iPhone.TerminateActiveCalls(requestStatus);
-    iPhone.CancelAsyncRequest(EMobilePhoneTerminateActiveCalls);
-    User::WaitForRequest(requestStatus);
-    INFO_PRINTF2(_L("requestStatus.Int() %d"),(requestStatus.Int()));
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-    AssertMockLtsyStatusL();
-    
-    User::WaitForRequest(mockLtsyStatus);
-    INFO_PRINTF2(_L("mockLtsyStatus.Int() %d"),(mockLtsyStatus.Int()));
-    
-    AssertMockLtsyStatusL();
-    
-    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-    }
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateActiveCalls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls on multiple clients
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0004L()
-    {
-
-    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(iTelServer,KMmTsyPhoneName);
-    ASSERT_EQUALS(KErrNone, ret);
-    CleanupClosePushL(phone2);
-
-    //
-    // set up line and call for first client
-    
-    RLine line;
-    RCall call;
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
-    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-    //
-    // set up call for second client
-    
-    RLine line2;
-    RCall call2;
-    errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    // create new incoming call
-    TName incomingCallName2;
-    TInt callId2 = 2;
-    errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
-            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
-    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call2); // PUSH
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-    // let's start testing...
-    
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-    TMockLtsyData1<TInt> mockData(callId);
-    mockData.SerialiseL(expectData);
-    
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
-    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 20);
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-    iPhone.TerminateActiveCalls(requestStatus);
-    phone2.TerminateActiveCalls(requestStatus2);
-    
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-    
-    User::WaitForRequest(requestStatus2);
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-    
-    AssertMockLtsyStatusL();
-    
-    CleanupStack::PopAndDestroy(8, this);   // expectData,
-                                            // call2, line2, call, line,
-                                            // phone2, telServer2, this
-    }
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MTACTC-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls with timeout.
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and tests for timeout.
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestTerminateActiveCalls0005L()
-    {
-    OpenEtelServerL(EUseExtendedError);
-    CleanupStack::PushL(TCleanupItem(Cleanup,this));
-    OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData); // PUSH
-   
-    
-    // open new line and call for KMmTsyVoice1LineName
-    RLine line;
-    RCall call;
-    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-    
-    // create new incoming call
-    TName incomingCallName;
-    TInt callId = 1;
-    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
-    
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    CleanupClosePushL(call); // PUSH
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    //-------------------------------------------------------------------------
-
-    TMockLtsyData1<TInt> mockData(callId);
-    mockData.SerialiseL(expectData);    
-    //-------------------------------------------------------------------------
-    // Test A: Test timeout of RMobilePhone::TerminateActiveCalls
-    //-------------------------------------------------------------------------
-    
-    TRequestStatus requestStatus;
-    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
-    iPhone.TerminateActiveCalls(requestStatus);
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
-    }
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-MSICT-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetIncomingCallType
-@SYMTestPriority High
-@SYMTestActions Invokes RMobilePhone::SetIncomingCallType
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestSetIncomingCallType0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	TRequestStatus requestStatus;
-
-	RMobilePhone::TMobilePhoneIncomingCallType callType = RMobilePhone::EIncomingTypeNotSpecified;
-	
-	RMobileCall::TMobileDataCallParamsV1 dataCallParamsV1;
-	TPckg<RMobileCall::TMobileDataCallParamsV1> dataCallParamsV1Pckg(dataCallParamsV1);
-	
- 	//-------------------------------------------------------------------------
-	// Test API is not supported
- 	//-------------------------------------------------------------------------
-
-	iPhone.SetIncomingCallType(requestStatus, callType, dataCallParamsV1Pckg);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1, this); // this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-    TRequestStatus requestStatus;
-    TRequestStatus requestNotify;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData, KErrNotSupported);
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
-	//-------------------------------------------------------------------------
-	// TEST B: failure on completion of pending request from LTSY->CTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrGeneral, expectData);
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::AnswerIncomingCallISV when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	// close incoming call
-    CloseIncomingCallL(call, callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::AnswerIncomingCallISV
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-    TRequestStatus mockLtsyStatus;
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
- 	//-------------------------------------------------------------------------
-	// TEST to increase coverage 
- 	//-------------------------------------------------------------------------
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-    TRequestStatus requestStatus2;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-    errorCode = call2.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-    call2.AnswerIncomingCallISV(requestStatus2, callParamsPckg);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
-
-	call.Close();
-	CloseIncomingCallL(call2, callId, mobileService);
-	
- 	//-------------------------------------------------------------------------
-	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
-	// covers "else if( activeCall && 
-	//                  ( !( KETelExt3rdPartyV1 == activeCall->GetExtensionId() ) &&
-	//                  ( KETelExt3rdPartyV1 == extensionId ) ) )" condition
- 	//-------------------------------------------------------------------------
-
-	mobileCallStatus = RMobileCall::EStatusConnected;
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, call2
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV0002L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RCall::AnswerIncomingCallISV
- 	//-------------------------------------------------------------------------
- 	
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-
-    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
-
-	TInt hangUpCause = KErrGsmBusyUserRequest;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-	
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
-	
-    call.CancelAsyncRequest(EMobileCallAnswerISV);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
-
-	User::WaitForRequest(mockLtsyStatus);
-	
-	CleanupStack::PopAndDestroy(5); // expectData, completeData, this, call, line
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileCall::AnswerIncomingCallISV for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV0004L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	// 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);
-
-	RLine line1;
-	RLine line2;
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	TInt errorCode = KErrNone;
-
-	TInt callId1 = 1;
-	TName incomingCallName1;
-
-	TInt callId2 = 2;
-	TName incomingCallName2;
-
-	TRequestStatus requestStatus1;
-	TRequestStatus requestStatus2;
-
-	// open new line1 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	// open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call1
-	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-	// create new incoming call2
-	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData01(callId1, mobileService);
-    expectData.Close();
-    mockData01.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
-
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call1.AnswerIncomingCallISV(requestStatus1, mmParamsPckgV1);
-
-    TMockLtsyCallData0 mockData02(callId2, mobileService);
-    expectData.Close();
-    mockData02.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
-
-    call2.AnswerIncomingCallISV(requestStatus2, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus1);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
-
-    User::WaitForRequest(requestStatus2);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
-
-	// Done !
-	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
-	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-0005
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV with timeout for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV and tests for timeout for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV0005L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-
-	//-------------------------------------------------------------------------
-	// Test A: Test timeout of RMobileCall::AnswerIncomingCallISV
- 	//-------------------------------------------------------------------------
-		
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
- 	//-------------------------------------------------------------------------
-
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
-
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV0006L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyDataLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CAICI-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestAnswerIncomingCallISV00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RLine line;
-	RMobileCall call;
-	CleanupClosePushL(call);
-	
-	TInt errorCode = KErrNone;
-	TInt callId = 1;
-	TName incomingCallName;
-
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	// open new line for KMmTsyFaxLineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-	
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
-    TMockLtsyCallData0 mockData0(callId, mobileService);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// create new incoming call
-	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    errorCode = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, errorCode);
- 	//-------------------------------------------------------------------------
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
-
-    User::WaitForRequest(requestStatus);
-    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, this, call, line
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDI-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialISV for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialISV0001L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line for KMmTsyVoice1LineName
-    errorCode = line.Open(iPhone, KMmTsyVoice1LineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyVoice1LineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-			
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-	callParams.iIdRestrict = RMobileCall::ESendMyId;
-	callParams.iAutoRedial = ETrue;
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	RMmCustomAPI::TEmerNumberCheckMode emerNumberCheckMode;
-	emerNumberCheckMode.iCheckMode = RMmCustomAPI::EEmerNumberCheckNormal;
-    emerNumberCheckMode.iNumber.Copy(KPhoneNumber);	
-	
-	RMmCustomAPI::TMobileTelNumber* telNumberPtr = NULL;
-	
-    TMockLtsyData1<RMmCustomAPI::TEmerNumberCheckMode> expectLtsyData1(emerNumberCheckMode);
-    
-	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		expectLtsyData2(0, mobileService, callParams, callInfo);  
-			
-	TMockLtsyCallData0 completeLtsyData1(callId, mobileService);	  
-    
-	TMockLtsyData1< RMmCustomAPI::TMobileTelNumber* > completeLtsyData2(telNumberPtr);	   
-	
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RCall::Dial
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    completeLtsyData1.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: Try to make RMobileCall::DialISV request in case where
-	// CustomTSY is not opened. This should fail because in DialISV case TSY 	
-	// checks dialling number type using CustomTSY.
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileCall::DialISV when result is not cached.
- 	//-------------------------------------------------------------------------
-
- 	//-------------------------------------------------------------------------
-	// CustomTSY must be open before DialISV is requested
-	iMockLTSY.ExpectL(ECustomGetIccCallForwardingStatusIPC);
-		
-    RMmCustomAPI::TViagCacheRecordId currentlyRetrievedCache;		
-    currentlyRetrievedCache.iCacheId	= 1;
-    currentlyRetrievedCache.iRecordId	= 0;
-    TMockLtsyData1 <RMmCustomAPI::TViagCacheRecordId> ltsyData2(currentlyRetrievedCache);
-    expectData.Close();
-    ltsyData2.SerialiseL(expectData);			
-    iMockLTSY.ExpectL(EReadViagHomeZoneCacheIPC, expectData);	
-			
-	RMmCustomAPI customAPI;
-	customAPI.Open(iPhone);
-	CleanupClosePushL(customAPI);
-	AssertMockLtsyStatusL();
-    //-------------------------------------------------------------------------	
-
-    completeData.Close();
-	completeLtsyData2.SerialiseL(completeData);    
-    iMockLTSY.CompleteL(ECustomCheckEmergencyNumberIPC, KErrNone, completeData); 
-    
-    expectData.Close();
-    expectLtsyData1.SerialiseL(expectData);
-    iMockLTSY.ExpectL(ECustomCheckEmergencyNumberIPC, expectData);
-
-	expectData.Close();
-	expectLtsyData1.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EMobileCallDialISV, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);	
-	
-	completeData.Close();
-	completeLtsyData1.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, completeData);
-	
-	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestStatus.Int());
-
-	call.Close();
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(6, this); // this, expectData, completeData, line, call, customAPI
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDI-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialISV for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialISV0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line for KMmTsyDataLineName
-    errorCode = line.Open(iPhone, KMmTsyDataLineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyDataLineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-			
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty;
-	
-	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialISV
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDI-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialISV for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialISV00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line for KMmTsyDataLineName
-    errorCode = line.Open(iPhone, KMmTsyFaxLineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyFaxLineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-			
-	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
-    
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty;
-	
-	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialISV
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDCC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for voice calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialCallControl for voice calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialCallControl0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// Open new line for KMmTsyVoice1LineName
-    errorCode = line.Open(iPhone, KMmTsyVoice1LineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyVoice1LineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-			
-	RMobileCall::TMobileCallParamsV7 callParams;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// Open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-        
-    call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	
-	// This is not a defect. DialCallControl fails because feature is not 
-	// supported by CTSY.
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-	
-	
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // call
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialCallControl
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDCC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for data calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialCallControl for data calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialCallControl0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// Open new line for KMmTsyDataLineName
-    errorCode = line.Open(iPhone, KMmTsyDataLineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyDataLineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-			
-	RMobileCall::TMobileCallParamsV7 callParams;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
-	
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// Open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-
-	call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	
-	// This is not a defect. DialCallControl fails because feature is not 
-	// supported by CTSY.	
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // call
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialISV
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, call
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CDCC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for fax calls
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileCall::DialCallControl for fax calls
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestDialCallControl00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RMobileLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-	
-	// Open new line for KMmTsyFaxLineName
-    errorCode = line.Open(iPhone, KMmTsyFaxLineName);
-    CleanupClosePushL(line);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    _LIT(KDoubleColon, "::");
-    
-    TName name;
-    name = KMmTsyPhoneName;
-    name.Append(KDoubleColon);
-    name.Append(KMmTsyFaxLineName);
-    name.Append(KDoubleColon);
-	   	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-			
-	RMobileCall::TMobileCallParamsV7 callParams;
-    
-	RMobileCall::TMobileCallInfoV8 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-	callInfo.iService = mobileService;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-	
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-	
-	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
-
- 	//-------------------------------------------------------------------------
-	// TEST A: failure to dispatch request to LTSY
- 	//-------------------------------------------------------------------------
-
-	// Open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-    
-	call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
-	User::WaitForRequest(requestStatus);
-	
-	// This is not a defect. DialCallControl fails because feature is not 
-	// supported by CTSY.	
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	call.Close();
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); //call
-
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RMobileCall::DialISV
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    expectData.Close();
-    mockData0.SerialiseL(expectData);
-	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
-	}
-
-/*
- * Test case where answering fails because automatic hold does not work.
- * 
- * @param aLineName Line name
- * @return KErrNone if successful, otherwise another of the system-wide error 
- */
-TInt CCTsyCallControlFU::TestAnsweringFailsBecauseHoldDoesNotWorkL( const TDesC& aLineName )
-	{ 
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));	    
-	OpenPhoneL();
-
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	RMobilePhone phone2;
-	TInt ret = phone2.Open(iTelServer,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-
-	RLine line1;
-	RLine line2;
-	
-	//Open new line1 for aLineName
-	TInt errorCode = OpenNewLineLC(iPhone, line1, aLineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	//Open new line2 for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);	
-	
-	RMobileCall call1;
-	CleanupClosePushL(call1);
-
-	RMobileCall call2;
-	CleanupClosePushL(call2);
-	
-	_LIT(KPhoneNumber, "101632960000"); 
-	
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService1;	
-    RMobilePhone::TMobileService mobileService2 = RMobilePhone::EVoiceService;
-
-	TInt callId1 = 1;
-	TName callName1;
-
-	TInt callId2 = 2;
-	TName callName2;
-
-	TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
- 	//-------------------------------------------------------------------------
- 	// Create first call outgoing voice or data call
-	
-   	errorCode = call1.OpenNewCall(line1, callName1);
-    ASSERT_EQUALS(KErrNone, errorCode);	
-    
-	if ( !aLineName.Compare( KMmTsyDataLineName ) )
-        { 
-        //Dial data call
-        mobileService1 = RMobilePhone::ECircuitDataService;
-                    
-        CallGetMobileCallInfoL(callId1, mobileService1, KPhoneNumber);    
-
-    	RMobileCall::TMobileDataCallParamsV1 callParams;
-        callParams.iInterval = 4;
-        callParams.iCug.iCugIndex = 0xFFFF;
-        
-    	RMobileCall::TMobileCallInfoV8 callInfo;
-    	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-    	callInfo.iService = mobileService1;
-    	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating ;
-    	
-    	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-    		mockData0(0, mobileService1, callParams, callInfo);
-    
-    	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgCallParams(callParams);   
-    
-    	mockData0.SerialiseL(expectData);
-      	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);
-
-    	call1.Dial(requestStatus, pckgCallParams, KPhoneNumber);                                     	
-        }
-    else
-        {
-        //Dial voice call
-        mobileService1 = RMobilePhone::EVoiceService;
-            
-        CallGetMobileCallInfoL(callId1, mobileService1, KPhoneNumber);      
-            
-    	RMobileCall::TMobileCallParamsV1 callParams;
-        callParams.iInterval = 4;
-        callParams.iCug.iCugIndex = 0xFFFF;
-        TPckg<RMobileCall::TMobileCallParamsV1> pckgCallParams(callParams);
-      
-    	RMobileCall::TMobileCallInfoV8 callInfo;
-    	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-    	callInfo.iService = mobileService1;
-    	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
-    	
-    	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
-    		mockData1(0, mobileService1, callParams, callInfo);
-    
-    	mockData1.SerialiseL(expectData);
-    	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);
-
-    	call1.Dial(requestStatus, pckgCallParams, KPhoneNumber);  
-        }
-              	
-    //Change call1 status to connected
-    mobileCallStatus = RMobileCall::EStatusDialling;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData2(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData2.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
- 	User::WaitForRequest(mockLtsyStatus); 	
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-	    
-    mobileCallStatus = RMobileCall::EStatusConnecting;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData3(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData3.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData); 	
- 	User::WaitForRequest(mockLtsyStatus);
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());  	 
-       	   	    
-    mobileCallStatus = RMobileCall::EStatusConnected;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData4(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData4.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
- 	User::WaitForRequest(mockLtsyStatus);
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
-
-	if ( !aLineName.Compare( KMmTsyDataLineName ) )
-        { 
-        //Dial request for voice call is completed automatically by CTSY when call goes to connected state
-        //Complete here data call Dial.
-      	TMockLtsyCallData0 mockData5(callId1, mobileService1);
-      	mockData5.SerialiseL(completeData);
-      	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);         
-        }
-         
-    User::WaitForRequest(requestStatus);   
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int()); 
-  
-    //Check that call1 is active
-    call1.GetMobileCallStatus(mobileCallStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusConnected, mobileCallStatus);
-	AssertMockLtsyStatusL(); 
-	
-	//-------------------------------------------------------------------------
-	
-	
- 	//-------------------------------------------------------------------------
-	// Create second incoming voice call.
-	
-	mobileCallStatus = RMobileCall::EStatusRinging;
-	errorCode = CreateIncomingCallL(line2, callId2, callName2,
-	                                mobileService2, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-		
-    errorCode = call2.OpenExistingCall(line2, callName2);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	AssertMockLtsyStatusL();
-	
-	//-------------------------------------------------------------------------	  	
-    	
- 	//-------------------------------------------------------------------------
-	// TEST A: AnswerIncomingCall for call2 is completed with error KErrMMEtelCallForbidden 
-	// because automatic hold for call1 fails.
- 	//-------------------------------------------------------------------------
-	
-    //There is now one active call and one ringing call. Cellular software sets
-    //active call1 to hold automatically when ringing call is answered. Normally this operation
-    //succeeds. In DoCoMo network hold operation fails in this situation if call waiting is
-    //disabled. 
-    
-    //Background: Incoming call indication should not come from network if there is already an active call 
-    //and call waiting is disabled. However in DoCoMo network incoming call indication comes 
-    //through but answering to this call fails because hold operation for active call does not work.
-    
-    //Expected functionality: In this case CTSY should complete AnswerIncomingCall request with 
-    //error and active call should stay in active state.	
-	
-    TMockLtsyCallData0 mockData6(callId2, mobileService2);
-    expectData.Close();
-    mockData6.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);   
-       
-	RMobileCall::TMobileCallParamsV1 callParamsV1;
-	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);       
-    call2.AnswerIncomingCall(requestStatus, mmParamsPckgV1);    
-    
-    //Incoming call goes to answering state.
-    mobileCallStatus = RMobileCall::EStatusAnswering;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData7(callId2, mobileService2, mobileCallStatus);
-    completeData.Close();
-    mockData7.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);    
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);  
-    User::WaitForRequest(mockLtsyStatus);    
-    
-    //Network rejects hold operation for active call. 
-    mobileCallStatus = RMobileCall::EStatusConnected;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData8(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData8.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrMMEtelCallForbidden, completeData); 
-    
-    //AnswerIncomingCall should be completed with error.
-    User::WaitForRequest(requestStatus);    
-    User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrMMEtelCallForbidden, requestStatus.Int());	
-    AssertMockLtsyStatusL();
-    
-    //Check that call1 is still in active state.
-    call1.GetMobileCallStatus(mobileCallStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusConnected, mobileCallStatus);
-	AssertMockLtsyStatusL();
-	    
- 	//-------------------------------------------------------------------------
-	// Hangup calls
- 	
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData9(callId2, mobileService2, hangUpCause, autoStChangeDisable);	
-    expectData.Close();
-    mockData9.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);	
-
-	call2.HangUp(requestStatus);
-
-    //Change call2 status to disconnecting
-    mobileCallStatus = RMobileCall::EStatusDisconnecting;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData10(callId2, mobileService2, mobileCallStatus);
-    completeData.Close();
-    mockData10.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
- 	User::WaitForRequest(mockLtsyStatus); 	
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
- 	
-    //Change call2 status to idle
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData11(callId2, mobileService2, mobileCallStatus);
-    completeData.Close();
-    mockData11.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
- 	User::WaitForRequest(mockLtsyStatus); 	
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   	
-	
-	//HangUp complete for call2    
-    User::WaitForRequest(requestStatus);   
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int()); 
-    
-    // Only the voice line is needing this flag.
-	if ( !aLineName.Compare( KMmTsyDataLineName ) )
-		{
-		autoStChangeDisable = EFalse;
-		}
-	else
-		{
-		autoStChangeDisable = ETrue;
-		}
-	
-    TMockLtsyCallData2<TInt, TBool> mockData12(callId1, mobileService1, hangUpCause, autoStChangeDisable);	
-    expectData.Close();
-    mockData12.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);	
-
-	call1.HangUp(requestStatus);
-
-    //Change call1 status to disconnecting
-    mobileCallStatus = RMobileCall::EStatusDisconnecting;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData13(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData13.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
- 	User::WaitForRequest(mockLtsyStatus); 	
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
- 	
-    //Change call1 status to idle
-    mobileCallStatus = RMobileCall::EStatusIdle;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData14(callId1, mobileService1, mobileCallStatus);
-    completeData.Close();
-    mockData14.SerialiseL(completeData);   
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-    
-    // when call becomes idle, remaining duration of the call is added to life time param in LTSY:		
-	TUint32 duration2 = 4;	// this is a dummy value, which won't be checked by mocksy engine
-	TMockLtsyData1<TUint32> ltsyData2( duration2 );
-	expectData.Close();
-	ltsyData2.SerialiseL(expectData);	
-	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);	            
-    
- 	User::WaitForRequest(mockLtsyStatus); 	
- 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   	
-
-	//HangUp complete for call1     
-    User::WaitForRequest(requestStatus);   
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, requestStatus.Int());  
-    
-    //-------------------------------------------------------------------------   	    
-	
-	// Done !     
-	CleanupStack::PopAndDestroy(8, this); // call2, call1, line2, line1, phone2, 
-	                                      // completeData, expectData, this	
-	return KErrNone;
-    }
-
-/*
- * Opens a phone subsession by name.
- * 
- * @param aPhone The phone from which the line is to be opened.
- * @param On return, contains the new line. 
- * @param aName The name of the phone to be opened
- * @return KErrNone if successful, otherwise another of the system-wide error 
- */
-
-TInt CCTsyCallControlFU::OpenNewLineLC(RMobilePhone& aPhone, RLine& aLine, const TDesC& aLineName)
-    {
-    TInt errorCode = KErrNone;
-
-    // Open new line
-    errorCode = aLine.Open(aPhone, aLineName);
-    CleanupClosePushL(aLine);
-    
-    return errorCode;
-    }
-
-/*
- * This function creates an incomming call for line and returns a name of call. 
- * 
- * @param aLine The line from which the call is to be created.
- * @param aCallId ID of call.
- * @param aIncomingCallName On return, contains the new name of incomming call.
- * @param aMobileService Applicability of request to a mobile service group.
- * @param aMobileCallStatus Describes the possible call states.
- * @return KErrNone if successful, otherwise another of the system-wide error 
- */
-
-TInt CCTsyCallControlFU::CreateIncomingCallL(RLine& aLine, 
-                                            const TInt aCallId, 
-                                            TName& aIncomingCallName,
-                                            RMobilePhone::TMobileService aMobileService,
-                                            RMobileCall::TMobileCallStatus aMobileCallStatus)
-	{
-    RBuf8 completeData;
-
-    TRequestStatus requestNotify;
-    TRequestStatus mockLtsyStatus;
-
- 	//-------------------------------------------------------------------------
-	// call CMmVoiceLineTsy::CompleteNotifyIncomingCall for set iCallId > 0.
-	
-	aLine.NotifyIncomingCall(requestNotify, aIncomingCallName);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(aCallId, aMobileService, mobileCallInfo);
-    CleanupClosePushL(completeData);
-	mockCallData1.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
-	User::WaitForRequest(requestNotify);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestNotify.Int());
-
- 	//-------------------------------------------------------------------------
-	
- 	//-------------------------------------------------------------------------
-    // call CMmVoiceCallTsy::CompleteNotifyStatusChange for set 
-    // iMobileCallStatus = RMobileCall::EStatusRinging.
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(aCallId, aMobileService, aMobileCallStatus);
-    completeData.Close();
-    mockCallData2.SerialiseL(completeData);
-
-    iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-    User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
- 	//-------------------------------------------------------------------------
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1); // completeData 
-	
-	return KErrNone;
-	}
-
-/*
- * This function closes an incomming call by aCallId. 
- * 
- * @param aCall The incomming call which is to be closed.
- * @param aCallId ID of call.
- * @param aMobileService Applicability of request to a mobile service group.
- */
-
-void CCTsyCallControlFU::CloseIncomingCallL(RCall& aCall, const TInt aCallId,
-                                           RMobilePhone::TMobileService aMobileService)
-	{
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = EFalse;
-    TMockLtsyCallData2<TInt, TBool> mockData2(aCallId, aMobileService, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();
-    mockData2.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-    
-	aCall.Close();
-	AssertMockLtsyStatusL();
-
-    CleanupStack::PopAndDestroy(1); // expectData 
-	}
-
-//  ExpectL and CopmleteL must precede this function.
-void CCTsyCallControlFU::CallGetMobileCallInfoL(TInt aCallId, 
-                                               RMobilePhone::TMobileService aService, 
-                                               const TDesC &aTelNumber)
-	{
-	_LIT(KNullDesC , "");
-	
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	RMobileCall::TMobileCallInfoV1 callInfo;
-	callInfo.iDialledParty.iTelNumber.Copy(aTelNumber);
-	callInfo.iService = aService;
-	callInfo.iEmergency = EFalse;
-	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.iForwarded = EFalse;
-	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallRemoteParty;
-
-	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(aCallId, aService, callInfo);
-	callInfoData.SerialiseL(data);
-		
-    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-    
-    CleanupStack::PopAndDestroy(1);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CEC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for voice
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::EnumerateCall for voice
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestEnumerateCall0001L()
-	{
-	AuxEnumerateCallL(KMmTsyVoice1LineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CEC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for data
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::EnumerateCall for data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestEnumerateCall0006L()
-	{
-	AuxEnumerateCallL(KMmTsyDataLineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CEC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for fax
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::EnumerateCall for fax
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestEnumerateCall00011L()
-	{
-	AuxEnumerateCallL(KMmTsyFaxLineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CNHC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for voice
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyHookChange for voice
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestNotifyHookChange0001L()
-	{
-	AuxNotifyHookChangeL(KMmTsyVoice1LineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CNHC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for data
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyHookChange for data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestNotifyHookChange0006L()
-	{
-	AuxNotifyHookChangeL(KMmTsyDataLineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CNHC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for fax
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyHookChange for fax
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestNotifyHookChange00011L()
-	{
-	AuxNotifyHookChangeL(KMmTsyFaxLineName);
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CCNSC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test increase coverage for CMmLineTsy::CompleteNotifyStatusChange for voice
-@SYMTestPriority High
-@SYMTestActions Invokes CMmLineTsy::CompleteNotifyStatusChange for voice
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestCompleteNotifyStatusChange0001L()
-	{
-	AuxCompleteNotifyStatusChangeL(KMmTsyVoice1LineName);
-	}
-
-void CCTsyCallControlFU::AuxEnumerateCallL(const TDesC& aName)
-	{
-
-	if (aName.Compare(KMmTsyVoice1LineName) != 0 && 
-		aName.Compare(KMmTsyDataLineName)   != 0 &&
-		aName.Compare(KMmTsyFaxLineName)    != 0)
-		return;
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine line;
-
-	// open new line for KMmTsyDataLineName
-	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	TInt index(0);
-
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::EnumerateCall when result is not cached.
- 	//-------------------------------------------------------------------------
-
-	errorCode = line.EnumerateCall(index);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	}
-
-void CCTsyCallControlFU::AuxNotifyHookChangeL(const TDesC& aName)
-	{
-
-	if (aName.Compare(KMmTsyVoice1LineName) != 0 && 
-		aName.Compare(KMmTsyDataLineName)   != 0 &&
-		aName.Compare(KMmTsyFaxLineName)    != 0)
-		return;
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine line;
-
-	TRequestStatus requestStatus;
-	TRequestStatus mockLtsyStatus;
-
-	RCall::THookStatus hookStatus;
-
-	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	line.NotifyHookChange(requestStatus, hookStatus);
-
-	User::WaitForRequest(requestStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
-
-	line.NotifyHookChangeCancel();
-
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	}
-
-void CCTsyCallControlFU::AuxCompleteNotifyStatusChangeL(const TDesC& aName)
-	{
-
-	RMobilePhone::TMobileService mobileService = RMobilePhone::EServiceUnspecified;
-
-	if (aName.Compare(KMmTsyVoice1LineName) == 0)
-		{
-		mobileService = RMobilePhone::EVoiceService;
-		}
-	else if (aName.Compare(KMmTsyDataLineName) == 0)
-		{
-		mobileService = RMobilePhone::ECircuitDataService;
-		}
-	else if (aName.Compare(KMmTsyFaxLineName) == 0)
-		{
-		mobileService = RMobilePhone::EFaxService;
-		}
-	else
-		return;
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine line;
-	RCall call;
-	RMobileCall::TMobileCallStatus mobileCallStatus(RMobileCall::EStatusUnknown);
-	TName callName;
-	TInt callId(1);
-	RBuf8 completeData;
-	CleanupClosePushL(completeData);
-
-	TRequestStatus mockLtsyStatus;
-	TRequestStatus requestNotify;
-
-	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-
-	//-------------------------------------------------------------------------
-
-	line.NotifyIncomingCall(requestNotify, callName);
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-	mockCallData1.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-	User::WaitForRequest(requestNotify);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, requestNotify.Int());
-
-	RArray<RMobileCall::TMobileCallStatus> arrayCallStatus;
-	CleanupClosePushL(arrayCallStatus);
-	
-	arrayCallStatus.AppendL(RMobileCall::EStatusDialling);
-	arrayCallStatus.AppendL(RMobileCall::EStatusAnswering);
-	arrayCallStatus.AppendL(RMobileCall::EStatusConnecting);
-	
-	for (TInt i = 0; i < arrayCallStatus.Count(); i++)
-		{
-		
-		mobileCallStatus = arrayCallStatus[i];
-		
-		TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
-		completeData.Close();
-		mockCallData2.SerialiseL(completeData);
-
-		iMockLTSY.NotifyTerminated(mockLtsyStatus);
-		iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-		User::WaitForRequest(mockLtsyStatus);
-		AssertMockLtsyStatusL();
-		ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-		
-		}
-
-	CleanupStack::PopAndDestroy(4, this); // line, this, completeName
-										  // arrayCallStatus
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-CCON-CNUA-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test: generating a call with duration to update life time param of total call time
-@SYMTestPriority High
-@SYMTestActions Invokes updating life time param with every specified interval of sec elapsed 
-                and with the reminder of time when call status becomes idle (in case of the conference call
-                it's the last call)
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyCallControlFU::TestUpdateLifeTime0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-    RBuf8 expectData;
-    CleanupClosePushL(expectData);
-
-    RBuf8 completeData;
-    CleanupClosePushL(completeData);
-
-	RLine line;
-	RMobileCall call;
-	
-	TInt errorCode = KErrNone;
-    TRequestStatus requestStatus;
-    TRequestStatus requestStatus2;
-	TRequestStatus mockLtsyStatus;
-	
-	// open new line and call for KMmTsyVoice1LineName
-	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, errorCode);
-		
-    TName name;
-    
-    // we are preparing to dial the call:
-	
-	_LIT(KPhoneNumber, "101632960000");   	
-   	
-	TInt callId = 1;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-			
-    RMobileCall::TMobileCallParamsV7 callParams; 
-    RMobileCall::TMobileCallParamsV7Pckg    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.iDialledParty.iTelNumber.Copy(KPhoneNumber);
-
-	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
-		mockData2(0, mobileService, callParams, callInfo);
-
-	TMockLtsyCallData0 mockData0(callId, mobileService);
-
-	RCall::TCallParams callDialParams;
-	TPckg<RCall::TCallParams> pckgCallDialParams(callDialParams);
-	callDialParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
-	callDialParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
-	callDialParams.iInterval        = 100;
-	callDialParams.iWaitForDialTone = RCall::EDialToneWait;
-
-	// open new call
-   	CleanupClosePushL(call);
-   	errorCode = call.OpenNewCall(line, name);
-    ASSERT_EQUALS(KErrNone, errorCode);
-	
-	expectData.Close();
-	mockData2.SerialiseL(expectData);
-	iMockLTSY.ExpectL(EEtelCallDial, expectData);
-
-	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
-	
-	completeData.Close();
-	mockData0.SerialiseL(completeData);
-	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
-
-    // with a notifications we make sure the state of the call will become: connected  
-	TRequestStatus reqState1, reqState2, reqState3;
-	RMobileCall::TMobileCallStatus status;  
-    call.NotifyMobileCallStatusChange(reqState1, status);
-    
-    // we are dialing the call:
-	call.Dial(requestStatus, pckgCallDialParams, KPhoneNumber);
-		
-    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusDialling;
-    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());
-				
-    User::WaitForRequest(reqState1);            
-    call.NotifyMobileCallStatusChange(reqState2, status);
-    
-    mobileCallStatus = RMobileCall::EStatusConnecting;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData5(callId, mobileService, mobileCallStatus);
-    completeData.Close();
-    mockCallData5.SerialiseL(completeData);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-                 
-    User::WaitForRequest(reqState2);
-    call.NotifyMobileCallStatusChange(reqState3, status);
-    
-    mobileCallStatus = RMobileCall::EStatusConnected;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData6(callId, mobileService, mobileCallStatus);
-    completeData.Close();
-    mockCallData6.SerialiseL(completeData);
-
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    
-    // status call becomes 'connected' here...   
-            
-    User::WaitForRequest(reqState3);    
-	
-	// completion of the Dial() request:
-	User::WaitForRequest(requestStatus);
-
-    // Here we will trigger call duration of 15sec. Timer interval causing update
-    // of life time parameter is set to 10 sec: so we will have a one update caused
-    // by firing timer. The remainding duration ~5sec will be triggered by
-    // the call status becoming idle.
-	TUint32 duration = 10;	
-	TMockLtsyData1<TUint32> ltsyData( duration );
-	expectData.Close();
-	ltsyData.SerialiseL(expectData);
-	// firing timer will cause this:	
-	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);
-	
-	// 15 sec call duration was chosen to trigger timer firing 1 update plus last update,
-	// when call becomes idle...	
-	User::After(15000000);
-
-    // completion of the timer firing event:	
-	TRequestStatus mockLtsyStatus2;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus2);
-	iMockLTSY.CompleteL(EMmTsyUpdateLifeTimeIPC, KErrNone);	
-	
-	User::WaitForRequest(mockLtsyStatus2);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus2.Int());
-    AssertMockLtsyStatusL();
-			
-	//
-	
-	// preparing call state to become 'idle' eventually:
-	TRequestStatus notifyCallStatus;
-	RMobileCall::TMobileCallStatus callStatus = RMobileCall::EStatusUnknown;
-	call.NotifyMobileCallStatusChange(notifyCallStatus, callStatus);
-
-    // hangup call is going to LTSY:
-	TInt hangUpCause = KErrGsmReleaseByUser;
-	TBool autoStChangeDisable = ETrue;
-    TMockLtsyCallData2<TInt, TBool> mockData3(callId, mobileService, 
-                                             hangUpCause, 
-                                             autoStChangeDisable);
-    expectData.Close();                                             
-    mockData3.SerialiseL(expectData);
-    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
-                                                     
-	TRequestStatus hangupStatus;
-	call.HangUp(hangupStatus);  //<--------- hang up triggers status changes
-			
-    callStatus = RMobileCall::EStatusDisconnecting;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData7(callId, mobileService, callStatus);
-    completeData.Close();
-    mockCallData7.SerialiseL(completeData);
-    
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-	User::WaitForRequest(mockLtsyStatus);
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());        	
-	
-	User::WaitForRequest(notifyCallStatus);	
-	ASSERT_EQUALS(KErrNone, notifyCallStatus.Int());
-	ASSERT_EQUALS(RMobileCall::EStatusDisconnecting, callStatus); // <------------disconnecting status
-	
-	call.NotifyMobileCallStatusChange(notifyCallStatus, callStatus);
-	
-    callStatus = RMobileCall::EStatusIdle;
-    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData8(callId, mobileService, callStatus);
-    completeData.Close();
-    mockCallData8.SerialiseL(completeData);
-        
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
-
-    // when call becomes idle, remaining duration of the call is added to life time param in LTSY:		
-	TUint32 duration2 = 4;	// this is a dummy value, which won't be checked by mocksy engine
-	TMockLtsyData1<TUint32> ltsyData2( duration2 );
-	expectData.Close();
-	ltsyData2.SerialiseL(expectData);	
-	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);	    
-					
-	User::WaitForRequest(mockLtsyStatus);
-	// we did set a sleep time for 15sec, but after stopping timer it may give us 14 sec or 15 sec
-	// we can not determine the correct value for the mockLTSY;
-	// we tell mocksy engine to ignore duration param value	
-    AssertMockLtsyStatusL();
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());        	
-    	
-	User::WaitForRequest(notifyCallStatus);
-	ASSERT_EQUALS(KErrNone, notifyCallStatus.Int());
-	ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus); // <-------- idle status
-			
-	User::WaitForRequest(hangupStatus);
-	ASSERT_EQUALS(KErrNone, hangupStatus.Int()); // <--- then hang up is finished
-	
-	call.GetMobileCallStatus(callStatus);
-	ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);
-	
-	//
-				
-	TRequestStatus mockLtsyStatus3;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus3);
-	iMockLTSY.CompleteL(EMmTsyUpdateLifeTimeIPC, KErrNone);	
-	
-	User::WaitForRequest(mockLtsyStatus3);
-	ASSERT_EQUALS(KErrNone, mockLtsyStatus3.Int());
-	
-	call.Close();	
-			
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(1);
-	CleanupStack::PopAndDestroy(4, 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 CallControl in the Common TSY.
+// 
+//
+
+/**
+ @file      
+*/
+
+#include "cctsycallcontrolfu.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>
+#include <etelmmerr.h>
+#include "MmTsy_timeoutdefs.h"
+
+CTestSuite* CCTsyCallControlFU::CreateSuiteL(const TDesC& aName)
+	{
+	SUB_SUITE;
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0008L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00010L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCall00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0001cL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006bL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006cL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006dL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006eL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006fL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006gL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006hL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0006iL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0008L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009bL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial0009cL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial00010L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDial00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00010L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011bL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00011cL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00012L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00014L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHangUp00015L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestHold0001aL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSwap00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestResume00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDeflect0003L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTransfer00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateAllCalls0005L);	
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001bL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0001cL);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0002L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0004L);
+    ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestTerminateActiveCalls0005L);  
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestSetIncomingCallType0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0005L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestAnswerIncomingCallISV00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialISV00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestDialCallControl00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestEnumerateCall00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestNotifyHookChange00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestCompleteNotifyStatusChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyCallControlFU, TestUpdateLifeTime0001L);	
+
+	END_SUITE;
+	}
+
+
+//
+// Actual test cases
+//
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus requestNotify;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+   
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData, KErrNotSupported);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrGeneral, expectData);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::AnswerIncomingCall when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::AnswerIncomingCall
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST : Call AnswerIncomingCall with null description
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    
+    TPtr8 null(NULL,0);
+    call.AnswerIncomingCall(requestStatus, null);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
+	// covers "if ( 0 < answerCallHandle )" condition
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+	CleanupClosePushL(call2);
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call.Close();
+
+	CloseIncomingCallL(call2, callId, mobileService);
+	AssertMockLtsyStatusL();
+
+ 	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
+	// covers "else if( activeCall && 
+	//                ( !( KETelExt3rdPartyV1 == activeCall->GetExtensionId() ) &&
+	//                ( KETelExt3rdPartyV1 == extensionId ) ) )" condition
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusRinging;
+
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+    errorCode = call1.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+
+ 	//-------------------------------------------------------------------------
+
+ 	TName incomingCallName2;
+ 	TInt callId2 = 2;
+	mobileCallStatus = RMobileCall::EStatusConnected;
+ 	
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
+
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
+	call1.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGsmNotAllowed, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus2.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(7, this); // expectData, completeData, call, line, call2
+										  // this, call1 
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::AnswerIncomingCall for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::AnswerIncomingCall for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrCancel, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();                                             
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+    call.CancelAsyncRequest(EEtelCallAnswer);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(4); // this, expectData, call, line
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::AnswerIncomingCall for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::AnswerIncomingCall for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	CleanupClosePushL(call1);
+
+	RCall call2;
+	CleanupClosePushL(call2);
+
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+  
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
+
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// close incoming call1
+    CloseIncomingCallL(call1, callId1, mobileService);
+	AssertMockLtsyStatusL();
+
+	// close incoming call2
+    CloseIncomingCallL(call2, callId2, mobileService);
+	AssertMockLtsyStatusL();
+
+	//-------------------------------------------------------------------------
+	// Test for increase coverage
+ 	//-------------------------------------------------------------------------
+
+	line1.NotifyIncomingCall(requestStatus1, incomingCallName1);   
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+	
+	mobileCallStatus = RMobileCall::EStatusConnected;
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusHold;
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGsmNotAllowed, requestStatus1.Int());
+
+ 	//-------------------------------------------------------------------------
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(5, this); // phone2, telServer2, expectData, this, completeData
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData, KErrNotSupported);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrGeneral, expectData);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::AnswerIncomingCall when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::AnswerIncomingCall
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmDataCallTsy::AnswerIncomingCall coverage
+	// covers "if ( 0 < iAnswerCallHandle )" condition
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+	CleanupClosePushL(call2);
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    RMobileCall::TMobileCallParamsV1 callParamsV2;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV2(callParamsV2);
+	call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV2);
+
+	iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+	
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmDataCallTsy::AnswerIncomingCall coverage
+	// covers "if ( iCallCaps.iFlags & RCall::KCapsAnswer || 
+	//              RCall::EStatusIdle == iCallStatus )" condition
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+    // call CMmDataCallTsy::CompleteNotifyStatusChange for set 
+    // iCallCaps.iFlags &= ~( RCall::KCapsAnswer );
+    
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
+    mockCallData2.SerialiseL(completeData);
+
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+    // call CMmVoiceLineTsy::CompleteNotifyIncomingCall for set iCallId = 1.
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    completeData.Close();
+    mockCallData1.SerialiseL(completeData);
+	
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+ 	//-------------------------------------------------------------------------
+
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(2); // call2, line
+	
+	CloseIncomingCallL(call, callId, mobileService);
+	CleanupStack::PopAndDestroy(3); // expectData, call, completeData
+
+	CleanupStack::PopAndDestroy(1, this);
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::AnswerIncomingCall for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::AnswerIncomingCall for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0007L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+  
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrCancel, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+    call.CancelAsyncRequest(EEtelCallAnswer);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(4); // this, expectData, call, line
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0008
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with bad parameter data for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall with bad parameter data for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0008L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	RCall call;
+	CleanupClosePushL(call);
+	
+	// open new line for KMmTsyVoice1LineName
+	RLine line;
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+	//-------------------------------------------------------------------------
+	// Test B: Test passing wrong descriptor size to parameter in
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+   
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    
+    TPtr8 null(NULL,0);
+    call.AnswerIncomingCall(requestStatus, null);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::AnswerIncomingCall for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::AnswerIncomingCall for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall0009L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	CleanupClosePushL(call1);
+
+	RCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+  
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call1.AnswerIncomingCall(requestStatus1, mmParamsPckgV1);
+
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV2;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV2(callParamsV2);
+    call2.AnswerIncomingCall(requestStatus2, mmParamsPckgV2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-00010
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall with timeout for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall and tests for timeout for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall00010L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+ 
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST : Call AnswerIncomingCall with null description
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);
+    iMockLTSY.CompleteL(EEtelCallAnswer, KErrNone, expectData);
+    
+    TPtr8 null(NULL,0);
+    call.AnswerIncomingCall(requestStatus, null);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAIC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::AnswerIncomingCall for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::AnswerIncomingCall for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCall00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyFaxLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+   
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCall(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, call, line
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    TName name;
+	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+			
+	RMobileCall::TMobileCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	RCall::TCallParams callParamsX;
+	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX.iInterval        = 100;
+	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   
+    expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	// Checking that we can return a specific error - KErrGsmCSConnectionBarred 
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGsmCSConnectionBarred, completeData);
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGsmCSConnectionBarred, requestStatus.Int());
+	
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::Dial when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::Dial
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to check that RCall::Dial works fine with RMobileCall::TMobileCallParamsV1
+ 	//-------------------------------------------------------------------------
+	// open new call
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(line, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	RMobileCall::TMobileCallParamsV1Pckg callParamsV1Pkg(callParamsV1);
+	callParamsV1.iCug.iCugIndex = 0xFFFF;
+	callParamsV1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnExceptDuringDialling;
+	callParamsV1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeOff;
+	callParamsV1.iInterval        = 100;
+	callParamsV1.iWaitForDialTone = RCall::EDialToneNoWait;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockDataV1(0, mobileService, callParamsV1, callInfo);
+
+	expectData.Close();
+	mockDataV1.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+		
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+		
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	call.Dial(requestStatus, callParamsV1Pkg, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+	RMobileCall::TMobileCallParamsV1 checkParams;
+	RMobileCall::TMobileCallParamsV1Pckg checkParamsPkg(checkParams);
+	call.GetCallParams(checkParamsPkg);
+	
+	TInt compareResult = ((checkParams.iSpeakerControl !=  callParamsV1.iSpeakerControl) ||
+			(checkParams.iSpeakerVolume != callParamsV1.iSpeakerVolume) ||
+			(checkParams.iInterval != callParamsV1.iInterval) ||
+			(checkParams.iWaitForDialTone != callParamsV1.iWaitForDialTone) ||
+			(checkParams.iCug.iCugIndex != callParamsV1.iCug.iCugIndex)); 
+	
+	if(KErrNone != compareResult)	
+		{
+		ERR_PRINTF1(_L("RCall::GetCallParams did not return the same params as that used for Dial"));
+		ASSERT_EQUALS(KErrNone, compareResult);
+		}
+	
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST : to check that RCall::Dial works fine with RMobileCall::TMobileCallParamsV2
+	//-------------------------------------------------------------------------
+	// open new call
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(line, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	RMobileCall::TMobileCallParamsV2 callParamsV2;
+	RMobileCall::TMobileCallParamsV2Pckg callParamsV2Pkg(callParamsV2);
+	callParamsV2.iBearerMode =  RMobileCall::EMulticallNewBearer;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+			mockDataV2(0, mobileService, callParamsV2, callInfo);
+
+	expectData.Close();
+	mockDataV2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+			
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+			
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	call.Dial(requestStatus, callParamsV2Pkg, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+		
+	RMobileCall::TMobileCallParamsV2 checkParamsV2;
+	RMobileCall::TMobileCallParamsV2Pckg checkParamsV2Pkg(checkParamsV2);
+	call.GetCallParams(checkParamsV2Pkg);
+		
+	if(KErrNone != compareResult)	
+		{
+		ERR_PRINTF1(_L("RCall::GetCallParams did not return the same V2 params as that used for Dial"));
+		ASSERT_EQUALS(KErrNone, compareResult);
+		}
+		
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
+ 	//-------------------------------------------------------------------------
+
+	TName incomingCallName;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+    CloseIncomingCallL(call, callId, mobileService);
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "else if ( ( activeCall ) && ( KETelExt3rdPartyV1 == extensionId ) &&
+	//         ( KETelExt3rdPartyV1 != activeCall->GetExtensionId() ) )" condition
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall mobileCall;
+    mobileCallStatus = RMobileCall::EStatusConnected;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(mobileCall);
+   	errorCode = mobileCall.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsXX;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParamsXX(callParamsXX);
+	mobileCall.DialISV(requestStatus, pckgCallParamsXX, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus.Int());
+
+    call.Close();
+	AssertMockLtsyStatusL();
+    mobileCall.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "else" condition in case of 
+	// impossible of conditions "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )",
+	// "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )",
+	// "else if ( ( 0 < dialHandle ) || ( ( KETelExt3rdPartyV1 == extensionId )
+	// && ( 0 < dialHandleISV ) && !i3rdPartyEmergencyNumberCheckDone  ) )",
+	// "else if ( ( activeCall ) && ( KETelExt3rdPartyV1 == extensionId )
+	// && ( KETelExt3rdPartyV1 != activeCall->GetExtensionId() ) )" and
+	// "else if( extensionId == KETelExt3rdPartyV1 && 
+	// !i3rdPartyEmergencyNumberCheckDone )".
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+    mobileCallStatus = RMobileCall::EStatusConnected;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+	call2.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+    call.Close();
+	AssertMockLtsyStatusL();
+    call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	TRfStateInfo rfInfo = ERfsStateInfoInactive;
+	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
+	
+    expectData.Close();
+    mockData1.SerialiseL(expectData);
+    
+	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGsmOfflineOpNotAllowed, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0001b
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with minimal parameters (RCall::TCallParams)
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0001bL()
+    {
+    
+    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 expectedCallId = 0;
+
+    RMobileCall::TMobileCallParamsV7 callParams; 
+    RMobileCall::TMobileCallParamsV7Pckg    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
+
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, 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.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0001c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for voice calls with changing parameters
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0001cL()
+    {
+    
+    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 expectedCallId = 0;
+    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
+    
+    // A. Call with V7 params.
+    // Fill the params with random values
+    RMobileCall::TMobileCallParamsV7 callParams;
+    RMobileCall::TMobileCallParamsV7Pckg    pckgCallParams(callParams);
+    callParams.iAlphaId.Copy(_L("Alpha Id"));
+    callParams.iIconId.iQualifier = RMobileCall::ESelfExplanatory;
+    callParams.iIconId.iIdentifier = 0x0A;
+    callParams.iBCRepeatIndicator = RMobileCall::EBCServiceChangeAndFallbackMode;
+    callParams.iBearerCap2.Copy(_L("Cap2"));
+    callParams.iBearerCap1.Copy(_L("Cap1"));
+    callParams.iSubAddress.Copy(_L("SubAddress"));
+    callParams.iCallParamOrigin = RMobileCall::EOriginatorEtelClient;
+    callParams.iBearerMode = RMobileCall::EMulticallShareBearer;
+    callParams.iIdRestrict = RMobileCall::EDontSendMyId;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xAABB;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = ETrue;
+    callParams.iAutoRedial = ETrue;
+    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlOnUntilCarrier; 
+    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iInterval = 0;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, KErrNone, completeData);
+
+    call.Dial(requestStatus, pckgCallParams, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    // B. Call with V0 params. 
+    // The CTSY should send the default V7 values to the LTSY, and not the previous call parameters which are irrelevant.  
+    // Fill the params with other random values.
+    callParams.iAlphaId.Zero();
+    callParams.iIconId.iQualifier = RMobileCall::EIconQualifierNotSet;
+    callParams.iIconId.iIdentifier = 0x00;
+    callParams.iBCRepeatIndicator = RMobileCall::EBCAlternateMode;
+    callParams.iBearerCap2.Zero();
+    callParams.iBearerCap1.Zero();
+    callParams.iSubAddress.Zero();
+    callParams.iCallParamOrigin = RMobileCall::EOriginatorUnknown;
+    callParams.iBearerMode = RMobileCall::EMulticallNotSupported;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    callParams.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOn; 
+    callParams.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
+    callParams.iInterval = 12;
+    callParams.iWaitForDialTone = RCall::EDialToneNoWait;
+    
+
+    RMobileCall::TCallParams callParams0;
+    callParams0.iSpeakerControl = callParams.iSpeakerControl; 
+    callParams0.iSpeakerVolume = callParams.iSpeakerVolume;
+    callParams0.iInterval = callParams.iInterval;
+    callParams0.iWaitForDialTone = callParams.iWaitForDialTone; 
+    RCall::TCallParamsPckg   pckgCallParams0(callParams0);
+
+    expectData.Close();
+    TMockLtsyCallData2< RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8 >
+        mockCallData2(1, mobileService, callParams, callInfo);
+    mockCallData2.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    
+    completeData.Close();
+    callInfoData.SerialiseL(completeData);
+    //Complete Mobile Call Info in order to set the call ID 
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, completeData);
+    
+    completeData.Close();
+    mockDataComplete.SerialiseL(completeData);
+    // Complete the Dial
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    call.Dial(requestStatus, pckgCallParams0, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Dial for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	RMobileCall::TMobileCallParamsV7 callParams;
+    callParams.iInterval = 100;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+    callParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+    callParams.iWaitForDialTone = RCall::EDialToneWait;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	callInfo.iStatus    = RMobileCall::EStatusUnknown;
+	callInfo.iCallId    =-1;
+	callInfo.iExitCode  =0; 
+	callInfo.iEmergency =0;
+	callInfo.iForwarded =0; 
+	callInfo.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+	callInfo.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = ETrue;
+	TMockLtsyCallData2<TInt, TBool> mockCallData2(callId, mobileService, 
+												  hangUpCause, 
+												  autoStChangeDisable);
+
+	RCall::TCallParams callParamsX;
+	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX.iInterval        = 100;
+	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+
+   //-------------------------------------------------------------------------
+    // Test cancelling of RCall::Dial
+    // before than LTSY sends any completions
+    //-------------------------------------------------------------------------
+    
+    // open new call
+    CleanupClosePushL(call);
+    errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+       
+    call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+    call.CancelAsyncRequest(EEtelCallDial);
+    
+    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+    
+    RMobileCall::TMobileCallStatus  mobileCallStatus = RMobileCall::EStatusDialling; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus(callId, mobileService, mobileCallStatus);
+    completeData.Close();
+    mockCallDataStatus.SerialiseL(completeData);
+
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+
+    expectData.Close();
+    mockCallData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    
+    User::WaitForRequest(mockLtsyStatus);
+
+    // 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);
+    
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
+        
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+    call.Close();
+    AssertMockLtsyStatusL();
+    CleanupStack::PopAndDestroy(1);
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::Dial
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+		
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	completeData.Close();
+	mockCallDataStatus.SerialiseL(completeData);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+
+	User::WaitForRequest(mockLtsyStatus);
+
+    expectData.Close();
+    mockCallData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+    // Cancelled Dial request. After this CTSY hangs up the call and it goes to idle state.
+    call.CancelAsyncRequest(EEtelCallDial);
+	completeData.Close();
+	mockCallDataStatus2.SerialiseL(completeData);
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
+		
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial with bad parameter data for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial with bad parameter data for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0003L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    TName name;
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	RMobileCall::TMobileCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test passing wrong version of parameters to
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	RMobileCall::TEtel3rdPartyMobileCallParamsV1 paramsV1;
+   	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgParamsV1(paramsV1);
+
+   	call.Dial(requestStatus, pckgParamsV1, KPhoneNumber);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrArgument, requestStatus.Int());
+
+	call.Close();
+	CleanupStack::PopAndDestroy(&call);
+
+	//-------------------------------------------------------------------------
+	// Test B: Test passing wrong descriptor size to parameter in
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+    _LIT8(KTempDesC8,"A");
+	TBuf8<1> tempDes(KTempDesC8);
+   	
+   	call.Dial(requestStatus, tempDes, KPhoneNumber);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrArgument, requestStatus.Int());
+
+	call.Close();
+	CleanupStack::PopAndDestroy(&call);
+
+	//-------------------------------------------------------------------------
+	// Test C: Test passing empty descriptor size to parameter in
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	TBuf8<1> nullDes(KNullDesC8);
+
+    // If aCallParams is empty it is handled as there are no call parameters
+    // and CTSY uses default values
+   	call.Dial(requestStatus, nullDes, KPhoneNumber);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	call.Close();
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(&call);
+	CleanupStack::PopAndDestroy(4); // completeData, expectData, line, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::Dial for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	RCall call2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+
+	// open new line1 and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName name;
+
+	_LIT(KPhoneNumber1, "101632960000");   	
+	_LIT(KPhoneNumber2, "654654864531");   	
+   	
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	RMobileCall::TMobileCallParamsV7 callParams1;
+	callParams1.iInterval = 100;
+	callParams1.iCug.iCugIndex = 0xFFFF;
+	callParams1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParams1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParams1.iWaitForDialTone = RCall::EDialToneWait;
+	callParams1.iIdRestrict = RMobileCall::EIdRestrictDefault;
+	callParams1.iCug.iExplicitInvoke = EFalse;
+	callParams1.iCug.iSuppressPrefCug = EFalse;
+	callParams1.iCug.iSuppressOA = EFalse;
+	callParams1.iAutoRedial = EFalse;
+	
+	RMobileCall::TMobileCallParamsV7 callParams2;
+	callParams2.iInterval = 200;
+	callParams2.iCug.iCugIndex = 0xFFFF;
+	callParams2.iSpeakerControl  = RCall::EMonitorSpeakerControlAlwaysOn;
+	callParams2.iSpeakerVolume   =RCall::EMonitorSpeakerVolumeMedium;
+	callParams2.iWaitForDialTone = RCall::EDialToneWait;
+	callParams2.iIdRestrict = RMobileCall::EIdRestrictDefault;
+	callParams2.iCug.iExplicitInvoke = EFalse;
+	callParams2.iCug.iSuppressPrefCug = EFalse;
+	callParams2.iCug.iSuppressOA = EFalse;
+	callParams2.iAutoRedial = EFalse;
+    
+    
+    
+	RMobileCall::TMobileCallInfoV8 callInfo1;
+	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+	callInfo1.iService = mobileService;
+	callInfo1.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	callInfo1.iStatus    = RMobileCall::EStatusUnknown;
+	callInfo1.iCallId    =-1;
+	callInfo1.iExitCode  =0; 
+	callInfo1.iEmergency =0;
+	callInfo1.iForwarded =0; 
+	callInfo1.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+	callInfo1.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+
+
+	RMobileCall::TMobileCallInfoV8 callInfo2;
+	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
+	callInfo2.iService = mobileService;
+	callInfo2.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	callInfo2.iStatus    = RMobileCall::EStatusUnknown;
+	callInfo2.iCallId    =-1;
+	callInfo2.iExitCode  =0; 
+	callInfo2.iEmergency =0;
+	callInfo2.iForwarded =0; 
+	callInfo2.iPrivacy               = RMobilePhone::EPrivacyUnspecified;
+	callInfo2.iAlternatingCall       = RMobilePhone::EAlternatingModeUnspecified;    
+
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockData21(0, mobileService, callParams1, callInfo1);
+
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockData22(0, mobileService, callParams2, callInfo2);
+
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	TMockLtsyCallData0 mockData02(callId2, mobileService);
+
+	RCall::TCallParams callParamsX1;
+	TPckg<RCall::TCallParams> pckgCallParamsX1(callParamsX1);
+	callParamsX1.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX1.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX1.iInterval        = 100;
+	callParamsX1.iWaitForDialTone = RCall::EDialToneWait;
+
+	RCall::TCallParams callParamsX2;
+	TPckg<RCall::TCallParams> pckgCallParamsX2(callParamsX2);
+	callParamsX2.iSpeakerControl  = RCall::EMonitorSpeakerControlAlwaysOn;
+	callParamsX2.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeMedium;
+	callParamsX2.iInterval        = 200;
+	callParamsX2.iWaitForDialTone = RCall::EDialToneNoWait;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    call1.Dial(requestStatus1, pckgCallParamsX1, KPhoneNumber1);
+    User::After(1000);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgCallParamsX2, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	RMobileCall::TMobileCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	RCall::TCallParams callParamsX;
+	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX.iInterval        = 100;
+	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::Dial
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+    
+   	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006
+@SYMDEF DEF127552
+@SYMREQ	7745
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+
+N.B. As the test case BA-CTSY-CCON-CD-0006 has a very long running time, it is split into sub-test cases.
+The rationale for that is as following: When the call duration of a test case exceeds 10sec, CTYS sends
+a life time update to LTSY. If a test case duration is at the border of ~10sec, the life time update
+notification is completed depending on the speed of working environment. It varies machine to machine 
+or board to board. Therefore, BA-CTSY-CCON-CD-0006 is divided into smaller parts where each part takes
+far less than 10sec.
+*/
+void CCTsyCallControlFU::TestDial0006L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+			
+	RMobileCall::TMobileDataCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    callParams.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParams.iCug.iExplicitInvoke = EFalse;
+    callParams.iCug.iSuppressPrefCug = EFalse;
+    callParams.iCug.iSuppressOA = EFalse;
+    callParams.iAutoRedial = EFalse;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
+	
+	RCall::TCallParams callParamsX;
+	
+	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX.iInterval        = 100;
+	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+	
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::Dial when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    // we are dialing the call:
+    call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+  	call.Close();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST D (Reloaded): Successful completion request of
+	// RCall::Dial with TCallParams when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileDataCallParamsV8 callParamsDefault;
+    callParamsDefault.iInterval = 4;
+    callParamsDefault.iCug.iCugIndex = 0xFFFF;
+    callParamsDefault.iIdRestrict = RMobileCall::EIdRestrictDefault;
+    callParamsDefault.iCug.iExplicitInvoke = EFalse;
+    callParamsDefault.iCug.iSuppressPrefCug = EFalse;
+    callParamsDefault.iCug.iSuppressOA = EFalse;
+    callParamsDefault.iAutoRedial = EFalse;
+       
+    TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+    mockData3(0, mobileService, callParamsDefault, callInfo);
+    
+    expectData.Close();
+	mockData3.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX); // passing TCallParams
+	
+    // we are dialing the call:
+    call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+  	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006b
+@SYMDEF DEF127552
+@SYMREQ	7745
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006bL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+			
+	RMobileCall::TMobileDataCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
+	
+	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::Dial
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmDataCallTsy::Dial coverage
+	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
+ 	//-------------------------------------------------------------------------
+
+	TName incomingCallName;
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// close incoming call
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = EFalse;
+	RMobilePhone::TMobileService mobileServiceX = RMobilePhone::ECircuitDataService;
+    TMockLtsyCallData2<TInt, TBool> mockData2x(callId, mobileServiceX, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();
+    mockData2x.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmDataCallTsy::Dial coverage
+	// covers "else" condition in case of impossible of conditions
+	// "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )",
+	// "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" and
+	// "else if ( 0 < dialHandle )"
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusDisconnectingWithInband;
+    TInt callId3 = 3;
+    TName incomingCallName3;
+    
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId3, incomingCallName3, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusDisconnecting;
+    TInt callId2 = 2;
+    TName incomingCallName2;
+    
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId2, incomingCallName2, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusRinging;
+    //-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+   
+  	// open new call
+ 	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrEtelCallAlreadyActive, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+      	
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmDataCallTsy::Dial coverage
+	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	TRfStateInfo rfInfo = ERfsStateInfoInactive;
+	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
+    expectData.Close();
+    mockData1.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	rfInfo = (TRfStateInfo) 0;
+	TMockLtsyData1<TRfStateInfo> mockDataRf(rfInfo);
+	expectData.Close();
+	mockDataRf.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());		 
+			 		 
+	// call CMmVoiceCallTsy::CompleteNotifyStatusChange for setting 
+	// iMobileCallStatus = RMobileCall::EStatusIdle.
+	RMobileCall::TMobileCallStatus mobileCallSt = RMobileCall::EStatusIdle; 
+	TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallSt);
+	completeData.Close();
+	mockCallDataStatus2.SerialiseL(completeData);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+		
+	User::WaitForRequest(mockLtsyStatus);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+	//-------------------------------------------------------------------------
+	// Tests for TMobileDataCallParamsV2
+	
+	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
+	dataCallParams2.iInterval = 4;
+	dataCallParams2.iCug.iCugIndex = 0xFFFF;
+	dataCallParams2.iQoS = RMobileCall::EQosTransparentPreferred;
+	dataCallParams2.iBearerMode = RMobileCall::EMulticallShareBearer;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockDataCallParams2(0, mobileService, dataCallParams2, callInfo);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A2: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+   // expectData.Close();
+    mockDataCallParams2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B2: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C2: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	// we are dialing the call:
+    call.Dial(requestStatus, pckgMockDataCallParams2, KPhoneNumber);
+    
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+	
+    // completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+     
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+  
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+// Returns sample call information variable
+void GetCallInformation8(RMobileCall::TMobileCallInfoV8& aCallInformation, const TDesC& aPhoneNumber, RMobilePhone::TMobileService aMobileService)
+	{
+	aCallInformation.iDialledParty.iTelNumber.Copy(aPhoneNumber);
+	aCallInformation.iService = aMobileService;
+	aCallInformation.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	aCallInformation.iAlphaId.Copy(_L("Alpha Id"));
+	aCallInformation.iValid |= RMobileCall::KCallAlphaId;
+	aCallInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;;
+	aCallInformation.iValid |= RMobileCall::KCallParamOrigin;
+	}
+
+// Returns sample call params variable
+void GetCallParams8(RMobileCall::TMobileDataCallParamsV8& aDataCallParams)
+	{
+	aDataCallParams.iInterval = 4;
+	aDataCallParams.iCug.iCugIndex = 0xFFFF;
+	aDataCallParams.iQoS = RMobileCall::EQosTransparentPreferred;
+	aDataCallParams.iBearerMode = RMobileCall::EMulticallShareBearer;
+	aDataCallParams.iSubAddress.Copy(_L("An Unknown SubAddress"));
+	aDataCallParams.iAlphaId.Copy(_L("Alpha Id"));
+	aDataCallParams.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006c
+@SYMDEF DEF127552
+@SYMREQ	7745
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006cL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+		
+	TInt errorCode = KErrNone;
+	TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+		
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "135468456456");   	
+	   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    
+	//-------------------------------------------------------------------------
+	// Tests for TMobileDataCallParamsV8
+	
+	RMobileCall::TMobileCallInfoV8 callInformation;
+	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
+	
+	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
+	GetCallParams8(dataCallParams8);
+		
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockDataCallParams8(0, mobileService, dataCallParams8, callInformation);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A3: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B3: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C3: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	// we are dialing the call:
+    call.Dial(requestStatus, pckgMockDataCallParams8, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+	call.Close();
+	CleanupStack::PopAndDestroy(1); // call
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006d
+@SYMDEF DEF127552
+@SYMREQ	7745
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls. It is in connection to BA-CTSY-CCON-CD-0006.
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006dL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+			
+	TInt errorCode = KErrNone;
+	TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+			
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+	_LIT(KPhoneNumber, "135468456456"); 
+	
+	TInt callId = 1;
+	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	RMobileCall::TMobileCallInfoV8 callInformation;
+	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
+	
+	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
+	GetCallParams8(dataCallParams8);
+			
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+			mockDataCallParams8(0, mobileService, dataCallParams8, callInformation);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
+	
+	//-------------------------------------------------------------------------
+	// Tests for default parameters
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A4: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B4: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C4: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+    mockDataCallParams8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+	
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	// we are dialing the call:
+    call.Dial(requestStatus, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+	call.Close();
+	CleanupStack::PopAndDestroy(1); // call
+	
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006e
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0006
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006eL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+			
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	//-------------------------------------------------------------------------
+	// Test: Test passing RMobileCall::TMobileHscsdCallParamsV1 to
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams;
+
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdData(0, mobileService, hscsdCallParams, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdParams1(hscsdCallParams);
+
+	//-------------------------------------------------------------------------
+	// TEST A4: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockHscsdData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B4: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C4: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+	
+	// open new call   	
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	// we are dialing the call:
+    call.Dial(requestStatus, pckgMockHscsdParams1, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006f
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0006
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006fL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "135468456456");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    
+    RMobileCall::TMobileCallInfoV8 callInfo;
+    callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+    callInfo.iService = mobileService;
+    callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+    	
+	//-------------------------------------------------------------------------
+    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV2 to
+	// RCall::Dial
+	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
+
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdData2(0, mobileService, hscsdCallParams2, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdParams2(hscsdCallParams2);
+
+	//-------------------------------------------------------------------------
+	// TEST A5: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockHscsdData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B5: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C5: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+
+	// open new call   	
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(line, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    // we are dialing the call:
+    call.Dial(requestStatus, pckgMockHscsdParams2, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006g
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams.It is in connection to BA-CTSY-CCON-CD-0006
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006gL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	//-------------------------------------------------------------------------
+    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV7 to
+	// RCall::Dial
+	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
+	
+	// TMobileHscsdCallParamsV7 params for Dial
+    hscsdCallParams7.iInterval = 4;
+    hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
+    hscsdCallParams7.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
+    hscsdCallParams7.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
+    hscsdCallParams7.iWaitForDialTone = RCall::EDialToneWait;
+    hscsdCallParams7.iQoS = RMobileCall::EQosTransparentPreferred;
+    hscsdCallParams7.iV42bisReq = RMobileCall::EV42bisTxDirection;
+    hscsdCallParams7.iWantedRxTimeSlots = 2; 
+    hscsdCallParams7.iCodings = 3;
+    hscsdCallParams7.iBearerMode = RMobileCall::EMulticallShareBearer;
+    hscsdCallParams7.iAlphaId.Copy(_L("Alpha Id"));
+    hscsdCallParams7.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    
+	RMobileCall::TMobileCallInfoV8 callInformation;
+	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
+
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdData7(0, mobileService, hscsdCallParams7, callInformation);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdParams7(hscsdCallParams7);
+
+	//-------------------------------------------------------------------------
+	// TEST A6: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockHscsdData7.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B6: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData7.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C6: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+
+	// open new call   	
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(line, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData7.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    // we are dialing the call:
+    call.Dial(requestStatus, pckgMockHscsdParams7, KPhoneNumber);
+	
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+    
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006h
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with HscsdCallParams.It is in connection to BA-CTSY-CCON-CD-0006
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006hL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+	_LIT(KPhoneNumber, "135468456456");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	//-------------------------------------------------------------------------
+    // Test: Test passing RMobileCall::TMobileHscsdCallParamsV8 to
+	// RCall::Dial
+	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
+	
+	// TMobileHscsdCallParamsV8 params for Dial
+    hscsdCallParams8.iInterval = 2;
+    hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
+    hscsdCallParams8.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
+    hscsdCallParams8.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
+    hscsdCallParams8.iWaitForDialTone = RCall::EDialToneWait;
+    hscsdCallParams8.iQoS = RMobileCall::EQosTransparentPreferred;
+    hscsdCallParams8.iV42bisReq = RMobileCall::EV42bisTxDirection;
+    hscsdCallParams8.iWantedRxTimeSlots = 2; 
+    hscsdCallParams8.iCodings = 3;
+    hscsdCallParams8.iBearerMode = RMobileCall::EMulticallShareBearer;
+    hscsdCallParams8.iAlphaId.Copy(_L("Alpha Id"));
+    hscsdCallParams8.iSubAddress.Copy(_L("An Unknown SubAddress"));
+    hscsdCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+
+	RMobileCall::TMobileCallInfoV8 callInformation;
+	GetCallInformation8(callInformation, KPhoneNumber(), mobileService);
+	
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdData8(0, mobileService, hscsdCallParams8, callInformation);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdParams8(hscsdCallParams8);
+
+	//-------------------------------------------------------------------------
+	// TEST A7: failure to dispatch request to LTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockHscsdData8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNotSupported);
+
+	call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST B7: failure on completion of pending request from LTSY->CTSY 
+ 	//-------------------------------------------------------------------------
+	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrGeneral, completeData);
+
+	call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-------------------------------------------------------------------------
+	// TEST C6: Successful completion request of
+	// RCall::Dial when result is not cached
+ 	//-------------------------------------------------------------------------
+	
+	// open new call   	
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(line, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdData8.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+	// we are dialing the call:
+    call.Dial(requestStatus, pckgMockHscsdParams8, KPhoneNumber);
+		
+    CompleteDialStatusNotificationsL(call, callId, mobileService );
+    
+	// completion of the Dial() request:
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+      
+    CompleteCallDisconnectNotificationsL(callId, mobileService);
+	
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0006i
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for data calls with minimal parameters (RCall::TCallParams)
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0006iL()
+    {
+    
+    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 expectedCallId = 0;
+
+    RMobileCall::TMobileDataCallParamsV8 callParams; 
+    RMobileCall::TMobileDataCallParamsV8Pckg    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.iDialledParty.iTelNumber.Copy( KSomeNumber );
+    callInfo.iDialledParty.iNumberPlan = RMobilePhone::EUnknownNumberingPlan;
+    callInfo.iDialledParty.iTypeOfNumber = RMobilePhone::EUnknownNumber;   
+
+    TMockLtsyCallData2< RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8 >
+    mockCallData(expectedCallId, mobileService, callParams, callInfo);
+    mockCallData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(EEtelCallDial, 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(EEtelCallDial, 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.Dial(requestStatus, pckgCallParamsX, KSomeNumber);   
+        
+    User::WaitForRequest(requestStatus);          
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();   
+    
+    CleanupStack::PopAndDestroy(5,this);
+    
+    }
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::Dial for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0007L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+	TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "135468456456");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+	RMobileCall::TMobileDataCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	
+    RMobileCall::TMobileCallStatus  mobileCallStatus2 = RMobileCall::EStatusIdle; 
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallDataStatus2(callId, mobileService, mobileCallStatus2);
+    completeData.Close();
+    mockCallDataStatus2.SerialiseL(completeData);
+		
+	
+    // Call Specific data
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
+	
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+	
+    DialDataCallAndCancelL(line,pckgMockParams1,expectData,completeData);
+	
+	//------------------------------------------------------------------
+	// TMobileDataCallParamsV2
+	
+	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
+    dataCallParams2.iInterval = 4;
+    dataCallParams2.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockDataCall2(0, mobileService, dataCallParams2, callInfo);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
+	
+    expectData.Close();
+    mockDataCall2.SerialiseL(expectData);
+    
+    DialDataCallAndCancelL(line,pckgMockDataCallParams2,expectData,completeData);
+	
+	//------------------------------------------------------------------
+	// TMobileDataCallParamsV8
+	
+	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
+    dataCallParams8.iInterval = 4;
+    dataCallParams8.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockDataCall8(0, mobileService, dataCallParams8, callInfo);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
+	
+    expectData.Close();
+    mockDataCall8.SerialiseL(expectData);
+
+    DialDataCallAndCancelL(line,pckgMockDataCallParams8,expectData,completeData);
+    
+	//------------------------------------------------------------------
+	// TMobileHscsdCallParamsV1
+		
+	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams;
+	hscsdCallParams.iInterval = 4;
+	hscsdCallParams.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall(0, mobileService, hscsdCallParams, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdCallParams(hscsdCallParams);
+	
+    expectData.Close();
+    mockHscsdCall.SerialiseL(expectData);
+
+    DialDataCallAndCancelL(line,pckgMockHscsdCallParams,expectData,completeData);
+	
+	//------------------------------------------------------------------
+	// TMobileHscsdCallParamsV2
+		
+	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
+	hscsdCallParams2.iInterval = 4;
+	hscsdCallParams2.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall2(0, mobileService, hscsdCallParams2, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdCallParams2(hscsdCallParams2);
+	
+    expectData.Close();
+    mockHscsdCall2.SerialiseL(expectData);
+
+    DialDataCallAndCancelL(line,pckgMockHscsdCallParams2,expectData,completeData);
+	
+	//------------------------------------------------------------------
+	// TMobileHscsdCallParamsV7
+		
+	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
+	hscsdCallParams7.iInterval = 4;
+	hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall7(0, mobileService, hscsdCallParams7, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdCallParams7(hscsdCallParams7);
+	
+    expectData.Close();
+    mockHscsdCall7.SerialiseL(expectData);
+    
+    DialDataCallAndCancelL(line,pckgMockHscsdCallParams7,expectData,completeData);
+	
+		
+	//------------------------------------------------------------------
+	// TMobileHscsdCallParamsV8
+		
+	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
+	hscsdCallParams8.iInterval = 4;
+	hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall8(0, mobileService, hscsdCallParams8, callInfo);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdCallParams8(hscsdCallParams8);
+	
+    expectData.Close();
+    mockHscsdCall8.SerialiseL(expectData);
+
+    DialDataCallAndCancelL(line,pckgMockHscsdCallParams8,expectData,completeData);
+	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
+	}
+
+void
+CCTsyCallControlFU::DialDataCallAndCancelL(RLine& aLine,const TDesC8& aCallData,RBuf8& expectData,RBuf8& completeData)
+	{
+	// open new call
+	
+	TInt errorCode = KErrNone;
+	TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+	_LIT(KPhoneNumber, "135468456456");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+	
+	TName  name; 
+	RCall call;
+	CleanupClosePushL(call);
+	errorCode = call.OpenNewCall(aLine, name);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+	call.Dial(requestStatus, aCallData, KPhoneNumber);
+
+	User::WaitForRequest(mockLtsyStatus);
+
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = EFalse;
+	TMockLtsyCallData2<TInt, TBool> mockHangupData(callId, mobileService, 
+                                       hangUpCause, 
+                                       autoStChangeDisable);
+	expectData.Close();
+	mockHangupData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	call.CancelAsyncRequest(EEtelCallDial);
+
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmReleaseByUser, completeData);
+      
+	User::WaitForRequest(requestStatus);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	}
+
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0008
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial with bad parameter data for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial with bad parameter data for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0008L()
+	{
+
+// This test should test sending bad parameter data for Dial
+// If this API does not have any parameters, then remove this test completely.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+	
+	TInt8 callParams;    // bad param
+	TPckg<TInt8> paramPckg(callParams);
+	
+	//-------------------------------------------------------------------------
+	// Test A: Test passing wrong version of parameters to
+	// RCall::Dial
+ 	//-------------------------------------------------------------------------
+	
+	// open new call   	
+	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+		
+	call.Dial(requestStatus, paramPckg, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrArgument, requestStatus.Int());
+	
+	call.Close();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0009L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	RCall call2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+
+	// open new line1 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber1, "101632960000");   	
+	_LIT(KPhoneNumber2, "654654864531");   	
+   	
+	TInt callId1 = 1;
+	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+	RMobileCall::TMobileDataCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo1;
+	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+	callInfo1.iService = mobileService;
+	callInfo1.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
+
+	RMobileCall::TMobileCallInfoV8 callInfo2;
+	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
+	callInfo2.iService = mobileService;
+	callInfo2.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockData21(0, mobileService, callParams, callInfo1);
+
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	
+	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockParams1, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockParams1, KPhoneNumber2);
+   	
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+   
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+        
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	//-----------------------------------------------------------------------
+	// TMobileDataCallParamsV2
+	RMobileCall::TMobileDataCallParamsV2 dataCallParams2;
+    dataCallParams2.iInterval = 4;
+    dataCallParams2.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockDataCall21(0, mobileService, dataCallParams2, callInfo1);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV2> pckgMockDataCallParams2(dataCallParams2);
+
+	//-------------------------------------------------------------------------
+	// Test A2: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockDataCall21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockDataCallParams2, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockDataCallParams2, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-----------------------------------------------------------------------
+	// TMobileDataCallParamsV8
+	
+	RMobileCall::TMobileDataCallParamsV8 dataCallParams8;
+	dataCallParams8.iInterval = 2;
+    dataCallParams8.iCug.iCugIndex = 0xFFFF;
+    dataCallParams8.iSpeakerControl = RCall::EMonitorSpeakerControlAlwaysOff;
+    dataCallParams8.iSpeakerVolume = RCall::EMonitorSpeakerVolumeMedium;
+    dataCallParams8.iWaitForDialTone = RCall::EDialToneWait;
+    dataCallParams8.iQoS = RMobileCall::EQosTransparentPreferred;
+    dataCallParams8.iV42bisReq = RMobileCall::EV42bisTxDirection;
+    dataCallParams8.iBearerMode = RMobileCall::EMulticallShareBearer;
+    dataCallParams8.iSubAddress.Copy(_L("An Unknown SubAddress"));
+    dataCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    dataCallParams8.iAlphaId.Copy(_L("Alpha Id"));
+    
+    RMobileCall::TMobileCallInfoV8 callInformation;
+    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+    callInformation.iService = mobileService;
+    callInformation.iValid |= RMobileCall::KCallDialledParty;
+    callInformation.iValid |= RMobileCall::KCallAlternating;
+    callInformation.iAlphaId.Copy(_L("Alpha Id"));
+    callInformation.iValid |= RMobileCall::KCallAlphaId;
+    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    callInformation.iValid |= RMobileCall::KCallParamOrigin;
+
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockDataCall81(0, mobileService, dataCallParams8, callInformation);
+
+	TPckg<RMobileCall::TMobileDataCallParamsV8> pckgMockDataCallParams8(dataCallParams8);
+
+	//-------------------------------------------------------------------------
+	// Test A3: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockDataCall81.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+    
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockDataCallParams8, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockDataCallParams8, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+		
+	// Done !
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0009b
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParams. It is in connection to BA-CTSY-CCON-CD-0009 
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0009bL()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	RCall call2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+
+	// open new line1 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber1, "101632960000");   	
+	_LIT(KPhoneNumber2, "654654864531");   	
+   	
+	TInt callId1 = 1;
+	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+	RMobileCall::TMobileCallInfoV8 callInfo1;
+	callInfo1.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+	callInfo1.iService = mobileService;
+	callInfo1.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
+
+	RMobileCall::TMobileCallInfoV8 callInfo2;
+	callInfo2.iDialledParty.iTelNumber.Copy(KPhoneNumber2);
+	callInfo2.iService = mobileService;
+	callInfo2.iValid = RMobileCall::KCallDialledParty |RMobileCall::KCallAlternating;
+	
+	//-----------------------------------------------------------------------
+	// TMobileHscsdCallParamsV1
+	RMobileCall::TMobileHscsdCallParamsV1 hscsdCallParams1;
+	hscsdCallParams1.iInterval = 4;
+	hscsdCallParams1.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall11(0, mobileService, hscsdCallParams1, callInfo1);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV1> pckgMockHscsdCallParams1(hscsdCallParams1);
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	//-------------------------------------------------------------------------
+	// Test A4: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdCall11.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockHscsdCallParams1, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockHscsdCallParams1, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-----------------------------------------------------------------------
+	// TMobileHscsdCallParamsV2
+	RMobileCall::TMobileHscsdCallParamsV2 hscsdCallParams2;
+	hscsdCallParams2.iInterval = 4;
+	hscsdCallParams2.iCug.iCugIndex = 0xFFFF;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV2, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall21(0, mobileService, hscsdCallParams2, callInfo1);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV2> pckgMockHscsdCallParams2(hscsdCallParams2);
+
+	//-------------------------------------------------------------------------
+	// Test A5: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdCall21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockHscsdCallParams2, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockHscsdCallParams2, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-----------------------------------------------------------------------
+	// TMobileHscsdCallParamsV7
+	RMobileCall::TMobileHscsdCallParamsV7 hscsdCallParams7;
+	hscsdCallParams7.iInterval = 4;
+	hscsdCallParams7.iCug.iCugIndex = 0xFFFF;
+	hscsdCallParams7.iAlphaId.Copy(_L("Alpha Id"));
+    hscsdCallParams7.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    
+    RMobileCall::TMobileCallInfoV8 callInformation;
+    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+    callInformation.iService = mobileService;
+    callInformation.iValid |= RMobileCall::KCallDialledParty;
+    callInformation.iValid |= RMobileCall::KCallAlternating;
+    callInformation.iAlphaId.Copy(_L("Alpha Id"));
+    callInformation.iValid |= RMobileCall::KCallAlphaId;
+    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    callInformation.iValid |= RMobileCall::KCallParamOrigin;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall71(0, mobileService, hscsdCallParams7, callInformation);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV7> pckgMockHscsdCallParams7(hscsdCallParams7);
+
+	//-------------------------------------------------------------------------
+	// Test A6: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdCall71.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	call1.Dial(requestStatus1, pckgMockHscsdCallParams7, KPhoneNumber1);
+
+	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockHscsdCallParams7, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	// Done !
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-0009c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParamsV8. It is in connection to Test support in CTSY for multiple client requests to RCall::Dial for data calls with HscsdCallParamsV8. It is in connection to BA-CTSY-CCON-CD-0009b
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::Dial for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial0009cL()
+	{
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RCall call1;
+	RCall call2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+
+	// open new line1 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber1, "101632960000");   	
+	_LIT(KPhoneNumber2, "654654864531");   	
+   	
+	TInt callId1 = 1;
+	RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+	RMobileCall::TMobileCallInfoV8 callInformation;
+    callInformation.iDialledParty.iTelNumber.Copy(KPhoneNumber1);
+    callInformation.iService = mobileService;
+    callInformation.iValid |= RMobileCall::KCallDialledParty;
+    callInformation.iValid |= RMobileCall::KCallAlternating;
+    callInformation.iAlphaId.Copy(_L("Alpha Id"));
+    callInformation.iValid |= RMobileCall::KCallAlphaId;
+    callInformation.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    callInformation.iValid |= RMobileCall::KCallParamOrigin;
+
+		//-----------------------------------------------------------------------
+	// TMobileHscsdCallParamsV8
+	RMobileCall::TMobileHscsdCallParamsV8 hscsdCallParams8;
+	hscsdCallParams8.iInterval = 4;
+	hscsdCallParams8.iCug.iCugIndex = 0xFFFF;
+	hscsdCallParams8.iAlphaId.Copy(_L("Alpha Id"));
+	hscsdCallParams8.iCallParamOrigin = RMobileCall::EOriginatorSIM;
+    
+	TMockLtsyCallData2<RMobileCall::TMobileHscsdCallParamsV8, RMobileCall::TMobileCallInfoV8> 
+		mockHscsdCall81(0, mobileService, hscsdCallParams8, callInformation);
+
+	TPckg<RMobileCall::TMobileHscsdCallParamsV8> pckgMockHscsdCallParams8(hscsdCallParams8);
+
+	//-------------------------------------------------------------------------
+	// Test A7: Test multiple clients requesting RCall::Dial
+ 	//-------------------------------------------------------------------------
+
+	// call first clinet
+	// open new call1
+   	CleanupClosePushL(call1);
+   	errorCode = call1.OpenNewCall(line1, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockHscsdCall81.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+    CallGetMobileCallInfoL(callId1, mobileService, KPhoneNumber1);
+    call1.Dial(requestStatus1, pckgMockHscsdCallParams8, KPhoneNumber1);
+    
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+    mockData01.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+   	
+   	// call second clinet
+	// open new call
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line2, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+   	call2.Dial(requestStatus2, pckgMockHscsdCallParams8, KPhoneNumber2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call1.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	// Done !
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-00010
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial with timeout for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial and tests for timeout for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial00010L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+	RMobileCall::TMobileDataCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgMockParams1(callParams);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::Dial
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallDial, expectData);
+    
+    CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+
+   	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	CleanupStack::PopAndDestroy(4); // expectData, completeData, this, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CD-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::Dial for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::Dial for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDial00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName name;
+
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+			
+	RMobileCall::TMobileCallParamsV1 callParams;
+    callParams.iInterval = 4;
+    callParams.iCug.iCugIndex = 0xFFFF;
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	TPckg<RMobileCall::TMobileCallParamsV1> pckgMockParams1(callParams);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::Dial
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmFaxCallTsy::Dial coverage
+	// covers "if( call->GetDialFlag() )" condition
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new call
+	RCall call2;
+   	CleanupClosePushL(call2);
+   	errorCode = call2.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.Dial(requestStatus, pckgMockParams1, KPhoneNumber);
+
+	call2.Dial(requestStatus2, pckgMockParams1, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	call2.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmFaxCallTsy::Dial coverage
+	// covers "if ( ERfsStateInfoInactive == iMmPhone->GetRfStateInfo() )" condition
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	TRfStateInfo rfInfo = ERfsStateInfoInactive;
+	TMockLtsyData1<TRfStateInfo> mockData1(rfInfo);
+    expectData.Close();
+    mockData1.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	RCall::TCallParams callParamsX;
+	TPckg<RCall::TCallParams> pckgCallParamsX(callParamsX);
+	callParamsX.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callParamsX.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callParamsX.iInterval        = 100;
+	callParamsX.iWaitForDialTone = RCall::EDialToneWait;
+	
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGsmOfflineOpNotAllowed, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmFaxCallTsy::Dial coverage
+	// covers "else if ( RMobileCall::EStatusIdle != iMobileCallStatus )" condition
+ 	//-------------------------------------------------------------------------
+
+	TName incomingCallName;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	rfInfo = ERfsStateInfoNormal;
+	TMockLtsyData1<TRfStateInfo> mockData1X(rfInfo);
+    expectData.Close();
+    mockData1X.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMmTsyBootGetRFStatusIPC, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	call.Dial(requestStatus, pckgCallParamsX, KPhoneNumber);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// close incoming call
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = EFalse;
+	RMobilePhone::TMobileService mobileServiceX = RMobilePhone::EFaxService;
+    TMockLtsyCallData2<TInt, TBool> mockData2x(callId, mobileServiceX, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();
+    mockData2x.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+	TInt callId2 = 2;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	TMockLtsyCallData0 mockData1(callId2, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // call
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::HangUp when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	CleanupStack::PopAndDestroy(1); // call
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::HangUp
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    completeData.Close();
+    mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( 0 < hangUpHandle || iHangUpFlag )" condition
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+	CleanupClosePushL(call2);
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+	call.HangUp(requestStatus);
+
+	call2.HangUp(requestStatus2);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	// close incoming call
+	call.Close();
+	AssertMockLtsyStatusL();
+
+	// close incoming call2
+ 	CloseIncomingCallL(call2, callId, mobileService);
+	CleanupStack::PopAndDestroy(1); // call2
+	
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( ( NULL != callList->GetMmCallByStatus(
+	//                RMobileCall::EStatusConnected ) ) &&
+	//              ( NULL != callList->GetMmCallByStatus(
+	//                RMobileCall::EStatusHold ) ) &&
+	//              ( NULL != callList->GetMmCallByStatus(
+	//                RMobileCall::EStatusRinging ) ) )" condition
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusConnected;
+    callId = 3;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusRinging;
+    callId = 2;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusHold;
+    callId = 1;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	callId = 2;
+	hangUpCause = KErrGsmBusyUserRequest;
+	autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2xx(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    expectData.Close();
+    mockData2xx.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData1.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+	call.HangUp(requestStatus);
+	
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+	// close incoming call for RMobileCall::EStatusRinging
+    callId = 2;
+ 	CloseIncomingCallL(call, callId, mobileService);
+
+	// open call for RMobileCall::EStatusHold
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	// close incoming call for RMobileCall::EStatusHold
+    callId = 1;
+ 	CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+	callId = 1;
+	mobileCallStatus = RMobileCall::EStatusRinging;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	hangUpCause = KErrGsmBusyUserRequest;
+	autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2xxx(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+
+    expectData.Close();
+    mockData2xxx.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // call
+
+	//
+	// Added for DEF139341 (Unexpected error note pops up after creating emergency call)
+	// Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
+	// (the client request should complete with KErrNone).
+	//
+	
+	//-------------------------------------------------------------------------
+    // create new incoming call
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+                                   mobileService, mobileCallStatus);    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    hangUpCause = KErrGsmBusyUserRequest;
+    autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData3xxx(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+
+    expectData.Close();
+    mockData3xxx.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+    completeData.Close();
+    mockData0.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
+
+    call.HangUp(requestStatus);
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    // close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+    AssertMockLtsyStatusL();
+    CleanupStack::PopAndDestroy(1); // call
+	//
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::HangUp for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+ 	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call.HangUp(requestStatus);
+	
+    call.CancelAsyncRequest(EEtelCallHangUp);
+	
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+ 	
+	User::WaitForRequest(mockLtsyStatus);
+ 	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::HangUp for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RCall call1;
+	RCall call2;
+	RLine line1;
+	RLine line2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+	
+	// open new line1
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+    
+	TName incomingCallName1;
+	TName incomingCallName2;
+	   	
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	TMockLtsyCallData0 mockData02(callId2, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call1);
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call2);
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	mockData01.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call1.HangUp(requestStatus1);
+
+    expectData.Close();
+    mockData22.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData02.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call2.HangUp(requestStatus2);
+	
+	User::WaitForRequest(requestStatus1);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+	
+	// close incoming call1
+ 	CloseIncomingCallL(call1, callId1, mobileService);
+	AssertMockLtsyStatusL();
+
+	// close incoming call2
+ 	CloseIncomingCallL(call2, callId2, mobileService);
+	AssertMockLtsyStatusL();
+	
+	CleanupStack::PopAndDestroy(2); // call1, call2
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+    TTime t1,t2; //time stamps for measuring the Time Out
+  
+    
+    t1.HomeTime(); // time stamp before request
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	t2.HomeTime(); // timestamp after request
+	
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+	TTimeIntervalSeconds diff;
+	TInt res = t2.SecondsFrom(t1,diff);
+	ASSERT_EQUALS(KErrNone, res);
+	if(diff.Int() < KMmCallHangUpTimeOut)
+	{
+        ERR_PRINTF3(_L("RCall::Hangup time out too short. Expected: %d Actual: %d "),KMmCallHangUpTimeOut, diff.Int());
+        ASSERT(false);
+	}
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+		
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::HangUp when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::HangUp
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    completeData.Close();
+    mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( 0 < hangUpHandle || iHangUpFlag )" condition
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+	CleanupClosePushL(call2);
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+	call.HangUp(requestStatus);
+
+	call2.HangUp(requestStatus2);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	// close incoming call2
+	call2.Close();
+ 	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "else if ( RCall::EStatusIdle == iCallStatus &&
+	//                   EMultimodeCallReqHandleUnknown == dialHandle )" condition
+ 	//-------------------------------------------------------------------------
+
+	TInt  callId2 = 2;
+	mobileCallStatus = RMobileCall::EStatusIdle;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId2, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	call2.HangUp(requestStatus);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+	// close incoming call2
+	call2.Close();
+ 	AssertMockLtsyStatusL();
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	
+	
+	//
+    // Added for DEF139341 (Unexpected error note pops up after creating emergency call)
+    // Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
+    // (the client request should complete with KErrNone).
+    //
+    
+    //-------------------------------------------------------------------------
+    // create new incoming call
+    TInt callId3 = 3;
+    mobileCallStatus = RMobileCall::EStatusRinging;
+    errorCode = CreateIncomingCallL(line, callId3, incomingCallName, 
+                                   mobileService, mobileCallStatus);    
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    RCall call3;
+    CleanupClosePushL(call3);
+    errorCode = call3.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    
+    TMockLtsyCallData0 mockData03(callId3, mobileService);
+    
+    expectData.Close();
+    mockData23.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    completeData.Close();
+    mockData03.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
+    
+    call3.HangUp(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	//
+    
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(6, this); // call3, call, line, completeData, expectData, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::HangUp for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0007L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+ 	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	call.HangUp(requestStatus);
+	
+	// cancel hang-up
+    // TSY has started a HangUp request and it is not possible to cancel this request
+    call.CancelAsyncRequest(EEtelCallHangUp);
+	
+	// CTSY hangs up the call and it goes to idle state
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
+    mockCallData2.SerialiseL(completeData);
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmBusyUserRequest, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	AssertMockLtsyStatusL();
+
+	CleanupStack::PopAndDestroy(5, this); // call, line, expectData, completeData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::HangUp for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp0009L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	// Open third client
+	RTelServer telServer3;
+	ret = telServer3.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer3);
+
+	RMobilePhone phone3;
+	ret = phone3.Open(iTelServer,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone3);
+
+	RCall call1;
+	RCall call2;
+	RCall call3;
+	RLine line1;
+	RLine line2;
+	RLine line3;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+    TRequestStatus requestStatus3;
+	
+	// open new line1
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line3
+	errorCode = OpenNewLineLC(phone3, line3, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName1;
+	TName incomingCallName2;
+	TName incomingCallName3;
+	   	
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+	TInt callId3 = 3;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	TMockLtsyCallData0 mockData02(callId2, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call1);
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call2);
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call3
+	
+	mobileCallStatus = RMobileCall::EStatusConnected;
+	errorCode = CreateIncomingCallL(line3, callId3, incomingCallName3, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call3);
+    errorCode = call3.OpenExistingCall(line3, incomingCallName3);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	mockData01.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call1.HangUp(requestStatus1);
+
+    expectData.Close();
+    mockData22.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData02.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call2.HangUp(requestStatus2);
+
+	hangUpCause = KErrGsmReleaseByUser;	                                              
+    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	TMockLtsyCallData0 mockData03(callId3, mobileService);
+
+    expectData.Close();
+    mockData23.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData03.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call3.HangUp(requestStatus3);
+	
+	User::WaitForRequest(requestStatus1);
+	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+	User::WaitForRequest(requestStatus2);
+	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	User::WaitForRequest(requestStatus3);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus3.Int());
+	
+	CleanupStack::PopAndDestroy(3); // call1, call2, call3
+	CleanupStack::PopAndDestroy(10, this); // phone2, telServer2, phone3, telServer3, 
+	                                      // expectData, completeData, this
+	                                      // line1, line2, line3
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00010
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp and tests for timeout for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00010L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100303);
+	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+	CleanupClosePushL(call);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData, KErrNotSupported);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RCall::HangUp when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::HangUp
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    completeData.Close();
+    mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( 0 < hangUpHandle )" condition
+ 	//-------------------------------------------------------------------------
+
+	RCall call2;
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+	CleanupClosePushL(call2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+	call.HangUp(requestStatus);
+
+	call2.HangUp(requestStatus2);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	User::WaitForRequest(requestStatus2);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	// close incoming call2
+	call2.Close();
+ 	AssertMockLtsyStatusL();	
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrGeneral, completeData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());	
+
+	
+	//
+    // Added for DEF139341 (Unexpected error note pops up after creating emergency call)
+    // Tests that CTSY treats KErrGsmReleaseByUser as a normal return code, not as an error
+    // (the client request should complete with KErrNone).
+    //
+    
+    //-------------------------------------------------------------------------
+    // create new incoming call
+    TInt callId3 = 3;
+    mobileCallStatus = RMobileCall::EStatusRinging;
+    errorCode = CreateIncomingCallL(line, callId3, incomingCallName, 
+                                   mobileService, mobileCallStatus);    
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    RCall call3;
+    CleanupClosePushL(call3);
+    errorCode = call3.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyCallData2<TInt, TBool> mockData23(callId3, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    
+    TMockLtsyCallData0 mockData03(callId3, mobileService);
+    
+    expectData.Close();
+    mockData23.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    completeData.Close();
+    mockData03.SerialiseL(completeData);
+    iMockLTSY.CompleteL(EEtelCallHangUp, KErrGsmReleaseByUser, completeData);
+    
+    call3.HangUp(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	//
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(7, this); // expectData, completeData, this, line, call, call2, call3
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00011b
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00011bL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusIdle;
+
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "else if ( RCall::EStatusIdle == iCallStatus && 
+	//                   EMultimodeCallReqHandleUnknown == dialHandle )" condition
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+	CleanupClosePushL(call);
+	AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	call.HangUp(requestStatus);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+	
+	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, this, line, call
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00011c
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00011cL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyFaxLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusConnected;
+
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	
+	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::Dial coverage
+	// covers "if ( RCall::EStatusRinging == iCallStatus )" condition
+ 	//-------------------------------------------------------------------------
+
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+	CleanupClosePushL(call);
+	AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call.HangUp(requestStatus);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00012
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RCall::HangUp for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RCall::HangUp for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00012L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyFaxLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+ 	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	call.HangUp(requestStatus);
+	
+	// cancel hang-up
+    // TSY has started a HangUp request and it is not possible to cancel this request
+    call.CancelAsyncRequest(EEtelCallHangUp);
+	
+	// CTSY hangs up the call and it goes to idle state
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
+    mockCallData2.SerialiseL(completeData);
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrGsmBusyUserRequest, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	AssertMockLtsyStatusL();
+	
+	CleanupStack::PopAndDestroy(5, this); // call, line, expectData, completeData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00014
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RCall::HangUp for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RCall::HangUp for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00014L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	// 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);
+
+	RCall call1;
+	RCall call2;
+	RLine line1;
+	RLine line2;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus1;
+    TRequestStatus requestStatus2;
+	
+	// open new line1
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TName incomingCallName1;
+	TName incomingCallName2;
+	   	
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData21(callId1, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+    TMockLtsyCallData2<TInt, TBool> mockData22(callId2, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData01(callId1, mobileService);
+	TMockLtsyCallData0 mockData02(callId2, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call1);
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call2);
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    expectData.Close();
+    mockData21.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	mockData01.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call1.HangUp(requestStatus1);
+
+    expectData.Close();
+    mockData22.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	completeData.Close();
+	mockData02.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+
+	call2.HangUp(requestStatus2);
+	
+	User::WaitForRequest(requestStatus1);
+	ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+	User::WaitForRequest(requestStatus2);
+	ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	CleanupStack::PopAndDestroy(2); // call1, call2
+	CleanupStack::PopAndDestroy(7, this); // phone2, telServer2, expectData, completeData, this
+	                                      // line1, line2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CHU-00015
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RCall::HangUp with timeout for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RCall::HangUp and tests for timeout for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHangUp00015L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	TName incomingCallName;
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+			
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                              hangUpCause, 
+                                              autoStChangeDisable);
+	
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::HangUp
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call);
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+
+	call.HangUp(requestStatus);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100303);
+	ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+	
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Hold for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData, KErrNotSupported);
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    iMockLTSY.CompleteL(EMobileCallHold, KErrGeneral, expectData);
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::Hold when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::Hold
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, call, line
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Hold for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::Hold for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	
+	
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
+
+    call.Hold(requestStatus);
+
+    call.CancelAsyncRequest(EMobileCallHold);
+
+    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());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Hold for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::Hold for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0004L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
+
+    call1.Hold(requestStatus1);
+
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    iMockLTSY.CompleteL(EMobileCallHold, KErrNone, expectData);
+
+    call2.Hold(requestStatus2);
+
+    User::WaitForRequest(requestStatus1);
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Hold and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallHold, expectData);
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Hold for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Hold for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    call.Hold(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CH-0001a
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Hold and RMobileCall::AnswerIncomingCall fails because call waiting is disabled
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Hold for voice and data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestHold0001aL()
+	{
+	//Test voice call functionality
+    TInt ret = TestAnsweringFailsBecauseHoldDoesNotWorkL( KMmTsyVoice1LineName );
+    ASSERT_EQUALS(KErrNone, ret);
+    
+    //Test data call functionality
+	ret = TestAnsweringFailsBecauseHoldDoesNotWorkL( KMmTsyDataLineName );
+    ASSERT_EQUALS(KErrNone, ret);        
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Swap for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData, KErrNotSupported);
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+    iMockLTSY.CompleteL(EMobileCallSwap, KErrGeneral, expectData);
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::Swap when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::Swap
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, call, line
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Swap for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::Swap for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap0002L()
+	{
+
+// This test should test cancellation of Swap
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
+
+    call.Swap(requestStatus);
+
+    call.CancelAsyncRequest(EMobileCallSwap);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    // see CMmVoiceCallTsy::CancelService in line 508 in file CMmVoiceCallTsy.cpp
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Swap for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::Swap for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
+
+    call1.Swap(requestStatus1);
+
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+    iMockLTSY.CompleteL(EMobileCallSwap, KErrNone, expectData);
+
+    call2.Swap(requestStatus2);
+
+    User::WaitForRequest(requestStatus1);
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Swap and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RMobileCall::Swap
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallSwap, expectData);
+
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Swap for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap0006L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	// see line 252 in function CMmDataCallTsy::DoExtFuncL in file CMmDataCallTsy.cpp
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CS-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Swap for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Swap for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSwap00011L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	// see line 265 in function CMmFaxCallTsy::DoExtFuncL in file CMmFaxCallTsy.cpp
+    call.Swap(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Resume for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus mockLtsyStatus;
+
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData, KErrNotSupported);
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+    iMockLTSY.CompleteL(EMobileCallResume, KErrGeneral, expectData);
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::Resume when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::Resume
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(5, this); // expectData, completeData, line, this, call
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Resume for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::Resume for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
+
+    call.Resume(requestStatus);
+
+    call.CancelAsyncRequest(EMobileCallResume);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    // see CMmVoiceCallTsy::CancelService in line 507 in file CMmVoiceCallTsy.cpp
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(4); // expectData, this, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Resume for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::Resume for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
+
+    call1.Resume(requestStatus1);
+
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+    iMockLTSY.CompleteL(EMobileCallResume, KErrNone, expectData);
+
+    call2.Resume(requestStatus2);
+
+    User::WaitForRequest(requestStatus1);
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Resume and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallResume, expectData);
+
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Resume for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	// see EMobileCallResume case in function CMmDataCallTsy::DoExtFuncL in file CMmDataCallTsy.cpp
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CR-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Resume for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Resume for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestResume00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	// see EMobileCallResume case in function CMmFaxCallTsy::DoExtFuncL in file CMmFaxCallTsy.cpp
+    call.Resume(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDF-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Deflect for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDeflect0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// Test API is not supported
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
+	RMobilePhone::TMobileAddress destination;
+    call.Deflect(requestStatus, deflectType, destination);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDF-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Deflect for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDeflect0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// Test API is not supported
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
+	RMobilePhone::TMobileAddress destination;
+    call.Deflect(requestStatus, deflectType, destination);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDF-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Deflect for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Deflect for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDeflect0003L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for data
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// Test API is not supported
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall::TMobileCallDeflect deflectType = RMobileCall::EDeflectUnspecified;
+	RMobilePhone::TMobileAddress destination;
+    call.Deflect(requestStatus, deflectType, destination);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4); // expectData, call, line
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Transfer for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+	TInt callId(1);
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus requestNotify;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging; //RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusHold;
+    callId = 2;
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	//-------------------------------------------------------------------------
+	// create new incoming call
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallTransfer, expectData, KErrNotSupported);
+
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
+    iMockLTSY.CompleteL(EMobileCallTransfer, KErrGeneral, expectData);
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::Transfer when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
+    iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::Transfer
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, call2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::Transfer for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::Transfer for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    // open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    mobileCallStatus = RMobileCall::EStatusHold;
+    callId = 2;
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobileCall::Transfer
+ 	//-------------------------------------------------------------------------
+ 	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+
+    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
+    iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
+
+    call.Transfer(requestStatus);
+
+    call.CancelAsyncRequest(EMobileCallTransfer);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    // see CMmVoiceCallTsy::CancelService in file CMmVoiceCallTsy.cpp
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(5); // expectData, this, call, line, call2
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Transfer for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::Transfer for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	// 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);
+
+	RLine line11;
+	RLine line12;
+	RLine line22;
+	
+	RMobileCall call11;
+	CleanupClosePushL(call11);
+	
+	RMobileCall call12;
+	CleanupClosePushL(call12);
+	
+	RMobileCall call22;
+	CleanupClosePushL(call22);
+
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+	TName incomingCallName1;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line11 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line11, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line12 for KMmTsyVoice2LineName
+	errorCode = OpenNewLineLC(iPhone, line12, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line22 for KMmTsyVoice2LineName
+	errorCode = OpenNewLineLC(phone2, line22, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line11, callId1, incomingCallName1, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	errorCode = call11.OpenExistingCall(line11, incomingCallName1);
+	ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusHold;
+    mobileService = RMobilePhone::EAuxVoiceService;
+ 	//-------------------------------------------------------------------------
+	// create new incoming call12 for iPhone
+	errorCode = CreateIncomingCallL(line12, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+
+	errorCode = call12.OpenExistingCall(line12, incomingCallName2);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	RLine::TCallInfo callInfo22;
+	errorCode = line22.GetCallInfo(0, callInfo22);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	errorCode = call22.OpenExistingCall(line22, callInfo22.iCallName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobileCall::Transfer
+ 	//-------------------------------------------------------------------------
+
+	TMockLtsyCallData0 mockData(callId2, mobileService);
+    expectData.Close();
+	mockData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
+	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData, 10);
+
+	call12.Transfer(requestStatus1);
+    call22.Transfer(requestStatus2);
+
+    User::WaitForRequest(requestStatus1);
+    User::WaitForRequest(requestStatus2);
+
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+    AssertMockLtsyStatusL();
+
+	CleanupStack::PopAndDestroy(6); // line11, line12, line22, call11, call12, call22
+	CleanupStack::PopAndDestroy(5, this); // phone2, telServer2, expectData, this, completeData
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Transfer and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+	RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+	errorCode = call2.OpenExistingCall(line, incomingCallName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RMobileCall::Transfer
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusHold;
+	callId = 2;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallTransfer, expectData);
+
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(5, this); // expectData, this, line, call, call2
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Transfer for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0006L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+
+	RMobileCall ringingCall;
+	CleanupClosePushL(ringingCall);
+
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus requestNotify;
+	
+	// open new line and call for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = ringingCall.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    callId = 2;
+    mobileCallStatus = RMobileCall::EStatusHold;
+    
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+	// close incoming call
+ 	CloseIncomingCallL(call, callId, RMobilePhone::ECircuitDataService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::Transfer
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallTransfer, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, ringingCall
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::Transfer for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::Transfer for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer0009L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	RMobileCall call3;
+	CleanupClosePushL(call3);
+	RMobileCall call4;
+	CleanupClosePushL(call4);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TInt callId2 = 2;
+	TInt callId3 = 3;
+	TInt callId4 = 4;
+	TName incomingCallName1;
+	TName incomingCallName2;
+	TName incomingCallName3;
+	TName incomingCallName4;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatusHold = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+
+ 	//-------------------------------------------------------------------------
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatusHold);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2 for phone2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatusHold);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobileCall::Transfer
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatusHold = RMobileCall::EStatusHold;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1 for iPhone
+	errorCode = CreateIncomingCallL(line1, callId3, incomingCallName3,
+	                               mobileService, mobileCallStatusHold);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call3.OpenExistingCall(line1, incomingCallName3);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	errorCode = CreateIncomingCallL(line2, callId4, incomingCallName4,
+	                               mobileService, mobileCallStatusHold);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call4.OpenExistingCall(line2, incomingCallName4);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    call3.Transfer(requestStatus1);
+    call4.Transfer(requestStatus2);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotReady, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotReady, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(6); // line1, line2, call1, call2, call3, call4
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CT-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::Transfer for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::Transfer for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTransfer00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	RMobileCall ringingCall;
+	CleanupClosePushL(ringingCall);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus requestNotify;
+	
+	// open new line and call for KMmTsyFaxLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	errorCode = ringingCall.OpenExistingCall(line, incomingCallName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusHold;
+	callId = 2;
+
+	/*
+	 * Can't create incoming call with call status equal RMobileCall::EStatusHold.
+	 * Destructor of CMmCallTsy is called for inclomming call (callId = 1)
+	 * with call status equal RMobileCall::EStatusRinging by call of RCall::Close().
+	 */
+
+//	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 100804);
+
+	//ASSERT_TRUE(false);
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    call.Transfer(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, ringingCall
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTAC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateAllCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateAllCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateAllCalls0001L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+	TRequestStatus requestStatus;
+    
+	//-----------------------------------------------------------------------
+	// TEST 0: with no active calls 
+	//----------------------------------------------------------------------
+	
+	iPhone.TerminateAllCalls(requestStatus);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	AssertMockLtsyStatusL();
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new line and call for KMmTsyVoice1LineName
+	RLine line;
+	RCall call;
+	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// create new incoming call
+	TName incomingCallName;
+	TInt callId = 1;
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
+	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+	mockData.SerialiseL(expectData);
+	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData, KErrNotSupported);
+	iPhone.TerminateAllCalls(requestStatus);
+
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+	AssertMockLtsyStatusL();
+
+	
+	
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
+	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrGeneral);
+
+	iPhone.TerminateAllCalls(requestStatus);
+
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+	AssertMockLtsyStatusL();
+	
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobilePhone::TerminateAllCalls.
+ 	//-------------------------------------------------------------------------
+	
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone);
+    
+	iPhone.TerminateAllCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobilePhone::TerminateAllCalls
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone);
+	User::WaitForRequest(mockLtsyStatus);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	AssertMockLtsyStatusL();
+		
+	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTAC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateAllCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateAllCalls and cancels it
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateAllCalls0002L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+	//-------------------------------------------------------------------------
+	
+	// open new line and call for KMmTsyVoice1LineName
+	RLine line;
+	RCall call;
+	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// create new incoming call
+	TName incomingCallName;
+	TInt callId = 1;
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
+	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+    
+	//-------------------------------------------------------------------------
+	// Test A: cancelling of RMobilePhone::TerminateAllCalls
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+	mockData.SerialiseL(expectData);
+	
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	
+	// Expect call down to LTSY for this IPC
+	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
+
+	// Queue response to be delayed to give time for cancel to come through
+	iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone, 10);
+
+	TRequestStatus requestStatus;
+	iPhone.TerminateAllCalls(requestStatus);
+	iPhone.CancelAsyncRequest(EMobilePhoneTerminateAllCalls);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	AssertMockLtsyStatusL();
+	
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	
+	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTAC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateAllCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateAllCalls on multiple clients
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateAllCalls0004L()
+	{
+
+	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(iTelServer,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	//
+	// set up line and call for first client
+	
+	RLine line;
+	RCall call;
+	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// create new incoming call
+	TName incomingCallName;
+	TInt callId = 1;
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
+	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    //
+    // set up call for second client
+    
+	RLine line2;
+	RCall call2;
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName); // PUSH
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// create new incoming call
+	TName incomingCallName2;
+	TInt callId2 = 2;
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
+	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call2); // PUSH
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	
+    // let's start testing...
+    
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    TMockLtsyData1<TInt> mockData(callId);
+	mockData.SerialiseL(expectData);
+	
+    //RBuf8 expectData2;
+    //CleanupClosePushL(expectData2); // PUSH
+    //TMockLtsyData1<TInt> mockData2(callId2);
+	//mockData2.SerialiseL(expectData2);
+
+	iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateAllCallsComp, KErrNone, 20);
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    iPhone.TerminateAllCalls(requestStatus);
+    phone2.TerminateAllCalls(requestStatus2);
+    
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+	
+	User::WaitForRequest(requestStatus2);
+	ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+	
+	AssertMockLtsyStatusL();
+	
+	CleanupStack::PopAndDestroy(8, this); 	// expectData,
+											// call2, line2, call, line,
+											// phone2, telServer2, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTAC-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateAllCalls with timeout.
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateAllCalls and tests for timeout.
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateAllCalls0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+   
+    
+	// open new line and call for KMmTsyVoice1LineName
+	RLine line;
+	RCall call;
+	TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	
+	// create new incoming call
+	TName incomingCallName;
+	TInt callId = 1;
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+			RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);	
+	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+	CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+	mockData.SerialiseL(expectData);    
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RMobilePhone::TerminateAllCalls
+ 	//-------------------------------------------------------------------------
+    
+	TRequestStatus requestStatus;
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateAllCallsReq, expectData);
+	iPhone.TerminateAllCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls  When the call status is EStatusHold
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+    TRequestStatus requestStatus;
+    
+    //-----------------------------------------------------------------------
+    // TEST 0: with no active calls 
+    //----------------------------------------------------------------------
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST A: failure to dispatch request to LTSY
+    //-------------------------------------------------------------------------
+
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData, KErrNotSupported);
+    iPhone.TerminateActiveCalls(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+    AssertMockLtsyStatusL();
+
+    
+    
+    //-------------------------------------------------------------------------
+    // TEST B: failure on completion of pending request from LTSY->CTSY
+    //-------------------------------------------------------------------------
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrGeneral);
+
+    iPhone.TerminateActiveCalls(requestStatus);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST C: Successful completion request of
+    // RMobilePhone::TerminateActiveCalls.
+    //-------------------------------------------------------------------------
+    
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+    
+    //-------------------------------------------------------------------------
+    // TEST E: Unsolicited completion of RMobilePhone::TerminateActiveCalls
+    // from LTSY.
+    //-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-000B1
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusRinging
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001bL()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+        
+    TRequestStatus requestStatus;
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+    RMobilePhone::EVoiceService, RMobileCall::EStatusRinging);   
+        
+    ASSERT_EQUALS(KErrNone, errorCode);
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+    
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-000C1
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls When the call status is EStatusConnecting
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0001cL()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+        
+    TRequestStatus requestStatus;
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;    
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+                RMobilePhone::EVoiceService, RMobileCall::EStatusConnecting);   
+        
+    ASSERT_EQUALS(KErrNone, errorCode);
+    RCall call;    
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq,KErrNone);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    AssertMockLtsyStatusL();
+        
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling RMobilePhone::TerminateActiveCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and cancels it
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0002L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+    
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    
+    //-------------------------------------------------------------------------
+    
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+    
+    //-------------------------------------------------------------------------
+    // Test A: cancelling of RMobilePhone::TerminateActiveCalls
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    
+    TRequestStatus mockLtsyStatus;
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+        
+    // Expect call down to LTSY for this IPC
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+
+    // Queue response to be delayed to give time for cancel to come through
+    // There is no interface for cancelling the simple TerminateActiveCalls request once passed to LTSY, 
+    // however this test will still emulate the completion of the request which will finally return from LTSY regardless.
+    
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 10);
+
+    TRequestStatus requestStatus;
+    iPhone.TerminateActiveCalls(requestStatus);
+    iPhone.CancelAsyncRequest(EMobilePhoneTerminateActiveCalls);
+    User::WaitForRequest(requestStatus);
+    INFO_PRINTF2(_L("requestStatus.Int() %d"),(requestStatus.Int()));
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    AssertMockLtsyStatusL();
+    
+    User::WaitForRequest(mockLtsyStatus);
+    INFO_PRINTF2(_L("mockLtsyStatus.Int() %d"),(mockLtsyStatus.Int()));
+    
+    AssertMockLtsyStatusL();
+    
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests of RMobilePhone::TerminateActiveCalls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls on multiple clients
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0004L()
+    {
+
+    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(iTelServer,KMmTsyPhoneName);
+    ASSERT_EQUALS(KErrNone, ret);
+    CleanupClosePushL(phone2);
+
+    //
+    // set up line and call for first client
+    
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    //
+    // set up call for second client
+    
+    RLine line2;
+    RCall call2;
+    errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    // create new incoming call
+    TName incomingCallName2;
+    TInt callId2 = 2;
+    errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call2); // PUSH
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+    // let's start testing...
+    
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);
+    
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iMockLTSY.CompleteL(ECtsyPhoneTerminateActiveCallsComp, KErrNone, 20);
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+    iPhone.TerminateActiveCalls(requestStatus);
+    phone2.TerminateActiveCalls(requestStatus2);
+    
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+    
+    User::WaitForRequest(requestStatus2);
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+    
+    AssertMockLtsyStatusL();
+    
+    CleanupStack::PopAndDestroy(8, this);   // expectData,
+                                            // call2, line2, call, line,
+                                            // phone2, telServer2, this
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MTACTC-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::TerminateActiveCalls with timeout.
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::TerminateActiveCalls and tests for timeout.
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestTerminateActiveCalls0005L()
+    {
+    OpenEtelServerL(EUseExtendedError);
+    CleanupStack::PushL(TCleanupItem(Cleanup,this));
+    OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData); // PUSH
+   
+    
+    // open new line and call for KMmTsyVoice1LineName
+    RLine line;
+    RCall call;
+    TInt errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName); // PUSH
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+    
+    // create new incoming call
+    TName incomingCallName;
+    TInt callId = 1;
+    errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+            RMobilePhone::EVoiceService, RMobileCall::EStatusHold);   
+    
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    CleanupClosePushL(call); // PUSH
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    //-------------------------------------------------------------------------
+
+    TMockLtsyData1<TInt> mockData(callId);
+    mockData.SerialiseL(expectData);    
+    //-------------------------------------------------------------------------
+    // Test A: Test timeout of RMobilePhone::TerminateActiveCalls
+    //-------------------------------------------------------------------------
+    
+    TRequestStatus requestStatus;
+    iMockLTSY.ExpectL(ECtsyPhoneTerminateActiveCallsReq, expectData);
+    iPhone.TerminateActiveCalls(requestStatus);
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+    CleanupStack::PopAndDestroy(4, this); // call, line, expectData, this
+    }
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-MSICT-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobilePhone::SetIncomingCallType
+@SYMTestPriority High
+@SYMTestActions Invokes RMobilePhone::SetIncomingCallType
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestSetIncomingCallType0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	TRequestStatus requestStatus;
+
+	RMobilePhone::TMobilePhoneIncomingCallType callType = RMobilePhone::EIncomingTypeNotSpecified;
+	
+	RMobileCall::TMobileDataCallParamsV1 dataCallParamsV1;
+	TPckg<RMobileCall::TMobileDataCallParamsV1> dataCallParamsV1Pckg(dataCallParamsV1);
+	
+ 	//-------------------------------------------------------------------------
+	// Test API is not supported
+ 	//-------------------------------------------------------------------------
+
+	iPhone.SetIncomingCallType(requestStatus, callType, dataCallParamsV1Pckg);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1, this); // this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+    TRequestStatus requestStatus;
+    TRequestStatus requestNotify;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData, KErrNotSupported);
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+	//-------------------------------------------------------------------------
+	// TEST B: failure on completion of pending request from LTSY->CTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrGeneral, expectData);
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrGeneral, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::AnswerIncomingCallISV when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	// close incoming call
+    CloseIncomingCallL(call, callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::AnswerIncomingCallISV
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+    TRequestStatus mockLtsyStatus;
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+ 	//-------------------------------------------------------------------------
+	// TEST to increase coverage 
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+    TRequestStatus requestStatus2;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+    errorCode = call2.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+    call2.AnswerIncomingCallISV(requestStatus2, callParamsPckg);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrServerBusy, requestStatus2.Int());
+
+	call.Close();
+	CloseIncomingCallL(call2, callId, mobileService);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST : to increase CMmVoiceCallTsy::AnswerIncomingCall coverage
+	// covers "else if( activeCall && 
+	//                  ( !( KETelExt3rdPartyV1 == activeCall->GetExtensionId() ) &&
+	//                  ( KETelExt3rdPartyV1 == extensionId ) ) )" condition
+ 	//-------------------------------------------------------------------------
+
+	mobileCallStatus = RMobileCall::EStatusConnected;
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(6, this); // expectData, completeData, call, line, call2
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV0002L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> callParamsPckg(callParams);
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RCall::AnswerIncomingCallISV
+ 	//-------------------------------------------------------------------------
+ 	
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+
+    call.AnswerIncomingCallISV(requestStatus, callParamsPckg);
+
+	TInt hangUpCause = KErrGsmBusyUserRequest;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData2(callId, mobileService, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+	
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallHangUp, KErrNone, completeData);
+	
+    call.CancelAsyncRequest(EMobileCallAnswerISV);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrCancel, requestStatus.Int());
+
+	User::WaitForRequest(mockLtsyStatus);
+	
+	CleanupStack::PopAndDestroy(5); // expectData, completeData, this, call, line
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileCall::AnswerIncomingCallISV for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV0004L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	// 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);
+
+	RLine line1;
+	RLine line2;
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	TInt errorCode = KErrNone;
+
+	TInt callId1 = 1;
+	TName incomingCallName1;
+
+	TInt callId2 = 2;
+	TName incomingCallName2;
+
+	TRequestStatus requestStatus1;
+	TRequestStatus requestStatus2;
+
+	// open new line1 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line1, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	// open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RCall::AnswerIncomingCall
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call1
+	errorCode = CreateIncomingCallL(line1, callId1, incomingCallName1,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call1.OpenExistingCall(line1, incomingCallName1);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+	// create new incoming call2
+	errorCode = CreateIncomingCallL(line2, callId2, incomingCallName2,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, incomingCallName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData01(callId1, mobileService);
+    expectData.Close();
+    mockData01.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
+
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call1.AnswerIncomingCallISV(requestStatus1, mmParamsPckgV1);
+
+    TMockLtsyCallData0 mockData02(callId2, mobileService);
+    expectData.Close();
+    mockData02.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+    iMockLTSY.CompleteL(EMobileCallAnswerISV, KErrNone, expectData);
+
+    call2.AnswerIncomingCallISV(requestStatus2, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus1);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus1.Int());
+
+    User::WaitForRequest(requestStatus2);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus2.Int());
+
+	// Done !
+	CleanupStack::PopAndDestroy(4); // line1, line2, call1, call2
+	CleanupStack::PopAndDestroy(4, this); // phone2, telServer2, expectData, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-0005
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV with timeout for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV and tests for timeout for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV0005L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+
+	//-------------------------------------------------------------------------
+	// Test A: Test timeout of RMobileCall::AnswerIncomingCallISV
+ 	//-------------------------------------------------------------------------
+		
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName,
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+ 	//-------------------------------------------------------------------------
+
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EMobileCallAnswerISV, expectData);
+
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrTimedOut, requestStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV0006L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyDataLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, line, call
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CAICI-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::AnswerIncomingCallISV for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::AnswerIncomingCallISV for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestAnswerIncomingCallISV00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RLine line;
+	RMobileCall call;
+	CleanupClosePushL(call);
+	
+	TInt errorCode = KErrNone;
+	TInt callId = 1;
+	TName incomingCallName;
+
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	// open new line for KMmTsyFaxLineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+	
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> mmParamsPckgV1(callParamsV1);
+    TMockLtsyCallData0 mockData0(callId, mobileService);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// create new incoming call
+	errorCode = CreateIncomingCallL(line, callId, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    errorCode = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, errorCode);
+ 	//-------------------------------------------------------------------------
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+    call.AnswerIncomingCallISV(requestStatus, mmParamsPckgV1);
+
+    User::WaitForRequest(requestStatus);
+    ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, this, call, line
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDI-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialISV for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialISV0001L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line for KMmTsyVoice1LineName
+    errorCode = line.Open(iPhone, KMmTsyVoice1LineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyVoice1LineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+			
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+	callParams.iIdRestrict = RMobileCall::ESendMyId;
+	callParams.iAutoRedial = ETrue;
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	RMmCustomAPI::TEmerNumberCheckMode emerNumberCheckMode;
+	emerNumberCheckMode.iCheckMode = RMmCustomAPI::EEmerNumberCheckNormal;
+    emerNumberCheckMode.iNumber.Copy(KPhoneNumber);	
+	
+	RMmCustomAPI::TMobileTelNumber* telNumberPtr = NULL;
+	
+    TMockLtsyData1<RMmCustomAPI::TEmerNumberCheckMode> expectLtsyData1(emerNumberCheckMode);
+    
+	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		expectLtsyData2(0, mobileService, callParams, callInfo);  
+			
+	TMockLtsyCallData0 completeLtsyData1(callId, mobileService);	  
+    
+	TMockLtsyData1< RMmCustomAPI::TMobileTelNumber* > completeLtsyData2(telNumberPtr);	   
+	
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RCall::Dial
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    completeLtsyData1.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: Try to make RMobileCall::DialISV request in case where
+	// CustomTSY is not opened. This should fail because in DialISV case TSY 	
+	// checks dialling number type using CustomTSY.
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotReady, requestStatus.Int());
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileCall::DialISV when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+ 	//-------------------------------------------------------------------------
+	// CustomTSY must be open before DialISV is requested
+	iMockLTSY.ExpectL(ECustomGetIccCallForwardingStatusIPC);
+		
+    RMmCustomAPI::TViagCacheRecordId currentlyRetrievedCache;		
+    currentlyRetrievedCache.iCacheId	= 1;
+    currentlyRetrievedCache.iRecordId	= 0;
+    TMockLtsyData1 <RMmCustomAPI::TViagCacheRecordId> ltsyData2(currentlyRetrievedCache);
+    expectData.Close();
+    ltsyData2.SerialiseL(expectData);			
+    iMockLTSY.ExpectL(EReadViagHomeZoneCacheIPC, expectData);	
+			
+	RMmCustomAPI customAPI;
+	customAPI.Open(iPhone);
+	CleanupClosePushL(customAPI);
+	AssertMockLtsyStatusL();
+    //-------------------------------------------------------------------------	
+
+    completeData.Close();
+	completeLtsyData2.SerialiseL(completeData);    
+    iMockLTSY.CompleteL(ECustomCheckEmergencyNumberIPC, KErrNone, completeData); 
+    
+    expectData.Close();
+    expectLtsyData1.SerialiseL(expectData);
+    iMockLTSY.ExpectL(ECustomCheckEmergencyNumberIPC, expectData);
+
+	expectData.Close();
+	expectLtsyData1.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EMobileCallDialISV, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);	
+	
+	completeData.Close();
+	completeLtsyData1.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, completeData);
+	
+	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestStatus.Int());
+
+	call.Close();
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(6, this); // this, expectData, completeData, line, call, customAPI
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDI-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialISV for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialISV0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line for KMmTsyDataLineName
+    errorCode = line.Open(iPhone, KMmTsyDataLineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyDataLineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+			
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty;
+	
+	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialISV
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDI-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialISV for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialISV for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialISV00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line for KMmTsyDataLineName
+    errorCode = line.Open(iPhone, KMmTsyFaxLineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyFaxLineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+			
+	RMobileCall::TEtel3rdPartyMobileCallParamsV1 callParams;
+    
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty;
+	
+	TMockLtsyCallData2<RMobileCall::TEtel3rdPartyMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	TPckg<RMobileCall::TEtel3rdPartyMobileCallParamsV1> pckgCallParams(callParams);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.DialISV(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialISV
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialISV, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDCC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for voice calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialCallControl for voice calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialCallControl0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// Open new line for KMmTsyVoice1LineName
+    errorCode = line.Open(iPhone, KMmTsyVoice1LineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyVoice1LineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+			
+	RMobileCall::TMobileCallParamsV7 callParams;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// Open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+        
+    call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	
+	// This is not a defect. DialCallControl fails because feature is not 
+	// supported by CTSY.
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+	
+	
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // call
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialCallControl
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDCC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for data calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialCallControl for data calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialCallControl0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// Open new line for KMmTsyDataLineName
+    errorCode = line.Open(iPhone, KMmTsyDataLineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyDataLineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+			
+	RMobileCall::TMobileCallParamsV7 callParams;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
+	
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// Open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+
+	call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	
+	// This is not a defect. DialCallControl fails because feature is not 
+	// supported by CTSY.	
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // call
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialISV
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, call
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CDCC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileCall::DialCallControl for fax calls
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileCall::DialCallControl for fax calls
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestDialCallControl00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RMobileLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+	
+	// Open new line for KMmTsyFaxLineName
+    errorCode = line.Open(iPhone, KMmTsyFaxLineName);
+    CleanupClosePushL(line);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    _LIT(KDoubleColon, "::");
+    
+    TName name;
+    name = KMmTsyPhoneName;
+    name.Append(KDoubleColon);
+    name.Append(KMmTsyFaxLineName);
+    name.Append(KDoubleColon);
+	   	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+			
+	RMobileCall::TMobileCallParamsV7 callParams;
+    
+	RMobileCall::TMobileCallInfoV8 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+	callInfo.iService = mobileService;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+	
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV7, RMobileCall::TMobileCallInfoV8> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+	
+	TPckg<RMobileCall::TMobileCallParamsV7> pckgCallParams(callParams);
+
+ 	//-------------------------------------------------------------------------
+	// TEST A: failure to dispatch request to LTSY
+ 	//-------------------------------------------------------------------------
+
+	// Open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+    
+	call.DialCallControl(requestStatus, pckgCallParams, KPhoneNumber);
+	User::WaitForRequest(requestStatus);
+	
+	// This is not a defect. DialCallControl fails because feature is not 
+	// supported by CTSY.	
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	call.Close();
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); //call
+
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RMobileCall::DialISV
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    expectData.Close();
+    mockData0.SerialiseL(expectData);
+	iMockLTSY.CompleteL(EMobileCallDialCallControl, KErrNone, expectData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	CleanupStack::PopAndDestroy(4, this); // expectData, completeData, line, this
+	}
+
+/*
+ * Test case where answering fails because automatic hold does not work.
+ * 
+ * @param aLineName Line name
+ * @return KErrNone if successful, otherwise another of the system-wide error 
+ */
+TInt CCTsyCallControlFU::TestAnsweringFailsBecauseHoldDoesNotWorkL( const TDesC& aLineName )
+	{ 
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));	    
+	OpenPhoneL();
+
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	RMobilePhone phone2;
+	TInt ret = phone2.Open(iTelServer,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+
+	RLine line1;
+	RLine line2;
+	
+	//Open new line1 for aLineName
+	TInt errorCode = OpenNewLineLC(iPhone, line1, aLineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	//Open new line2 for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(phone2, line2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);	
+	
+	RMobileCall call1;
+	CleanupClosePushL(call1);
+
+	RMobileCall call2;
+	CleanupClosePushL(call2);
+	
+	_LIT(KPhoneNumber, "101632960000"); 
+	
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService1;	
+    RMobilePhone::TMobileService mobileService2 = RMobilePhone::EVoiceService;
+
+	TInt callId1 = 1;
+	TName callName1;
+
+	TInt callId2 = 2;
+	TName callName2;
+
+	TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+ 	//-------------------------------------------------------------------------
+ 	// Create first call outgoing voice or data call
+	
+   	errorCode = call1.OpenNewCall(line1, callName1);
+    ASSERT_EQUALS(KErrNone, errorCode);	
+    
+	if ( !aLineName.Compare( KMmTsyDataLineName ) )
+        { 
+        //Dial data call
+        mobileService1 = RMobilePhone::ECircuitDataService;
+                    
+        CallGetMobileCallInfoL(callId1, mobileService1, KPhoneNumber);    
+
+    	RMobileCall::TMobileDataCallParamsV1 callParams;
+        callParams.iInterval = 4;
+        callParams.iCug.iCugIndex = 0xFFFF;
+        
+    	RMobileCall::TMobileCallInfoV8 callInfo;
+    	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+    	callInfo.iService = mobileService1;
+    	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating ;
+    	
+    	TMockLtsyCallData2<RMobileCall::TMobileDataCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+    		mockData0(0, mobileService1, callParams, callInfo);
+    
+    	TPckg<RMobileCall::TMobileDataCallParamsV1> pckgCallParams(callParams);   
+    
+    	mockData0.SerialiseL(expectData);
+      	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);
+
+    	call1.Dial(requestStatus, pckgCallParams, KPhoneNumber);                                     	
+        }
+    else
+        {
+        //Dial voice call
+        mobileService1 = RMobilePhone::EVoiceService;
+            
+        CallGetMobileCallInfoL(callId1, mobileService1, KPhoneNumber);      
+            
+    	RMobileCall::TMobileCallParamsV1 callParams;
+        callParams.iInterval = 4;
+        callParams.iCug.iCugIndex = 0xFFFF;
+        TPckg<RMobileCall::TMobileCallParamsV1> pckgCallParams(callParams);
+      
+    	RMobileCall::TMobileCallInfoV8 callInfo;
+    	callInfo.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+    	callInfo.iService = mobileService1;
+    	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallAlternating;
+    	
+    	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV8> 
+    		mockData1(0, mobileService1, callParams, callInfo);
+    
+    	mockData1.SerialiseL(expectData);
+    	iMockLTSY.ExpectL(EEtelCallDial, expectData, KErrNone);
+
+    	call1.Dial(requestStatus, pckgCallParams, KPhoneNumber);  
+        }
+              	
+    //Change call1 status to connected
+    mobileCallStatus = RMobileCall::EStatusDialling;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData2(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData2.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+ 	User::WaitForRequest(mockLtsyStatus); 	
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+	    
+    mobileCallStatus = RMobileCall::EStatusConnecting;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData3(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData3.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData); 	
+ 	User::WaitForRequest(mockLtsyStatus);
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());  	 
+       	   	    
+    mobileCallStatus = RMobileCall::EStatusConnected;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData4(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData4.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+ 	User::WaitForRequest(mockLtsyStatus);
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
+
+	if ( !aLineName.Compare( KMmTsyDataLineName ) )
+        { 
+        //Dial request for voice call is completed automatically by CTSY when call goes to connected state
+        //Complete here data call Dial.
+      	TMockLtsyCallData0 mockData5(callId1, mobileService1);
+      	mockData5.SerialiseL(completeData);
+      	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);         
+        }
+         
+    User::WaitForRequest(requestStatus);   
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int()); 
+  
+    //Check that call1 is active
+    call1.GetMobileCallStatus(mobileCallStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusConnected, mobileCallStatus);
+	AssertMockLtsyStatusL(); 
+	
+	//-------------------------------------------------------------------------
+	
+	
+ 	//-------------------------------------------------------------------------
+	// Create second incoming voice call.
+	
+	mobileCallStatus = RMobileCall::EStatusRinging;
+	errorCode = CreateIncomingCallL(line2, callId2, callName2,
+	                                mobileService2, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+		
+    errorCode = call2.OpenExistingCall(line2, callName2);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	AssertMockLtsyStatusL();
+	
+	//-------------------------------------------------------------------------	  	
+    	
+ 	//-------------------------------------------------------------------------
+	// TEST A: AnswerIncomingCall for call2 is completed with error KErrMMEtelCallForbidden 
+	// because automatic hold for call1 fails.
+ 	//-------------------------------------------------------------------------
+	
+    //There is now one active call and one ringing call. Cellular software sets
+    //active call1 to hold automatically when ringing call is answered. Normally this operation
+    //succeeds. In DoCoMo network hold operation fails in this situation if call waiting is
+    //disabled. 
+    
+    //Background: Incoming call indication should not come from network if there is already an active call 
+    //and call waiting is disabled. However in DoCoMo network incoming call indication comes 
+    //through but answering to this call fails because hold operation for active call does not work.
+    
+    //Expected functionality: In this case CTSY should complete AnswerIncomingCall request with 
+    //error and active call should stay in active state.	
+	
+    TMockLtsyCallData0 mockData6(callId2, mobileService2);
+    expectData.Close();
+    mockData6.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallAnswer, expectData);   
+       
+	RMobileCall::TMobileCallParamsV1 callParamsV1;
+	TPckg<RMobileCall::TMobileCallParamsV1> mmParamsPckgV1(callParamsV1);       
+    call2.AnswerIncomingCall(requestStatus, mmParamsPckgV1);    
+    
+    //Incoming call goes to answering state.
+    mobileCallStatus = RMobileCall::EStatusAnswering;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData7(callId2, mobileService2, mobileCallStatus);
+    completeData.Close();
+    mockData7.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);    
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);  
+    User::WaitForRequest(mockLtsyStatus);    
+    
+    //Network rejects hold operation for active call. 
+    mobileCallStatus = RMobileCall::EStatusConnected;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData8(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData8.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrMMEtelCallForbidden, completeData); 
+    
+    //AnswerIncomingCall should be completed with error.
+    User::WaitForRequest(requestStatus);    
+    User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrMMEtelCallForbidden, requestStatus.Int());	
+    AssertMockLtsyStatusL();
+    
+    //Check that call1 is still in active state.
+    call1.GetMobileCallStatus(mobileCallStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusConnected, mobileCallStatus);
+	AssertMockLtsyStatusL();
+	    
+ 	//-------------------------------------------------------------------------
+	// Hangup calls
+ 	
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData9(callId2, mobileService2, hangUpCause, autoStChangeDisable);	
+    expectData.Close();
+    mockData9.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);	
+
+	call2.HangUp(requestStatus);
+
+    //Change call2 status to disconnecting
+    mobileCallStatus = RMobileCall::EStatusDisconnecting;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData10(callId2, mobileService2, mobileCallStatus);
+    completeData.Close();
+    mockData10.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+ 	User::WaitForRequest(mockLtsyStatus); 	
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
+ 	
+    //Change call2 status to idle
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData11(callId2, mobileService2, mobileCallStatus);
+    completeData.Close();
+    mockData11.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+ 	User::WaitForRequest(mockLtsyStatus); 	
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   	
+	
+	//HangUp complete for call2    
+    User::WaitForRequest(requestStatus);   
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int()); 
+    
+    // Only the voice line is needing this flag.
+	if ( !aLineName.Compare( KMmTsyDataLineName ) )
+		{
+		autoStChangeDisable = EFalse;
+		}
+	else
+		{
+		autoStChangeDisable = ETrue;
+		}
+	
+    TMockLtsyCallData2<TInt, TBool> mockData12(callId1, mobileService1, hangUpCause, autoStChangeDisable);	
+    expectData.Close();
+    mockData12.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);	
+
+	call1.HangUp(requestStatus);
+
+    //Change call1 status to disconnecting
+    mobileCallStatus = RMobileCall::EStatusDisconnecting;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData13(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData13.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+ 	User::WaitForRequest(mockLtsyStatus); 	
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int()); 
+ 	
+    //Change call1 status to idle
+    mobileCallStatus = RMobileCall::EStatusIdle;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockData14(callId1, mobileService1, mobileCallStatus);
+    completeData.Close();
+    mockData14.SerialiseL(completeData);   
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);      
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+    
+    // when call becomes idle, remaining duration of the call is added to life time param in LTSY:		
+	TUint32 duration2 = 4;	// this is a dummy value, which won't be checked by mocksy engine
+	TMockLtsyData1<TUint32> ltsyData2( duration2 );
+	expectData.Close();
+	ltsyData2.SerialiseL(expectData);	
+	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);	            
+    
+ 	User::WaitForRequest(mockLtsyStatus); 	
+ 	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   	
+
+	//HangUp complete for call1     
+    User::WaitForRequest(requestStatus);   
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, requestStatus.Int());  
+    
+    //-------------------------------------------------------------------------   	    
+	
+	// Done !     
+	CleanupStack::PopAndDestroy(8, this); // call2, call1, line2, line1, phone2, 
+	                                      // completeData, expectData, this	
+	return KErrNone;
+    }
+
+/*
+ * Opens a phone subsession by name.
+ * 
+ * @param aPhone The phone from which the line is to be opened.
+ * @param On return, contains the new line. 
+ * @param aName The name of the phone to be opened
+ * @return KErrNone if successful, otherwise another of the system-wide error 
+ */
+
+TInt CCTsyCallControlFU::OpenNewLineLC(RMobilePhone& aPhone, RLine& aLine, const TDesC& aLineName)
+    {
+    TInt errorCode = KErrNone;
+
+    // Open new line
+    errorCode = aLine.Open(aPhone, aLineName);
+    CleanupClosePushL(aLine);
+    
+    return errorCode;
+    }
+
+/*
+ * This function creates an incomming call for line and returns a name of call. 
+ * 
+ * @param aLine The line from which the call is to be created.
+ * @param aCallId ID of call.
+ * @param aIncomingCallName On return, contains the new name of incomming call.
+ * @param aMobileService Applicability of request to a mobile service group.
+ * @param aMobileCallStatus Describes the possible call states.
+ * @return KErrNone if successful, otherwise another of the system-wide error 
+ */
+
+TInt CCTsyCallControlFU::CreateIncomingCallL(RLine& aLine, 
+                                            const TInt aCallId, 
+                                            TName& aIncomingCallName,
+                                            RMobilePhone::TMobileService aMobileService,
+                                            RMobileCall::TMobileCallStatus aMobileCallStatus)
+	{
+    RBuf8 completeData;
+
+    TRequestStatus requestNotify;
+    TRequestStatus mockLtsyStatus;
+
+ 	//-------------------------------------------------------------------------
+	// call CMmVoiceLineTsy::CompleteNotifyIncomingCall for set iCallId > 0.
+	
+	aLine.NotifyIncomingCall(requestNotify, aIncomingCallName);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(aCallId, aMobileService, mobileCallInfo);
+    CleanupClosePushL(completeData);
+	mockCallData1.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+	User::WaitForRequest(requestNotify);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestNotify.Int());
+
+ 	//-------------------------------------------------------------------------
+	
+ 	//-------------------------------------------------------------------------
+    // call CMmVoiceCallTsy::CompleteNotifyStatusChange for set 
+    // iMobileCallStatus = RMobileCall::EStatusRinging.
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(aCallId, aMobileService, aMobileCallStatus);
+    completeData.Close();
+    mockCallData2.SerialiseL(completeData);
+
+    iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+    User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+ 	//-------------------------------------------------------------------------
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1); // completeData 
+	
+	return KErrNone;
+	}
+
+/*
+ * This function closes an incomming call by aCallId. 
+ * 
+ * @param aCall The incomming call which is to be closed.
+ * @param aCallId ID of call.
+ * @param aMobileService Applicability of request to a mobile service group.
+ */
+
+void CCTsyCallControlFU::CloseIncomingCallL(RCall& aCall, const TInt aCallId,
+                                           RMobilePhone::TMobileService aMobileService)
+	{
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = EFalse;
+    TMockLtsyCallData2<TInt, TBool> mockData2(aCallId, aMobileService, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();
+    mockData2.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+    
+	aCall.Close();
+	AssertMockLtsyStatusL();
+
+    CleanupStack::PopAndDestroy(1); // expectData 
+	}
+
+//  ExpectL and CopmleteL must precede this function.
+void CCTsyCallControlFU::CallGetMobileCallInfoL(TInt aCallId, 
+                                               RMobilePhone::TMobileService aService, 
+                                               const TDesC &aTelNumber)
+	{
+	_LIT(KNullDesC , "");
+	
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	RMobileCall::TMobileCallInfoV1 callInfo;
+	callInfo.iDialledParty.iTelNumber.Copy(aTelNumber);
+	callInfo.iService = aService;
+	callInfo.iEmergency = EFalse;
+	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.iForwarded = EFalse;
+	callInfo.iValid = RMobileCall::KCallDialledParty | RMobileCall::KCallRemoteParty;
+
+	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> callInfoData(aCallId, aService, callInfo);
+	callInfoData.SerialiseL(data);
+		
+    iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+    
+    CleanupStack::PopAndDestroy(1);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CEC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for voice
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::EnumerateCall for voice
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestEnumerateCall0001L()
+	{
+	AuxEnumerateCallL(KMmTsyVoice1LineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CEC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for data
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::EnumerateCall for data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestEnumerateCall0006L()
+	{
+	AuxEnumerateCallL(KMmTsyDataLineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CEC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::EnumerateCall for fax
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::EnumerateCall for fax
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestEnumerateCall00011L()
+	{
+	AuxEnumerateCallL(KMmTsyFaxLineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CNHC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for voice
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyHookChange for voice
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestNotifyHookChange0001L()
+	{
+	AuxNotifyHookChangeL(KMmTsyVoice1LineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CNHC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for data
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyHookChange for data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestNotifyHookChange0006L()
+	{
+	AuxNotifyHookChangeL(KMmTsyDataLineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CNHC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for RLine::NotifyHookChange for fax
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyHookChange for fax
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestNotifyHookChange00011L()
+	{
+	AuxNotifyHookChangeL(KMmTsyFaxLineName);
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CCNSC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test increase coverage for CMmLineTsy::CompleteNotifyStatusChange for voice
+@SYMTestPriority High
+@SYMTestActions Invokes CMmLineTsy::CompleteNotifyStatusChange for voice
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestCompleteNotifyStatusChange0001L()
+	{
+	AuxCompleteNotifyStatusChangeL(KMmTsyVoice1LineName);
+	}
+
+void CCTsyCallControlFU::AuxEnumerateCallL(const TDesC& aName)
+	{
+
+	if (aName.Compare(KMmTsyVoice1LineName) != 0 && 
+		aName.Compare(KMmTsyDataLineName)   != 0 &&
+		aName.Compare(KMmTsyFaxLineName)    != 0)
+		return;
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine line;
+
+	// open new line for KMmTsyDataLineName
+	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	TInt index(0);
+
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::EnumerateCall when result is not cached.
+ 	//-------------------------------------------------------------------------
+
+	errorCode = line.EnumerateCall(index);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	}
+
+void CCTsyCallControlFU::AuxNotifyHookChangeL(const TDesC& aName)
+	{
+
+	if (aName.Compare(KMmTsyVoice1LineName) != 0 && 
+		aName.Compare(KMmTsyDataLineName)   != 0 &&
+		aName.Compare(KMmTsyFaxLineName)    != 0)
+		return;
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine line;
+
+	TRequestStatus requestStatus;
+	TRequestStatus mockLtsyStatus;
+
+	RCall::THookStatus hookStatus;
+
+	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	line.NotifyHookChange(requestStatus, hookStatus);
+
+	User::WaitForRequest(requestStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNotSupported, requestStatus.Int());
+
+	line.NotifyHookChangeCancel();
+
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	}
+
+void CCTsyCallControlFU::AuxCompleteNotifyStatusChangeL(const TDesC& aName)
+	{
+
+	RMobilePhone::TMobileService mobileService = RMobilePhone::EServiceUnspecified;
+
+	if (aName.Compare(KMmTsyVoice1LineName) == 0)
+		{
+		mobileService = RMobilePhone::EVoiceService;
+		}
+	else if (aName.Compare(KMmTsyDataLineName) == 0)
+		{
+		mobileService = RMobilePhone::ECircuitDataService;
+		}
+	else if (aName.Compare(KMmTsyFaxLineName) == 0)
+		{
+		mobileService = RMobilePhone::EFaxService;
+		}
+	else
+		return;
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine line;
+	RCall call;
+	RMobileCall::TMobileCallStatus mobileCallStatus(RMobileCall::EStatusUnknown);
+	TName callName;
+	TInt callId(1);
+	RBuf8 completeData;
+	CleanupClosePushL(completeData);
+
+	TRequestStatus mockLtsyStatus;
+	TRequestStatus requestNotify;
+
+	TInt errorCode = OpenNewLineLC(iPhone, line, aName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+
+	//-------------------------------------------------------------------------
+
+	line.NotifyIncomingCall(requestNotify, callName);
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+	TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+	mockCallData1.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelLineNotifyIncomingCall, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+	User::WaitForRequest(requestNotify);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, requestNotify.Int());
+
+	RArray<RMobileCall::TMobileCallStatus> arrayCallStatus;
+	CleanupClosePushL(arrayCallStatus);
+	
+	arrayCallStatus.AppendL(RMobileCall::EStatusDialling);
+	arrayCallStatus.AppendL(RMobileCall::EStatusAnswering);
+	arrayCallStatus.AppendL(RMobileCall::EStatusConnecting);
+	
+	for (TInt i = 0; i < arrayCallStatus.Count(); i++)
+		{
+		
+		mobileCallStatus = arrayCallStatus[i];
+		
+		TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData2(callId, mobileService, mobileCallStatus);
+		completeData.Close();
+		mockCallData2.SerialiseL(completeData);
+
+		iMockLTSY.NotifyTerminated(mockLtsyStatus);
+		iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+		User::WaitForRequest(mockLtsyStatus);
+		AssertMockLtsyStatusL();
+		ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+		
+		}
+
+	CleanupStack::PopAndDestroy(4, this); // line, this, completeName
+										  // arrayCallStatus
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-CCON-CNUA-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test: generating a call with duration to update life time param of total call time
+@SYMTestPriority High
+@SYMTestActions Invokes updating life time param with every specified interval of sec elapsed 
+                and with the reminder of time when call status becomes idle (in case of the conference call
+                it's the last call)
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyCallControlFU::TestUpdateLifeTime0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+    RBuf8 expectData;
+    CleanupClosePushL(expectData);
+
+    RBuf8 completeData;
+    CleanupClosePushL(completeData);
+
+	RLine line;
+	RMobileCall call;
+	
+	TInt errorCode = KErrNone;
+    TRequestStatus requestStatus;
+    TRequestStatus requestStatus2;
+	TRequestStatus mockLtsyStatus;
+	
+	// open new line and call for KMmTsyVoice1LineName
+	errorCode = OpenNewLineLC(iPhone, line, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, errorCode);
+		
+    TName name;
+    
+    // we are preparing to dial the call:
+	
+	_LIT(KPhoneNumber, "101632960000");   	
+   	
+	TInt callId = 1;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+			
+    RMobileCall::TMobileCallParamsV7 callParams; 
+    RMobileCall::TMobileCallParamsV7Pckg    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.iDialledParty.iTelNumber.Copy(KPhoneNumber);
+
+	TMockLtsyCallData2<RMobileCall::TMobileCallParamsV1, RMobileCall::TMobileCallInfoV1> 
+		mockData2(0, mobileService, callParams, callInfo);
+
+	TMockLtsyCallData0 mockData0(callId, mobileService);
+
+	RCall::TCallParams callDialParams;
+	TPckg<RCall::TCallParams> pckgCallDialParams(callDialParams);
+	callDialParams.iSpeakerControl  = RCall::EMonitorSpeakerControlOnUntilCarrier;
+	callDialParams.iSpeakerVolume   = RCall::EMonitorSpeakerVolumeLow;
+	callDialParams.iInterval        = 100;
+	callDialParams.iWaitForDialTone = RCall::EDialToneWait;
+
+	// open new call
+   	CleanupClosePushL(call);
+   	errorCode = call.OpenNewCall(line, name);
+    ASSERT_EQUALS(KErrNone, errorCode);
+	
+	expectData.Close();
+	mockData2.SerialiseL(expectData);
+	iMockLTSY.ExpectL(EEtelCallDial, expectData);
+
+	CallGetMobileCallInfoL(callId, mobileService, KPhoneNumber);
+	
+	completeData.Close();
+	mockData0.SerialiseL(completeData);
+	iMockLTSY.CompleteL(EEtelCallDial, KErrNone, completeData);
+
+    // with a notifications we make sure the state of the call will become: connected  
+	TRequestStatus reqState1, reqState2, reqState3;
+	RMobileCall::TMobileCallStatus status;  
+    call.NotifyMobileCallStatusChange(reqState1, status);
+    
+    // we are dialing the call:
+	call.Dial(requestStatus, pckgCallDialParams, KPhoneNumber);
+		
+    RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusDialling;
+    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());
+				
+    User::WaitForRequest(reqState1);            
+    call.NotifyMobileCallStatusChange(reqState2, status);
+    
+    mobileCallStatus = RMobileCall::EStatusConnecting;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData5(callId, mobileService, mobileCallStatus);
+    completeData.Close();
+    mockCallData5.SerialiseL(completeData);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+                 
+    User::WaitForRequest(reqState2);
+    call.NotifyMobileCallStatusChange(reqState3, status);
+    
+    mobileCallStatus = RMobileCall::EStatusConnected;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData6(callId, mobileService, mobileCallStatus);
+    completeData.Close();
+    mockCallData6.SerialiseL(completeData);
+
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    
+    // status call becomes 'connected' here...   
+            
+    User::WaitForRequest(reqState3);    
+	
+	// completion of the Dial() request:
+	User::WaitForRequest(requestStatus);
+
+    // Here we will trigger call duration of 15sec. Timer interval causing update
+    // of life time parameter is set to 10 sec: so we will have a one update caused
+    // by firing timer. The remainding duration ~5sec will be triggered by
+    // the call status becoming idle.
+	TUint32 duration = 10;	
+	TMockLtsyData1<TUint32> ltsyData( duration );
+	expectData.Close();
+	ltsyData.SerialiseL(expectData);
+	// firing timer will cause this:	
+	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);
+	
+	// 15 sec call duration was chosen to trigger timer firing 1 update plus last update,
+	// when call becomes idle...	
+	User::After(15000000);
+
+    // completion of the timer firing event:	
+	TRequestStatus mockLtsyStatus2;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus2);
+	iMockLTSY.CompleteL(EMmTsyUpdateLifeTimeIPC, KErrNone);	
+	
+	User::WaitForRequest(mockLtsyStatus2);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus2.Int());
+    AssertMockLtsyStatusL();
+			
+	//
+	
+	// preparing call state to become 'idle' eventually:
+	TRequestStatus notifyCallStatus;
+	RMobileCall::TMobileCallStatus callStatus = RMobileCall::EStatusUnknown;
+	call.NotifyMobileCallStatusChange(notifyCallStatus, callStatus);
+
+    // hangup call is going to LTSY:
+	TInt hangUpCause = KErrGsmReleaseByUser;
+	TBool autoStChangeDisable = ETrue;
+    TMockLtsyCallData2<TInt, TBool> mockData3(callId, mobileService, 
+                                             hangUpCause, 
+                                             autoStChangeDisable);
+    expectData.Close();                                             
+    mockData3.SerialiseL(expectData);
+    iMockLTSY.ExpectL(EEtelCallHangUp, expectData);
+                                                     
+	TRequestStatus hangupStatus;
+	call.HangUp(hangupStatus);  //<--------- hang up triggers status changes
+			
+    callStatus = RMobileCall::EStatusDisconnecting;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData7(callId, mobileService, callStatus);
+    completeData.Close();
+    mockCallData7.SerialiseL(completeData);
+    
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+	User::WaitForRequest(mockLtsyStatus);
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());        	
+	
+	User::WaitForRequest(notifyCallStatus);	
+	ASSERT_EQUALS(KErrNone, notifyCallStatus.Int());
+	ASSERT_EQUALS(RMobileCall::EStatusDisconnecting, callStatus); // <------------disconnecting status
+	
+	call.NotifyMobileCallStatusChange(notifyCallStatus, callStatus);
+	
+    callStatus = RMobileCall::EStatusIdle;
+    TMockLtsyCallData1<RMobileCall::TMobileCallStatus> mockCallData8(callId, mobileService, callStatus);
+    completeData.Close();
+    mockCallData8.SerialiseL(completeData);
+        
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+	iMockLTSY.CompleteL(EMobileCallNotifyMobileCallStatusChange, KErrNone, completeData);
+
+    // when call becomes idle, remaining duration of the call is added to life time param in LTSY:		
+	TUint32 duration2 = 4;	// this is a dummy value, which won't be checked by mocksy engine
+	TMockLtsyData1<TUint32> ltsyData2( duration2 );
+	expectData.Close();
+	ltsyData2.SerialiseL(expectData);	
+	iMockLTSY.ExpectL(EMmTsyUpdateLifeTimeIPC, expectData);	    
+					
+	User::WaitForRequest(mockLtsyStatus);
+	// we did set a sleep time for 15sec, but after stopping timer it may give us 14 sec or 15 sec
+	// we can not determine the correct value for the mockLTSY;
+	// we tell mocksy engine to ignore duration param value	
+    AssertMockLtsyStatusL();
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());        	
+    	
+	User::WaitForRequest(notifyCallStatus);
+	ASSERT_EQUALS(KErrNone, notifyCallStatus.Int());
+	ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus); // <-------- idle status
+			
+	User::WaitForRequest(hangupStatus);
+	ASSERT_EQUALS(KErrNone, hangupStatus.Int()); // <--- then hang up is finished
+	
+	call.GetMobileCallStatus(callStatus);
+	ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);
+	
+	//
+				
+	TRequestStatus mockLtsyStatus3;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus3);
+	iMockLTSY.CompleteL(EMmTsyUpdateLifeTimeIPC, KErrNone);	
+	
+	User::WaitForRequest(mockLtsyStatus3);
+	ASSERT_EQUALS(KErrNone, mockLtsyStatus3.Int());
+	
+	call.Close();	
+			
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(1);
+	CleanupStack::PopAndDestroy(4, this);
+	}
+
+
+