telephonyserverplugins/common_tsy/test/component/src/cctsylinecontrolfu.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/common_tsy/test/component/src/cctsylinecontrolfu.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/component/src/cctsylinecontrolfu.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,2752 +1,2752 @@
-// 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 LineControl in the Common TSY.
-// 
-//
-
-/**
- @file 
-*/
-
-#include "cctsylinecontrolfu.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 "MmTsy_conf.h"
-
-CTestSuite* CCTsyLineControlFU::CreateSuiteL(const TDesC& aName)
-	{
-	SUB_SUITE;
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0003L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps00011L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo00011L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus00011L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetLineInfo0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetLineInfo0003L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestEnumerateLines0001L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange00012L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0001aL);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00012L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00014L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus00011L);
-
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0001L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0002L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0004L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0006L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0007L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0009L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00011L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00012L);
-	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00014L);
-
-	END_SUITE;
-	}
-
-
-//
-// Actual test cases
-//
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGHS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetHookStatus for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetHookStatus0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-    
-    // Test API is not supported
-    RCall::THookStatus hookStatus;
-    err = line.GetHookStatus(hookStatus);    
-    ASSERT_EQUALS(KErrNotSupported, err);    
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	
-	}
-
- 
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGHS-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetHookStatus for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetHookStatus0002L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-    
-    // Test API is not supported
-    RCall::THookStatus hookStatus;
-    err = line.GetHookStatus(hookStatus);    
-    ASSERT_EQUALS(KErrNotSupported, err); 
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGHS-0003
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetHookStatus for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetHookStatus0003L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-    
-    // Test API is not supported
-    RCall::THookStatus hookStatus;
-    err = line.GetHookStatus(hookStatus);  
-    ASSERT_EQUALS(KErrNotSupported, err); 
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetCaps for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetCaps0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetCaps 
-	// Get initial value of caps for KMmTsyVoice1LineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-		
-   	RLine::TCaps expectedCaps;
-	expectedCaps.iFlags = RLine::KCapsVoice | RLine::KCapsEventIncomingCall;	 	
-	RLine::TCaps caps;
-		
-	err = line.GetCaps(caps);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
-	AssertMockLtsyStatusL();	
-	
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetCaps 
-	// Get initial value of caps for KMmTsyVoice2LineName-line
-	//-------------------------------------------------------------------------	
-	RLine line2;
-	err = line2.Open(iPhone, KMmTsyVoice2LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line2);
-		
-   	expectedCaps.iFlags = RLine::KCapsVoice | RLine::KCapsEventIncomingCall | RMobileLine::KCapsAuxVoice;	 	
-			
-	err = line2.GetCaps(caps);
-	ASSERT_EQUALS(KErrNone, err)
-	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);
-	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // line2, line, this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetCaps for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetCaps0006L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetCaps 
-	// Get initial value of caps for KMmTsyDataLineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-		
-   	RLine::TCaps expectedCaps;
-	expectedCaps.iFlags = RLine::KCapsData | RLine::KCapsEventIncomingCall;	 	
-	RLine::TCaps caps;
-		
-	err = line.GetCaps(caps);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
-	AssertMockLtsyStatusL();	
-	
-	CleanupStack::PopAndDestroy(2, this); // line, this	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetCaps for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetCaps00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetCaps 
-	// Get initial value of caps for KMmTsyFaxLineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-		
-   	RLine::TCaps expectedCaps;
-	expectedCaps.iFlags = RLine::KCapsFax | RLine::KCapsEventIncomingCall;	 	
-	RLine::TCaps caps;
-		
-	err = line.GetCaps(caps);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
-	AssertMockLtsyStatusL();	
-	
-	CleanupStack::PopAndDestroy(2, this); // line, this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGI-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetInfo for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetInfo0001L()
-	{		
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();		
-
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetInfo 
-	// Get initial value of caps for KMmTsyVoice1LineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-			
-	RLine::TLineInfo info;	
-	AssertMockLtsyStatusL();	
-	err = line.GetInfo(info);
-	ASSERT_EQUALS(KErrNone, err);	
-	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
-	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
-	TName emptyName;
-	TName voice11(_L("Voice11"));
-	TName voice12(_L("Voice12"));
-	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(voice11, info.iNameOfLastCallAdded);
-	
-	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetInfo again, this time CTSY
-	// will get result from the cache.	
- 	//-----------------------------------------------------------------------	
-	
-	//-------------------------------------------------------------------------
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);
-	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
- 	//-------------------------------------------------------------------------
- 		
- 	// Get changed info
- 	err = line.GetInfo(info);
- 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
- 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
-	ASSERT_EQUALS(voice11, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(voice12, info.iNameOfLastCallAdded);	
-	AssertMockLtsyStatusL();		
-	
-	CleanupStack::PopAndDestroy(3, this); // call, line, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGI-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetInfo for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetInfo0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();	
-
-
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetInfo 
-	// Get initial value of caps for KMmTsyVoice1LineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-			
-	RLine::TLineInfo info;		
-	err = line.GetInfo(info);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, err);	
-	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
-	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
-	TName emptyName;
-	TName data1(_L("Data1"));
-	TName data2(_L("Data2"));
-	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(data1, info.iNameOfLastCallAdded);
-	
-	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetInfo again, this time CTSY
-	// will get result from the cache.	
- 	//-----------------------------------------------------------------------	
-	
-	//-------------------------------------------------------------------------
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);
-	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
- 	//-------------------------------------------------------------------------
- 		
- 	// Get changed info
- 	err = line.GetInfo(info);
- 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
- 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
-	ASSERT_EQUALS(data1, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(data2, info.iNameOfLastCallAdded);	
-	AssertMockLtsyStatusL();		
-	
-	CleanupStack::PopAndDestroy(3, this); // call, line,  this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGI-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetInfo for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetInfo00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();		
-
-	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetInfo 
-	// Get initial value of caps for KMmTsyVoice1LineName-line
-	//-------------------------------------------------------------------------	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-			
-	RLine::TLineInfo info;		
-	err = line.GetInfo(info);
-	AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrNone, err);	
-	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
-	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
-	TName emptyName;
-	TName fax1(_L("Fax1"));
-	TName fax2(_L("Fax2"));
-	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(fax1, info.iNameOfLastCallAdded);
-	
-	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetInfo again, this time CTSY
-	// will get result from the cache.	
- 	//-----------------------------------------------------------------------		
-
-	//-------------------------------------------------------------------------
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);
-	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);    
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
- 	//-------------------------------------------------------------------------
- 		
- 	// Get changed info
- 	err = line.GetInfo(info);
- 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
- 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
-	ASSERT_EQUALS(fax1, info.iNameOfCallForAnswering);
-	ASSERT_EQUALS(fax2, info.iNameOfLastCallAdded);	
-	AssertMockLtsyStatusL();		
-	
-	CleanupStack::PopAndDestroy(3, this); // call, line,  this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetStatus for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetStatus0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-   	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetStatus when result is not cached.
- 	//-------------------------------------------------------------------------
-	RCall::TStatus callStatus;
-	// get initial status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
-    
- 	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetStatus again, this time CTSY
-	// will get result from the cache.
-	// modify status by creating incoming call
- 	//------------------------------------------------------------------------- 
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
-     
- 	// get modified status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
- 	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //call, line,  this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGS-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetStatus for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetStatus0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-   	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetStatus when result is not cached.
- 	//-------------------------------------------------------------------------
-	RCall::TStatus callStatus;
-	// get initial status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
-    
- 	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetStatus again, this time CTSY
-	// will get result from the cache.
-	// modify status by creating incoming call
- 	//------------------------------------------------------------------------- 
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
-     
- 	// get modified status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
- 	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //call, line, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGS-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::GetStatus for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetStatus00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-   	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::GetStatus when result is not cached.
- 	//-------------------------------------------------------------------------
-	RCall::TStatus callStatus;
-	// get initial status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
-    
- 	//-------------------------------------------------------------------------
-	// TEST D: RLine::GetStatus again, this time CTSY
-	// will get result from the cache.
-	// modify status by creating incoming call
- 	//------------------------------------------------------------------------- 
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
-     
- 	// get modified status
-    err = line.GetStatus(callStatus);
-    ASSERT_EQUALS(KErrNone, err);
-    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
- 	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //call, line, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-PGLI-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::GetLineInfo
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::GetLineInfo
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetLineInfo0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	//-------------------------------------------------------------------------
-	// TEST with no line opened
-	// get initial LineInfo with index = 0
- 	//------------------------------------------------------------------------- 	
-	TInt index(0);
-	RPhone::TLineInfo lineInfo;
-	TInt err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)(RLine::KCapsVoice|RLine::KCapsEventIncomingCall));
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
-	AssertMockLtsyStatusL();
-	
-	//-------------------------------------------------------------------------
-	// TEST with no line opened
-	// get initial LineInfo with index = 1
- 	//------------------------------------------------------------------------- 	
-	index = 1;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010008);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
-	AssertMockLtsyStatusL();
-	
-	//-------------------------------------------------------------------------
-	// TEST with no line opened
-	// get initial LineInfo with index = 2
- 	//------------------------------------------------------------------------- 	
-	index = 2;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x10001);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
-	AssertMockLtsyStatusL();
-	
-	//-------------------------------------------------------------------------
-	// TEST with no line opened
-	// get initial LineInfo with index = 3
- 	//------------------------------------------------------------------------- 	
-	index = 3;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x10002);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
-	AssertMockLtsyStatusL();
-		
-	
-	//-------------------------------------------------------------------------
-	// TEST with with line opened
-	// get LineInfo for Voice1 line
- 	//------------------------------------------------------------------------- 
-	// now create voice1 line
-	RLine line;
-	err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line);
-    
-    // get initial voice1 line info 
-    index = 0;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010004);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
-	AssertMockLtsyStatusL();
-	
-	// ----------- change voice1 line info --------------------------------------
-	// create new incoming call
-	TInt callId(1);
-	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    TName incomingCallName;	
-	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
-	                               mobileService, mobileCallStatus);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call;	
-    err = call.OpenExistingCall(line, incomingCallName);    
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call);
-    // --------------------------------------------------------------------------
-    	
-	// get changed voice1 line info
-	index = 0;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010004);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
-	AssertMockLtsyStatusL();
-	
-			
-	//-------------------------------------------------------------------------
-	// TEST with with line opened
-	// get LineInfo for Voice2 line
- 	//------------------------------------------------------------------------- 
-	// now create voice2 line
-	RLine line2;
-	err = line2.Open(iPhone, KMmTsyVoice2LineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line2);
-    
-    // get initial voice2 line info 
-    index = 1;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x0001000C);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
-	AssertMockLtsyStatusL();
-	
-	// ----------- change voice2 line info --------------------------------------
-	// create new incoming call
-	TInt callId2(2);
-	RMobileCall::TMobileCallStatus mobileCallStatus2 = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService2 = RMobilePhone::EAuxVoiceService;
-    TName incomingCallName2;    
-	err = CreateIncomingCallL(line2, callId2, KNullDesC, incomingCallName2, 
-	                               mobileService2, mobileCallStatus2);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call2;	
-    err = call2.OpenExistingCall(line2, incomingCallName2);    
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call2);
-    // --------------------------------------------------------------------------
-    	
-	// get changed voice2 line info
-	index = 1;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x0001000C);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
-	AssertMockLtsyStatusL();
-	
-	
-	//-------------------------------------------------------------------------
-	// TEST with with line opened
-	// get LineInfo for Data line
- 	//------------------------------------------------------------------------- 
-	// now create Data line
-	RLine line3;
-	err = line3.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line3);
-    
-    // get initial Data line info 
-    index = 2;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010001);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
-	AssertMockLtsyStatusL();
-	
-	// ----------- change Data line info --------------------------------------
-	// create new incoming call
-	TInt callId3(3);
-	RMobileCall::TMobileCallStatus mobileCallStatus3 = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService3 = RMobilePhone::ECircuitDataService;
-    TName incomingCallName3;    
-	err = CreateIncomingCallL(line3, callId3, KNullDesC, incomingCallName3, 
-	                               mobileService3, mobileCallStatus3);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call3;	
-    err = call3.OpenExistingCall(line3, incomingCallName3);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call3);
-    // --------------------------------------------------------------------------
-    	
-	// get changed Data line info
-	index = 2;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010001);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
-	AssertMockLtsyStatusL();
-	
-	
-	//-------------------------------------------------------------------------
-	// TEST with with line opened
-	// get LineInfo for Fax line
- 	//------------------------------------------------------------------------- 
-	// now create Fax line
-	RLine line4;
-	err = line4.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err)
-    CleanupClosePushL(line4);
-    
-    // get initial Fax line info 
-    index = 3;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010002);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
-	AssertMockLtsyStatusL();
-	
-	// ----------- change Fax line info --------------------------------------
-	// create new incoming call
-	TInt callId4(4);
-	RMobileCall::TMobileCallStatus mobileCallStatus4 = RMobileCall::EStatusRinging;
-    RMobilePhone::TMobileService mobileService4 = RMobilePhone::EFaxService;
-    TName incomingCallName4;    
-	err = CreateIncomingCallL(line4, callId4, KNullDesC, incomingCallName4, 
-	                               mobileService4, mobileCallStatus4);	
-	ASSERT_EQUALS(KErrNone, err);	
-	RCall call4;	
-    err = call4.OpenExistingCall(line4, incomingCallName4);
-    ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(call4);
-    // --------------------------------------------------------------------------
-    	
-	// get changed Fax line info
-	index = 3;
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
-	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010002);
-	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
-	AssertMockLtsyStatusL();
-	
-	
-	CleanupStack::PopAndDestroy(9, this); // ...  this	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-PGLI-0003
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::GetLineInfo with bad parameter data
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::GetLineInfo with bad parameter data
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetLineInfo0003L()
-	{
-// This test should test sending bad parameter data for GetLineInfo
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	
-	TInt index(-1); // out of bound undex 
-	RPhone::TLineInfo lineInfo;
-	TInt err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNotFound, err);
-	AssertMockLtsyStatusL();	
-		
-	index = KMmTsyNumOfSupportedLines; // out of bound undex
-	err = iPhone.GetLineInfo(index, lineInfo);
-	ASSERT_EQUALS(KErrNotFound, err);
-	AssertMockLtsyStatusL();
-
-	// Done !
-	CleanupStack::PopAndDestroy(1, this); //  this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-PEL-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RPhone::EnumerateLines
-@SYMTestPriority High
-@SYMTestActions Invokes RPhone::EnumerateLines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestEnumerateLines0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	//-------------------------------------------------------------------------
-	// TEST C
- 	//------------------------------------------------------------------------- 	
-	TInt cnt;
-	TInt err = iPhone.EnumerateLines(cnt);
-	ASSERT_EQUALS(KErrNone, err);
-	ASSERT_EQUALS(KMmTsyNumOfSupportedLines, cnt); // hard-coded value
-	AssertMockLtsyStatusL();
-	
-	CleanupStack::PopAndDestroy(1, this); //  this	
-	}
-	
-	
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNCC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyCapsChange0002L()
-	{
-
-// This test should test cancellation of NotifyCapsChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyCapsChange
- 	//------------------------------------------------------------------------- 	
- 	TRequestStatus reqStatus;
-    RLine::TCaps caps;
-    line.NotifyCapsChange(reqStatus, caps);
-    
-    // cancelling of RLine::NotifyCapsChange
-    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
-    
-    User::WaitForRequest(reqStatus);
-    AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
- 
-	CleanupStack::PopAndDestroy(2); // line, this	
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNCC-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyCapsChange0007L()
-	{
-
-// This test should test cancellation of NotifyCapsChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyCapsChange
- 	//------------------------------------------------------------------------- 	
- 	TRequestStatus reqStatus;
-    RLine::TCaps caps;
-    line.NotifyCapsChange(reqStatus, caps);
-    
-    // cancelling of RLine::NotifyCapsChange
-    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
-    
-    User::WaitForRequest(reqStatus);
-    AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
- 
-	CleanupStack::PopAndDestroy(2); // line, this		
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNCC-00012
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyCapsChange00012L()
-	{
-
-// This test should test cancellation of NotifyCapsChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyCapsChange
- 	//------------------------------------------------------------------------- 	
- 	TRequestStatus reqStatus;
-    RLine::TCaps caps;
-    line.NotifyCapsChange(reqStatus, caps);
-    
-    // cancelling of RLine::NotifyCapsChange
-    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
-    
-    User::WaitForRequest(reqStatus);
-    AssertMockLtsyStatusL();
-	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
- 
-	CleanupStack::PopAndDestroy(2); // line, this	
-	
-	}
-
-
-	
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
- 
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::NotifyStatusChange when result is not cached.
- 	//------------------------------------------------------------------------- 	
-
-    RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    // -----------  change Voice status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
-  
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
-	AssertMockLtsyStatusL();
-    
-    // close line
-    CloseLineL(line, callId, mobileService);    
-    CleanupStack::Pop(1); //line
-    AssertMockLtsyStatusL();
-    
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
-	// from LTSY.
- 	//-------------------------------------------------------------------------
-
-    //open new line 
-	err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-    // use another status for coverage increasing
-	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);     
-	   
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData3(callId, mobileService, mobileCallInfo);
-    data.Close();
-    mockCallData3.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());      
-    
-    //-------------------------------------------------------------------------
-	// TEST C: 
-	// for voice KMmTsyVoice2LineName and for coverage increase
- 	//------------------------------------------------------------------------- 
-
-    RLine line2;
-	err = line2.Open(iPhone, KMmTsyVoice2LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line2);
-    
-    line2.NotifyStatusChange(reqStatus, callStatus);
-    
-    // ---try to change Voice2 status 
-    // with mobileCallInfo.iStatus = RMobileCall::EStatusUnknown----------------
-   	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    callId = 2;
-    mobileService = RMobilePhone::EAuxVoiceService;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData4(callId, mobileService, mobileCallInfo);
-    data.Close();
-    mockCallData4.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
-	AssertMockLtsyStatusL();
-  
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::NotifyStatusChange when event EEtelLineNotifyCallAdded occurs
- 	//------------------------------------------------------------------------- 
-
-    RLine line3;
-	err = line3.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line3);
-    
-   	line3.NotifyStatusChange(reqStatus, callStatus);
-    
-    // completes NotifyStatusChange    
- 	iMockLTSY.NotifyTerminated(mockLtsyStatus);
- 	
- 	callId = 1;
- 	mobileCallInfo.iStatus = RMobileCall::EStatusConnected;
- 	mobileService = RMobilePhone::ECircuitDataService;
- 	   
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData6(callId, mobileService, mobileCallInfo);
-    data.Close();
-    mockCallData6.SerialiseL(data);
-		
-	iMockLTSY.CompleteL(EEtelLineNotifyCallAdded, KErrNone, data);
-	
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-	
-	// wait for NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
-	AssertMockLtsyStatusL();
-
-	CleanupStack::PopAndDestroy(6, this); //line3, line2, line, expectData, data, this
-	
-	}	
-	
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0001a
-@SYMDefectId  DEF126595
-@SYMComponent telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0001aL()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	//Line name is set to lower case, "voice1"
-	RLine line;
-	_LIT( KMmTsyVoice1LineNameLowerCase, "voice1");
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineNameLowerCase);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
- 
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::NotifyStatusChange when result is not cached
-    // and voice line name is lower case.
- 	//------------------------------------------------------------------------- 	
-    RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    // -----------  change Voice status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
-  
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
-	AssertMockLtsyStatusL();
-    
-	//Get Call Info
-	RLine::TCallInfo callInfo;
-    TInt ret = line.GetCallInfo( 0, callInfo);
-    ASSERT_EQUALS(KErrNone, ret);
-    ASSERT_TRUE(callInfo.iStatus==RCall::EStatusDialling);
-	
-    // close line
-    CloseLineL(line, callId, mobileService);    
-    CleanupStack::Pop(1); //line
-    AssertMockLtsyStatusL();
-    
-	CleanupStack::PopAndDestroy(3, this); //
-	}	
-	
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0002L()
-	{
-
-// This test should test cancellation of NotifyStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyStatusChange
- 	//-------------------------------------------------------------------------
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;  
-    
- 	line.NotifyStatusChange(reqStatus, callStatus);
- 	
- 	// cancel request
-    line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
- 	 	
- 	User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
- 
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2); // line,   this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0004L()
-	{
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2, KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);	
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);	
-    
-    RLine line2;
-	err = line2.Open(phone2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line2);
-	
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
- 	//------------------------------------------------------------------------- 	
- 	//first client
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    //second client
- 	RCall::TStatus callStatus2;
-    TRequestStatus reqStatus2;     
-    line2.NotifyStatusChange(reqStatus2, callStatus2);    
-    
-    // -----------  change Voice status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;  
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for first NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
-    
-     // wait for second NotifyStatusChange completion
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
-
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
-
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
- 
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::NotifyStatusChange when result is not cached.
- 	//------------------------------------------------------------------------- 	
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    // -----------  change Data status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;  
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);   
-    
-  	// close line
-  	mobileService = RMobilePhone::ECircuitDataService;
-    CloseLineL(line, callId, mobileService);    
-    CleanupStack::Pop(1); //line
-    AssertMockLtsyStatusL();	
-   		
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
-	// from LTSY.
- 	//-------------------------------------------------------------------------
- 	//open new line 
-	err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-    // use another status for coverage increasing
-	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);   	   
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData2(callId, mobileService, mobileCallInfo);
-    data.Close();
-    mockCallData2.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   
-    
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); // line, expectData, data, this
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0007L()
-	{
-
-// This test should test cancellation of NotifyStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyStatusChange
- 	//-------------------------------------------------------------------------
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;  
-    
- 	line.NotifyStatusChange(reqStatus, callStatus);
- 	
- 	// cancel request
- 	line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
- 	 	
- 	User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
- 
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2); // line,   this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange0009L()
-	{				
-						
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2, KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);	
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);	
-    
-    RLine line2;
-	err = line2.Open(phone2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line2);
-	
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
- 	//------------------------------------------------------------------------- 	
- 	//first client
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    //second client
- 	RCall::TStatus callStatus2;
-    TRequestStatus reqStatus2;     
-    line2.NotifyStatusChange(reqStatus2, callStatus2);    
-    
-    // -----------  change Data status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;      
-     
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for first NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
-    
-     // wait for second NotifyStatusChange completion
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
-
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RLine::NotifyStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RBuf8 expectData;
-	CleanupClosePushL(expectData);
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
- 
- 	//-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RLine::NotifyStatusChange when result is not cached.
- 	//------------------------------------------------------------------------- 	
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    // -----------  change Data status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;  
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);   
-    
-   
-    mobileService = RMobilePhone::EFaxService;  
-   	// close line
-    CloseLineL(line, callId, mobileService);    
-    CleanupStack::Pop(1); //line
-    AssertMockLtsyStatusL();	
-   	
-   		
- 	//-------------------------------------------------------------------------
-	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
-	// from LTSY.
- 	//-------------------------------------------------------------------------
- 	//open new line 
-	err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
-    // use another status for coverage increasing
-	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
-	
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);        
-    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData2(callId, mobileService, mobileCallInfo);
-    data.Close();
-    mockCallData2.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   
-    
-    AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(4, this); //line, expectData, data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-00012
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange00012L()
-	{
-
-// This test should test cancellation of NotifyStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);
-    
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RLine::NotifyStatusChange
- 	//-------------------------------------------------------------------------
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;  
-    
- 	line.NotifyStatusChange(reqStatus, callStatus);
- 	
- 	// cancel request
- 	line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
- 	 	
- 	User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
- 
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2); // line,   this
-	
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNSC-00014
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyStatusChange00014L()
-	{
-	
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2, KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-	
-	
-	RLine line;
-	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line);	
-    
-    RLine line2;
-	err = line2.Open(phone2, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(line2);
-	
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
- 	//------------------------------------------------------------------------- 	
- 	//first client
- 	RCall::TStatus callStatus;
-    TRequestStatus reqStatus;     
-    line.NotifyStatusChange(reqStatus, callStatus);
-    
-    //second client
- 	RCall::TStatus callStatus2;
-    TRequestStatus reqStatus2;     
-    line2.NotifyStatusChange(reqStatus2, callStatus2);    
-    
-    // -----------  change Data status ---------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;  
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
-    //------------------------------------------------------------------------- 
-    
-    // wait for first NotifyStatusChange completion
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
-    
-     // wait for second NotifyStatusChange completion
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    // check callStatus
-    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
-
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGMLS-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetMobileLineStatus0001L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);
-        
-    // Get initial MobileLineStatus
-    RMobileCall::TMobileCallStatus callStatus;    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
-    
-    //------- change MobileLineStatus -----------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
-        
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // Get changed MobileLineStatus    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGMLS-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetMobileLineStatus0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);
-        
-    // Get initial MobileLineStatus
-    RMobileCall::TMobileCallStatus callStatus;    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
-    
-    //------- change MobileLineStatus -----------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // Get changed MobileLineStatus    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LGMLS-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestGetMobileLineStatus00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);
-        
-    // Get initial MobileLineStatus
-    RMobileCall::TMobileCallStatus callStatus;    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
-    
-    //------- change MobileLineStatus -----------------------------------------
-    TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-		
-	User::WaitForRequest(mockLtsyStatus);
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // Get changed MobileLineStatus    
-    mobileLine.GetMobileLineStatus(callStatus);
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0001
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0001L()
-	{
-	
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    //-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
- 	//-------------------------------------------------------------------------	
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
-	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0002
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0002L()
-	{
-
-// This test should test cancellation of NotifyMobileLineStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-   	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
- 	
- 	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	// cancelling of RMobileLine::NotifyMobileLineStatusChange
-    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
-	
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
- 	
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0004
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for voice lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0004L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    RMobileLine mobileLine2;
-	err = mobileLine2.Open(phone2, KMmTsyVoice1LineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine2);    
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
-
-   	// set first notification
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;	
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
-	
-	// set second notification
-	TRequestStatus reqStatus2;	
-	RMobileCall::TMobileCallStatus callStatus2;	
-	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for first notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-    
-    // wait for second notification
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
-
-	AssertMockLtsyStatusL();
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, this
-
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0006
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0006L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    //-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
- 	//-------------------------------------------------------------------------	
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
-	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0007
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0007L()
-	{
-
-// This test should test cancellation of NotifyMobileLineStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-   	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
- 	
- 	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	// cancelling of RMobileLine::NotifyMobileLineStatusChange
-    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
-	
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0009
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for data lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0009L()
-	{
-
-					
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    RMobileLine mobileLine2;
-	err = mobileLine2.Open(phone2, KMmTsyDataLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine2);    
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
-
-   	// set first notification
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;	
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
-	
-	// set second notification
-	TRequestStatus reqStatus2;	
-	RMobileCall::TMobileCallStatus callStatus2;	
-	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for first notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-    
-    // wait for second notification
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
-
-	AssertMockLtsyStatusL();
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, this
-	}
-
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00011
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00011L()
-	{
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    //-------------------------------------------------------------------------
-	// TEST C: Successful completion request of
-	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
- 	//-------------------------------------------------------------------------	
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
-	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
-	
-	}
-
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00012
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00012L()
-	{
-
-// This test should test cancellation of NotifyMobileLineStatusChange
-// If this API does not have a cancel, the test step should be completely removed.
-
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-   	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;
-	
- 	//-------------------------------------------------------------------------
-	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
- 	
- 	// set notification
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
-	
-	// cancelling of RMobileLine::NotifyMobileLineStatusChange
-    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
-	
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrCancel, reqStatus.Int()); 	
-
-	AssertMockLtsyStatusL();
-	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
-	
-	}
-
-/**
-@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00014
-@SYMComponent  telephony_ctsy
-@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestPriority High
-@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for fax lines
-@SYMTestExpectedResults Pass
-@SYMTestType CT
-*/
-void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00014L()
-	{
-	OpenEtelServerL(EUseExtendedError);
-	CleanupStack::PushL(TCleanupItem(Cleanup,this));
-	OpenPhoneL();
-
-	RBuf8 data;
-	CleanupClosePushL(data);
-
-	// Open second client
-	RTelServer telServer2;
-	TInt ret = telServer2.Connect();
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(telServer2);
-
-	RMobilePhone phone2;
-	ret = phone2.Open(telServer2,KMmTsyPhoneName);
-	ASSERT_EQUALS(KErrNone, ret);
-	CleanupClosePushL(phone2);
-	
-	RMobileLine mobileLine;
-	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine);    
-    
-    RMobileLine mobileLine2;
-	err = mobileLine2.Open(phone2, KMmTsyFaxLineName);
-	ASSERT_EQUALS(KErrNone, err);
-    CleanupClosePushL(mobileLine2);    
-
-	//-------------------------------------------------------------------------
-	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
- 	//-------------------------------------------------------------------------
-
-   	// set first notification
-	TRequestStatus reqStatus;	
-	RMobileCall::TMobileCallStatus callStatus;	
-	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
-	
-	// set second notification
-	TRequestStatus reqStatus2;	
-	RMobileCall::TMobileCallStatus callStatus2;	
-	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
-	
-	//------- change MobileLineStatus -----------------------------------------
-	TRequestStatus mockLtsyStatus;
-	iMockLTSY.NotifyTerminated(mockLtsyStatus);
-    TInt callId(1);          
-    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
-    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
-    mobileCallInfo.iCallId = callId;
-    mobileCallInfo.iService = mobileService;
-    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;    
-    
-    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
-    mockCallData1.SerialiseL(data);		
-	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
-			
-	User::WaitForRequest(mockLtsyStatus);	
-    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
-    //------------------------------------------------------------------------- 
-    
-    // wait for first notification
-    User::WaitForRequest(reqStatus);
-    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
-    
-    // wait for second notification
-    User::WaitForRequest(reqStatus2);
-    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
-    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
-
-	AssertMockLtsyStatusL();
-	// Done !
-	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, 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 LineControl in the Common TSY.
+// 
+//
+
+/**
+ @file 
+*/
+
+#include "cctsylinecontrolfu.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 "MmTsy_conf.h"
+
+CTestSuite* CCTsyLineControlFU::CreateSuiteL(const TDesC& aName)
+	{
+	SUB_SUITE;
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetHookStatus0003L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetCaps00011L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetInfo00011L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetStatus00011L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetLineInfo0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetLineInfo0003L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestEnumerateLines0001L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyCapsChange00012L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0001aL);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00012L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyStatusChange00014L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestGetMobileLineStatus00011L);
+
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0001L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0002L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0004L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0006L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0007L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange0009L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00011L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00012L);
+	ADD_TEST_STEP_ISO_CPP(CCTsyLineControlFU, TestNotifyMobileLineStatusChange00014L);
+
+	END_SUITE;
+	}
+
+
+//
+// Actual test cases
+//
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGHS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetHookStatus for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetHookStatus0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+    
+    // Test API is not supported
+    RCall::THookStatus hookStatus;
+    err = line.GetHookStatus(hookStatus);    
+    ASSERT_EQUALS(KErrNotSupported, err);    
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	
+	}
+
+ 
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGHS-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetHookStatus for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetHookStatus0002L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+    
+    // Test API is not supported
+    RCall::THookStatus hookStatus;
+    err = line.GetHookStatus(hookStatus);    
+    ASSERT_EQUALS(KErrNotSupported, err); 
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGHS-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetHookStatus for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetHookStatus for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetHookStatus0003L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+    
+    // Test API is not supported
+    RCall::THookStatus hookStatus;
+    err = line.GetHookStatus(hookStatus);  
+    ASSERT_EQUALS(KErrNotSupported, err); 
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetCaps for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetCaps0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetCaps 
+	// Get initial value of caps for KMmTsyVoice1LineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+		
+   	RLine::TCaps expectedCaps;
+	expectedCaps.iFlags = RLine::KCapsVoice | RLine::KCapsEventIncomingCall;	 	
+	RLine::TCaps caps;
+		
+	err = line.GetCaps(caps);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
+	AssertMockLtsyStatusL();	
+	
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetCaps 
+	// Get initial value of caps for KMmTsyVoice2LineName-line
+	//-------------------------------------------------------------------------	
+	RLine line2;
+	err = line2.Open(iPhone, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line2);
+		
+   	expectedCaps.iFlags = RLine::KCapsVoice | RLine::KCapsEventIncomingCall | RMobileLine::KCapsAuxVoice;	 	
+			
+	err = line2.GetCaps(caps);
+	ASSERT_EQUALS(KErrNone, err)
+	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);
+	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // line2, line, this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetCaps for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetCaps0006L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetCaps 
+	// Get initial value of caps for KMmTsyDataLineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+		
+   	RLine::TCaps expectedCaps;
+	expectedCaps.iFlags = RLine::KCapsData | RLine::KCapsEventIncomingCall;	 	
+	RLine::TCaps caps;
+		
+	err = line.GetCaps(caps);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
+	AssertMockLtsyStatusL();	
+	
+	CleanupStack::PopAndDestroy(2, this); // line, this	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetCaps for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetCaps for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetCaps00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetCaps 
+	// Get initial value of caps for KMmTsyFaxLineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+		
+   	RLine::TCaps expectedCaps;
+	expectedCaps.iFlags = RLine::KCapsFax | RLine::KCapsEventIncomingCall;	 	
+	RLine::TCaps caps;
+		
+	err = line.GetCaps(caps);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(expectedCaps.iFlags, caps.iFlags);	
+	AssertMockLtsyStatusL();	
+	
+	CleanupStack::PopAndDestroy(2, this); // line, this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGI-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetInfo for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetInfo0001L()
+	{		
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();		
+
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetInfo 
+	// Get initial value of caps for KMmTsyVoice1LineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+			
+	RLine::TLineInfo info;	
+	AssertMockLtsyStatusL();	
+	err = line.GetInfo(info);
+	ASSERT_EQUALS(KErrNone, err);	
+	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
+	TName emptyName;
+	TName voice11(_L("Voice11"));
+	TName voice12(_L("Voice12"));
+	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(voice11, info.iNameOfLastCallAdded);
+	
+	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetInfo again, this time CTSY
+	// will get result from the cache.	
+ 	//-----------------------------------------------------------------------	
+	
+	//-------------------------------------------------------------------------
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);
+	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+ 	//-------------------------------------------------------------------------
+ 		
+ 	// Get changed info
+ 	err = line.GetInfo(info);
+ 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+ 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
+	ASSERT_EQUALS(voice11, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(voice12, info.iNameOfLastCallAdded);	
+	AssertMockLtsyStatusL();		
+	
+	CleanupStack::PopAndDestroy(3, this); // call, line, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGI-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetInfo for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetInfo0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();	
+
+
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetInfo 
+	// Get initial value of caps for KMmTsyVoice1LineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+			
+	RLine::TLineInfo info;		
+	err = line.GetInfo(info);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, err);	
+	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
+	TName emptyName;
+	TName data1(_L("Data1"));
+	TName data2(_L("Data2"));
+	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(data1, info.iNameOfLastCallAdded);
+	
+	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetInfo again, this time CTSY
+	// will get result from the cache.	
+ 	//-----------------------------------------------------------------------	
+	
+	//-------------------------------------------------------------------------
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);
+	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+ 	//-------------------------------------------------------------------------
+ 		
+ 	// Get changed info
+ 	err = line.GetInfo(info);
+ 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+ 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
+	ASSERT_EQUALS(data1, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(data2, info.iNameOfLastCallAdded);	
+	AssertMockLtsyStatusL();		
+	
+	CleanupStack::PopAndDestroy(3, this); // call, line,  this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGI-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetInfo for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetInfo for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetInfo00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();		
+
+	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetInfo 
+	// Get initial value of caps for KMmTsyVoice1LineName-line
+	//-------------------------------------------------------------------------	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+			
+	RLine::TLineInfo info;		
+	err = line.GetInfo(info);
+	AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrNone, err);	
+	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+	ASSERT_EQUALS(RCall::EStatusIdle, info.iStatus);
+	TName emptyName;
+	TName fax1(_L("Fax1"));
+	TName fax2(_L("Fax2"));
+	ASSERT_EQUALS(emptyName, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(fax1, info.iNameOfLastCallAdded);
+	
+	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetInfo again, this time CTSY
+	// will get result from the cache.	
+ 	//-----------------------------------------------------------------------		
+
+	//-------------------------------------------------------------------------
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);
+	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);    
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+ 	//-------------------------------------------------------------------------
+ 		
+ 	// Get changed info
+ 	err = line.GetInfo(info);
+ 	ASSERT_EQUALS (RCall::EHookStatusUnknown, info.iHookStatus);// hard-coded value
+ 	ASSERT_EQUALS(RCall::EStatusRinging, info.iStatus);
+	ASSERT_EQUALS(fax1, info.iNameOfCallForAnswering);
+	ASSERT_EQUALS(fax2, info.iNameOfLastCallAdded);	
+	AssertMockLtsyStatusL();		
+	
+	CleanupStack::PopAndDestroy(3, this); // call, line,  this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetStatus for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetStatus0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+   	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetStatus when result is not cached.
+ 	//-------------------------------------------------------------------------
+	RCall::TStatus callStatus;
+	// get initial status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
+    
+ 	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetStatus again, this time CTSY
+	// will get result from the cache.
+	// modify status by creating incoming call
+ 	//------------------------------------------------------------------------- 
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+     
+ 	// get modified status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
+ 	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //call, line,  this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGS-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetStatus for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetStatus0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+   	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetStatus when result is not cached.
+ 	//-------------------------------------------------------------------------
+	RCall::TStatus callStatus;
+	// get initial status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
+    
+ 	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetStatus again, this time CTSY
+	// will get result from the cache.
+	// modify status by creating incoming call
+ 	//------------------------------------------------------------------------- 
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+     
+ 	// get modified status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
+ 	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //call, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGS-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::GetStatus for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::GetStatus for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetStatus00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+   	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::GetStatus when result is not cached.
+ 	//-------------------------------------------------------------------------
+	RCall::TStatus callStatus;
+	// get initial status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusIdle, callStatus);    
+    
+ 	//-------------------------------------------------------------------------
+	// TEST D: RLine::GetStatus again, this time CTSY
+	// will get result from the cache.
+	// modify status by creating incoming call
+ 	//------------------------------------------------------------------------- 
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+     
+ 	// get modified status
+    err = line.GetStatus(callStatus);
+    ASSERT_EQUALS(KErrNone, err);
+    ASSERT_EQUALS(RCall::EStatusRinging, callStatus);
+ 	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //call, line, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-PGLI-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::GetLineInfo
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::GetLineInfo
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetLineInfo0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	//-------------------------------------------------------------------------
+	// TEST with no line opened
+	// get initial LineInfo with index = 0
+ 	//------------------------------------------------------------------------- 	
+	TInt index(0);
+	RPhone::TLineInfo lineInfo;
+	TInt err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)(RLine::KCapsVoice|RLine::KCapsEventIncomingCall));
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
+	AssertMockLtsyStatusL();
+	
+	//-------------------------------------------------------------------------
+	// TEST with no line opened
+	// get initial LineInfo with index = 1
+ 	//------------------------------------------------------------------------- 	
+	index = 1;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010008);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
+	AssertMockLtsyStatusL();
+	
+	//-------------------------------------------------------------------------
+	// TEST with no line opened
+	// get initial LineInfo with index = 2
+ 	//------------------------------------------------------------------------- 	
+	index = 2;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x10001);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
+	AssertMockLtsyStatusL();
+	
+	//-------------------------------------------------------------------------
+	// TEST with no line opened
+	// get initial LineInfo with index = 3
+ 	//------------------------------------------------------------------------- 	
+	index = 3;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusUnknown);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x10002);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
+	AssertMockLtsyStatusL();
+		
+	
+	//-------------------------------------------------------------------------
+	// TEST with with line opened
+	// get LineInfo for Voice1 line
+ 	//------------------------------------------------------------------------- 
+	// now create voice1 line
+	RLine line;
+	err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line);
+    
+    // get initial voice1 line info 
+    index = 0;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010004);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
+	AssertMockLtsyStatusL();
+	
+	// ----------- change voice1 line info --------------------------------------
+	// create new incoming call
+	TInt callId(1);
+	RMobileCall::TMobileCallStatus mobileCallStatus = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    TName incomingCallName;	
+	err = CreateIncomingCallL(line, callId, KNullDesC, incomingCallName, 
+	                               mobileService, mobileCallStatus);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call;	
+    err = call.OpenExistingCall(line, incomingCallName);    
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call);
+    // --------------------------------------------------------------------------
+    	
+	// get changed voice1 line info
+	index = 0;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010004);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice1LineName));	
+	AssertMockLtsyStatusL();
+	
+			
+	//-------------------------------------------------------------------------
+	// TEST with with line opened
+	// get LineInfo for Voice2 line
+ 	//------------------------------------------------------------------------- 
+	// now create voice2 line
+	RLine line2;
+	err = line2.Open(iPhone, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line2);
+    
+    // get initial voice2 line info 
+    index = 1;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x0001000C);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
+	AssertMockLtsyStatusL();
+	
+	// ----------- change voice2 line info --------------------------------------
+	// create new incoming call
+	TInt callId2(2);
+	RMobileCall::TMobileCallStatus mobileCallStatus2 = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService2 = RMobilePhone::EAuxVoiceService;
+    TName incomingCallName2;    
+	err = CreateIncomingCallL(line2, callId2, KNullDesC, incomingCallName2, 
+	                               mobileService2, mobileCallStatus2);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call2;	
+    err = call2.OpenExistingCall(line2, incomingCallName2);    
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call2);
+    // --------------------------------------------------------------------------
+    	
+	// get changed voice2 line info
+	index = 1;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x0001000C);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyVoice2LineName));	
+	AssertMockLtsyStatusL();
+	
+	
+	//-------------------------------------------------------------------------
+	// TEST with with line opened
+	// get LineInfo for Data line
+ 	//------------------------------------------------------------------------- 
+	// now create Data line
+	RLine line3;
+	err = line3.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line3);
+    
+    // get initial Data line info 
+    index = 2;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010001);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
+	AssertMockLtsyStatusL();
+	
+	// ----------- change Data line info --------------------------------------
+	// create new incoming call
+	TInt callId3(3);
+	RMobileCall::TMobileCallStatus mobileCallStatus3 = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService3 = RMobilePhone::ECircuitDataService;
+    TName incomingCallName3;    
+	err = CreateIncomingCallL(line3, callId3, KNullDesC, incomingCallName3, 
+	                               mobileService3, mobileCallStatus3);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call3;	
+    err = call3.OpenExistingCall(line3, incomingCallName3);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call3);
+    // --------------------------------------------------------------------------
+    	
+	// get changed Data line info
+	index = 2;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010001);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyDataLineName));	
+	AssertMockLtsyStatusL();
+	
+	
+	//-------------------------------------------------------------------------
+	// TEST with with line opened
+	// get LineInfo for Fax line
+ 	//------------------------------------------------------------------------- 
+	// now create Fax line
+	RLine line4;
+	err = line4.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err)
+    CleanupClosePushL(line4);
+    
+    // get initial Fax line info 
+    index = 3;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusIdle);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010002);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
+	AssertMockLtsyStatusL();
+	
+	// ----------- change Fax line info --------------------------------------
+	// create new incoming call
+	TInt callId4(4);
+	RMobileCall::TMobileCallStatus mobileCallStatus4 = RMobileCall::EStatusRinging;
+    RMobilePhone::TMobileService mobileService4 = RMobilePhone::EFaxService;
+    TName incomingCallName4;    
+	err = CreateIncomingCallL(line4, callId4, KNullDesC, incomingCallName4, 
+	                               mobileService4, mobileCallStatus4);	
+	ASSERT_EQUALS(KErrNone, err);	
+	RCall call4;	
+    err = call4.OpenExistingCall(line4, incomingCallName4);
+    ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(call4);
+    // --------------------------------------------------------------------------
+    	
+	// get changed Fax line info
+	index = 3;
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(lineInfo.iStatus, RCall::EStatusRinging);	
+	ASSERT_EQUALS(lineInfo.iLineCapsFlags, (TUint32)0x00010002);
+	ASSERT_TRUE(0 == lineInfo.iName.Compare(KMmTsyFaxLineName));	
+	AssertMockLtsyStatusL();
+	
+	
+	CleanupStack::PopAndDestroy(9, this); // ...  this	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-PGLI-0003
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::GetLineInfo with bad parameter data
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::GetLineInfo with bad parameter data
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetLineInfo0003L()
+	{
+// This test should test sending bad parameter data for GetLineInfo
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	
+	TInt index(-1); // out of bound undex 
+	RPhone::TLineInfo lineInfo;
+	TInt err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNotFound, err);
+	AssertMockLtsyStatusL();	
+		
+	index = KMmTsyNumOfSupportedLines; // out of bound undex
+	err = iPhone.GetLineInfo(index, lineInfo);
+	ASSERT_EQUALS(KErrNotFound, err);
+	AssertMockLtsyStatusL();
+
+	// Done !
+	CleanupStack::PopAndDestroy(1, this); //  this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-PEL-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RPhone::EnumerateLines
+@SYMTestPriority High
+@SYMTestActions Invokes RPhone::EnumerateLines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestEnumerateLines0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	//-------------------------------------------------------------------------
+	// TEST C
+ 	//------------------------------------------------------------------------- 	
+	TInt cnt;
+	TInt err = iPhone.EnumerateLines(cnt);
+	ASSERT_EQUALS(KErrNone, err);
+	ASSERT_EQUALS(KMmTsyNumOfSupportedLines, cnt); // hard-coded value
+	AssertMockLtsyStatusL();
+	
+	CleanupStack::PopAndDestroy(1, this); //  this	
+	}
+	
+	
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNCC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyCapsChange0002L()
+	{
+
+// This test should test cancellation of NotifyCapsChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyCapsChange
+ 	//------------------------------------------------------------------------- 	
+ 	TRequestStatus reqStatus;
+    RLine::TCaps caps;
+    line.NotifyCapsChange(reqStatus, caps);
+    
+    // cancelling of RLine::NotifyCapsChange
+    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
+    
+    User::WaitForRequest(reqStatus);
+    AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
+ 
+	CleanupStack::PopAndDestroy(2); // line, this	
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNCC-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyCapsChange0007L()
+	{
+
+// This test should test cancellation of NotifyCapsChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyCapsChange
+ 	//------------------------------------------------------------------------- 	
+ 	TRequestStatus reqStatus;
+    RLine::TCaps caps;
+    line.NotifyCapsChange(reqStatus, caps);
+    
+    // cancelling of RLine::NotifyCapsChange
+    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
+    
+    User::WaitForRequest(reqStatus);
+    AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
+ 
+	CleanupStack::PopAndDestroy(2); // line, this		
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNCC-00012
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyCapsChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyCapsChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyCapsChange00012L()
+	{
+
+// This test should test cancellation of NotifyCapsChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyCapsChange
+ 	//------------------------------------------------------------------------- 	
+ 	TRequestStatus reqStatus;
+    RLine::TCaps caps;
+    line.NotifyCapsChange(reqStatus, caps);
+    
+    // cancelling of RLine::NotifyCapsChange
+    line.CancelAsyncRequest(EETelLineCapsChangeNotification);
+    
+    User::WaitForRequest(reqStatus);
+    AssertMockLtsyStatusL();
+	ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
+ 
+	CleanupStack::PopAndDestroy(2); // line, this	
+	
+	}
+
+
+	
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+ 
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::NotifyStatusChange when result is not cached.
+ 	//------------------------------------------------------------------------- 	
+
+    RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    // -----------  change Voice status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
+  
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
+	AssertMockLtsyStatusL();
+    
+    // close line
+    CloseLineL(line, callId, mobileService);    
+    CleanupStack::Pop(1); //line
+    AssertMockLtsyStatusL();
+    
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+
+    //open new line 
+	err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+    // use another status for coverage increasing
+	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);     
+	   
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData3(callId, mobileService, mobileCallInfo);
+    data.Close();
+    mockCallData3.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());      
+    
+    //-------------------------------------------------------------------------
+	// TEST C: 
+	// for voice KMmTsyVoice2LineName and for coverage increase
+ 	//------------------------------------------------------------------------- 
+
+    RLine line2;
+	err = line2.Open(iPhone, KMmTsyVoice2LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line2);
+    
+    line2.NotifyStatusChange(reqStatus, callStatus);
+    
+    // ---try to change Voice2 status 
+    // with mobileCallInfo.iStatus = RMobileCall::EStatusUnknown----------------
+   	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    callId = 2;
+    mobileService = RMobilePhone::EAuxVoiceService;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData4(callId, mobileService, mobileCallInfo);
+    data.Close();
+    mockCallData4.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
+	AssertMockLtsyStatusL();
+  
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::NotifyStatusChange when event EEtelLineNotifyCallAdded occurs
+ 	//------------------------------------------------------------------------- 
+
+    RLine line3;
+	err = line3.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line3);
+    
+   	line3.NotifyStatusChange(reqStatus, callStatus);
+    
+    // completes NotifyStatusChange    
+ 	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+ 	
+ 	callId = 1;
+ 	mobileCallInfo.iStatus = RMobileCall::EStatusConnected;
+ 	mobileService = RMobilePhone::ECircuitDataService;
+ 	   
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData6(callId, mobileService, mobileCallInfo);
+    data.Close();
+    mockCallData6.SerialiseL(data);
+		
+	iMockLTSY.CompleteL(EEtelLineNotifyCallAdded, KErrNone, data);
+	
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+	
+	// wait for NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
+	AssertMockLtsyStatusL();
+
+	CleanupStack::PopAndDestroy(6, this); //line3, line2, line, expectData, data, this
+	
+	}	
+	
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0001a
+@SYMDefectId  DEF126595
+@SYMComponent telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0001aL()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	//Line name is set to lower case, "voice1"
+	RLine line;
+	_LIT( KMmTsyVoice1LineNameLowerCase, "voice1");
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineNameLowerCase);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+ 
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::NotifyStatusChange when result is not cached
+    // and voice line name is lower case.
+ 	//------------------------------------------------------------------------- 	
+    RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    // -----------  change Voice status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
+  
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);      
+	AssertMockLtsyStatusL();
+    
+	//Get Call Info
+	RLine::TCallInfo callInfo;
+    TInt ret = line.GetCallInfo( 0, callInfo);
+    ASSERT_EQUALS(KErrNone, ret);
+    ASSERT_TRUE(callInfo.iStatus==RCall::EStatusDialling);
+	
+    // close line
+    CloseLineL(line, callId, mobileService);    
+    CleanupStack::Pop(1); //line
+    AssertMockLtsyStatusL();
+    
+	CleanupStack::PopAndDestroy(3, this); //
+	}	
+	
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0002L()
+	{
+
+// This test should test cancellation of NotifyStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyStatusChange
+ 	//-------------------------------------------------------------------------
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;  
+    
+ 	line.NotifyStatusChange(reqStatus, callStatus);
+ 	
+ 	// cancel request
+    line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
+ 	 	
+ 	User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
+ 
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2); // line,   this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0004L()
+	{
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2, KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);	
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);	
+    
+    RLine line2;
+	err = line2.Open(phone2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line2);
+	
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
+ 	//------------------------------------------------------------------------- 	
+ 	//first client
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    //second client
+ 	RCall::TStatus callStatus2;
+    TRequestStatus reqStatus2;     
+    line2.NotifyStatusChange(reqStatus2, callStatus2);    
+    
+    // -----------  change Voice status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;  
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for first NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
+    
+     // wait for second NotifyStatusChange completion
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
+
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
+
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+ 
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::NotifyStatusChange when result is not cached.
+ 	//------------------------------------------------------------------------- 	
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    // -----------  change Data status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;  
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);   
+    
+  	// close line
+  	mobileService = RMobilePhone::ECircuitDataService;
+    CloseLineL(line, callId, mobileService);    
+    CleanupStack::Pop(1); //line
+    AssertMockLtsyStatusL();	
+   		
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+ 	//open new line 
+	err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+    // use another status for coverage increasing
+	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);   	   
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData2(callId, mobileService, mobileCallInfo);
+    data.Close();
+    mockCallData2.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   
+    
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); // line, expectData, data, this
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0007L()
+	{
+
+// This test should test cancellation of NotifyStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyStatusChange
+ 	//-------------------------------------------------------------------------
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;  
+    
+ 	line.NotifyStatusChange(reqStatus, callStatus);
+ 	
+ 	// cancel request
+ 	line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
+ 	 	
+ 	User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
+ 
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2); // line,   this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange0009L()
+	{				
+						
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2, KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);	
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);	
+    
+    RLine line2;
+	err = line2.Open(phone2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line2);
+	
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
+ 	//------------------------------------------------------------------------- 	
+ 	//first client
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    //second client
+ 	RCall::TStatus callStatus2;
+    TRequestStatus reqStatus2;     
+    line2.NotifyStatusChange(reqStatus2, callStatus2);    
+    
+    // -----------  change Data status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;      
+     
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for first NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
+    
+     // wait for second NotifyStatusChange completion
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
+
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RLine::NotifyStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RLine::NotifyStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RBuf8 expectData;
+	CleanupClosePushL(expectData);
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+ 
+ 	//-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RLine::NotifyStatusChange when result is not cached.
+ 	//------------------------------------------------------------------------- 	
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    // -----------  change Data status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;  
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);   
+    
+   
+    mobileService = RMobilePhone::EFaxService;  
+   	// close line
+    CloseLineL(line, callId, mobileService);    
+    CleanupStack::Pop(1); //line
+    AssertMockLtsyStatusL();	
+   	
+   		
+ 	//-------------------------------------------------------------------------
+	// TEST E: Unsolicited completion of RLine::NotifyStatusChange
+	// from LTSY.
+ 	//-------------------------------------------------------------------------
+ 	//open new line 
+	err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+    // use another status for coverage increasing
+	mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
+	
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);        
+    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData2(callId, mobileService, mobileCallInfo);
+    data.Close();
+    mockCallData2.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());   
+    
+    AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(4, this); //line, expectData, data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-00012
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RLine::NotifyStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RLine::NotifyStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange00012L()
+	{
+
+// This test should test cancellation of NotifyStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);
+    
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RLine::NotifyStatusChange
+ 	//-------------------------------------------------------------------------
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;  
+    
+ 	line.NotifyStatusChange(reqStatus, callStatus);
+ 	
+ 	// cancel request
+ 	line.CancelAsyncRequest(EEtelLineNotifyStatusChange);
+ 	 	
+ 	User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int());
+ 
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2); // line,   this
+	
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNSC-00014
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RLine::NotifyStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RLine::NotifyStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyStatusChange00014L()
+	{
+	
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2, KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+	
+	
+	RLine line;
+	TInt err = line.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line);	
+    
+    RLine line2;
+	err = line2.Open(phone2, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(line2);
+	
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RLine::NotifyStatusChange
+ 	//------------------------------------------------------------------------- 	
+ 	//first client
+ 	RCall::TStatus callStatus;
+    TRequestStatus reqStatus;     
+    line.NotifyStatusChange(reqStatus, callStatus);
+    
+    //second client
+ 	RCall::TStatus callStatus2;
+    TRequestStatus reqStatus2;     
+    line2.NotifyStatusChange(reqStatus2, callStatus2);    
+    
+    // -----------  change Data status ---------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;  
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());
+    //------------------------------------------------------------------------- 
+    
+    // wait for first NotifyStatusChange completion
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus);  
+    
+     // wait for second NotifyStatusChange completion
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    // check callStatus
+    ASSERT_EQUALS(RCall::EStatusDialling, callStatus2);   	
+
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // .... phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGMLS-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetMobileLineStatus0001L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);
+        
+    // Get initial MobileLineStatus
+    RMobileCall::TMobileCallStatus callStatus;    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
+    
+    //------- change MobileLineStatus -----------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusDialling;
+        
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // Get changed MobileLineStatus    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGMLS-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetMobileLineStatus0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);
+        
+    // Get initial MobileLineStatus
+    RMobileCall::TMobileCallStatus callStatus;    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
+    
+    //------- change MobileLineStatus -----------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // Get changed MobileLineStatus    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LGMLS-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::GetMobileLineStatus for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::GetMobileLineStatus for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestGetMobileLineStatus00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);
+        
+    // Get initial MobileLineStatus
+    RMobileCall::TMobileCallStatus callStatus;    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusIdle, callStatus);     
+    
+    //------- change MobileLineStatus -----------------------------------------
+    TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+		
+	User::WaitForRequest(mockLtsyStatus);
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // Get changed MobileLineStatus    
+    mobileLine.GetMobileLineStatus(callStatus);
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus); 
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); // mobileLine, data, this	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0001
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0001L()
+	{
+	
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    //-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
+ 	//-------------------------------------------------------------------------	
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0002
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0002L()
+	{
+
+// This test should test cancellation of NotifyMobileLineStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+   	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	// cancelling of RMobileLine::NotifyMobileLineStatusChange
+    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
+	
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
+ 	
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0004
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for voice lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0004L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    RMobileLine mobileLine2;
+	err = mobileLine2.Open(phone2, KMmTsyVoice1LineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine2);    
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+
+   	// set first notification
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;	
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
+	
+	// set second notification
+	TRequestStatus reqStatus2;	
+	RMobileCall::TMobileCallStatus callStatus2;	
+	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EVoiceService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for first notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+    
+    // wait for second notification
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
+
+	AssertMockLtsyStatusL();
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, this
+
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0006
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0006L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    //-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
+ 	//-------------------------------------------------------------------------	
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0007
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0007L()
+	{
+
+// This test should test cancellation of NotifyMobileLineStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+   	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	// cancelling of RMobileLine::NotifyMobileLineStatusChange
+    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
+	
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int());	
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-0009
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for data lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange0009L()
+	{
+
+					
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    RMobileLine mobileLine2;
+	err = mobileLine2.Open(phone2, KMmTsyDataLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine2);    
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+
+   	// set first notification
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;	
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
+	
+	// set second notification
+	TRequestStatus reqStatus2;	
+	RMobileCall::TMobileCallStatus callStatus2;	
+	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::ECircuitDataService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for first notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+    
+    // wait for second notification
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
+
+	AssertMockLtsyStatusL();
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, this
+	}
+
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00011
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00011L()
+	{
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    //-------------------------------------------------------------------------
+	// TEST C: Successful completion request of
+	// RMobileLine::NotifyMobileLineStatusChange when result is not cached.
+ 	//-------------------------------------------------------------------------	
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnecting;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(3, this); //mobileLine, data, this
+	
+	}
+
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00012
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for cancelling of RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes cancelling of RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00012L()
+	{
+
+// This test should test cancellation of NotifyMobileLineStatusChange
+// If this API does not have a cancel, the test step should be completely removed.
+
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+   	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;
+	
+ 	//-------------------------------------------------------------------------
+	// Test cancelling of RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+ 	
+ 	// set notification
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);	
+	
+	// cancelling of RMobileLine::NotifyMobileLineStatusChange
+    mobileLine.CancelAsyncRequest(EMobileLineNotifyMobileLineStatusChange);        
+	
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrCancel, reqStatus.Int()); 	
+
+	AssertMockLtsyStatusL();
+	CleanupStack::PopAndDestroy(2, this); //mobileLine,  this
+	
+	}
+
+/**
+@SYMTestCaseID BA-CTSY-LINC-LNMLSC-00014
+@SYMComponent  telephony_ctsy
+@SYMTestCaseDesc Test support in CTSY for multiple client requests to RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestPriority High
+@SYMTestActions Invokes multiple client requests to RMobileLine::NotifyMobileLineStatusChange for fax lines
+@SYMTestExpectedResults Pass
+@SYMTestType CT
+*/
+void CCTsyLineControlFU::TestNotifyMobileLineStatusChange00014L()
+	{
+	OpenEtelServerL(EUseExtendedError);
+	CleanupStack::PushL(TCleanupItem(Cleanup,this));
+	OpenPhoneL();
+
+	RBuf8 data;
+	CleanupClosePushL(data);
+
+	// Open second client
+	RTelServer telServer2;
+	TInt ret = telServer2.Connect();
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(telServer2);
+
+	RMobilePhone phone2;
+	ret = phone2.Open(telServer2,KMmTsyPhoneName);
+	ASSERT_EQUALS(KErrNone, ret);
+	CleanupClosePushL(phone2);
+	
+	RMobileLine mobileLine;
+	TInt err = mobileLine.Open(iPhone, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine);    
+    
+    RMobileLine mobileLine2;
+	err = mobileLine2.Open(phone2, KMmTsyFaxLineName);
+	ASSERT_EQUALS(KErrNone, err);
+    CleanupClosePushL(mobileLine2);    
+
+	//-------------------------------------------------------------------------
+	// Test A: Test multiple clients requesting RMobileLine::NotifyMobileLineStatusChange
+ 	//-------------------------------------------------------------------------
+
+   	// set first notification
+	TRequestStatus reqStatus;	
+	RMobileCall::TMobileCallStatus callStatus;	
+	mobileLine.NotifyMobileLineStatusChange(reqStatus, callStatus);		
+	
+	// set second notification
+	TRequestStatus reqStatus2;	
+	RMobileCall::TMobileCallStatus callStatus2;	
+	mobileLine2.NotifyMobileLineStatusChange(reqStatus2, callStatus2);		
+	
+	//------- change MobileLineStatus -----------------------------------------
+	TRequestStatus mockLtsyStatus;
+	iMockLTSY.NotifyTerminated(mockLtsyStatus);
+    TInt callId(1);          
+    RMobilePhone::TMobileService mobileService = RMobilePhone::EFaxService;
+    RMobileCall::TMobileCallInfoV1 mobileCallInfo;
+    mobileCallInfo.iCallId = callId;
+    mobileCallInfo.iService = mobileService;
+    mobileCallInfo.iStatus = RMobileCall::EStatusConnected;    
+    
+    TMockLtsyCallData1<RMobileCall::TMobileCallInfoV1> mockCallData1(callId, mobileService, mobileCallInfo);
+    mockCallData1.SerialiseL(data);		
+	iMockLTSY.CompleteL(EMobileCallGetMobileCallInfo, KErrNone, data);
+			
+	User::WaitForRequest(mockLtsyStatus);	
+    ASSERT_EQUALS(KErrNone, mockLtsyStatus.Int());    
+    //------------------------------------------------------------------------- 
+    
+    // wait for first notification
+    User::WaitForRequest(reqStatus);
+    ASSERT_EQUALS(KErrNone, reqStatus.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus);  	
+    
+    // wait for second notification
+    User::WaitForRequest(reqStatus2);
+    ASSERT_EQUALS(KErrNone, reqStatus2.Int());    
+    ASSERT_EQUALS(RMobileCall::EStatusDialling, callStatus2);  	
+
+	AssertMockLtsyStatusL();
+	// Done !
+	CleanupStack::PopAndDestroy(6, this); // mobileLine2, mobileLine, phone2, telServer2, data, this
+
+	}
+
+
+
+