telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphoneidentity.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphoneidentity.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestphoneidentity.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,1254 +1,1254 @@
-// 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:
-// Test step definitions for the PhoneIdentity functional unit.
-// 
-//
-
-/**
- @internalTechnology
-*/
-
-#include "cctsyintegrationtestphoneidentity.h"
-
-#include "cctsyinidata.h"
-
-	
-CCTSYIntegrationTestPhoneIdentityBase::CCTSYIntegrationTestPhoneIdentityBase(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iCallControlHelper(*this), iSupplementalHelper(*this), iNetworkTestHelper(*this)
-/**
- * Constructor
- */
-	{
-	}
-
-CCTSYIntegrationTestPhoneIdentityBase::~CCTSYIntegrationTestPhoneIdentityBase()
-/*
- * Destructor
- */
-	{
-	}
-	
-
-CCTSYIntegrationTestPhoneIdentity0001::CCTSYIntegrationTestPhoneIdentity0001(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0001::~CCTSYIntegrationTestPhoneIdentity0001()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0001::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0001
- * @SYMFssID BA/CTSY/PID-0001
- * @SYMTestCaseDesc Deactivate Calling Line Identification Restriction (CLIR).
- * @SYMTestPriority High
- * @SYMTestActions RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
- * @SYMTestExpectedResults Pass - CLIR can be deactivated and remote party can get the calling number.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify service status notifications complete and called party can get the calling number.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus 
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);	
-	TUint32 callServiceCaps;
-	
-	CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
-	TUint32 expectedServiceCaps = RMobilePhone::KCapsGetClirStatus;
-	CHECK_BITS_SET_L(callServiceCaps, expectedServiceCaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
-
-	CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
-	
-
-	// Get Voice Line 1.
-	RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
-
-	// Get Call 1.
-	RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed 
-	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;	
-	TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
-	CleanupStack::PushL(getIdentityServiceStatus);
-	
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-   
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-	
-	/* $CTSYProblem
-	 * The CTSY does not support setting of the identity service status with RMobilePhone::SetIdentityServiceStatus API.
-	 * If support is added, the rest of this test case can be used.
-	 */
-	ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
-
-	// Set CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
-	/*TExtEtelRequestStatus setIdentityServiceStatus(mobilePhone, EMobilePhoneSetIdentityServiceStatus);
-	CleanupStack::PushL(setIdentityServiceStatus);
-	
-	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-    
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted 
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-   
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
-	
-	
-	// ===  Check that caller ID is not available when CLIR is active ===
-
-	// Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
-	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-	
-	// Dial the user's phone number.
-	RMobileCall::TMobileCallStatus mobileCallState;
-	
-	// Post notification for RMobileCall::NotifyMobileCallStatusChange
-	TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
-	CleanupStack::PushL(notifyMobileCallStatus);
-	
-	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-	
-	TPtrC number; 
-	ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
-	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
-	TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
-	CleanupStack::PushL(dialStatus);
-	mobileCall.Dial(dialStatus, number); 
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
-	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-	
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-	RMobileCall::TMobileCallStatus expectedMobileCallStatus=RMobileCall::EStatusConnected;
-	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
-																			   notifyMobileCallStatus,
-																			   mobileCallState,
-																			   expectedMobileCallStatus,
-																			   KErrNone);
-	
-	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-	
-	// User should check that they can not see the caller's number
-	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
-		
-	// Hang up.
-	DEBUG_PRINTF1(_L("Hangup call"));
-	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-	
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
-	expectedMobileCallStatus=RMobileCall::EStatusIdle;
-	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
-																			   notifyMobileCallStatus,
-																			   mobileCallState,
-																			   expectedMobileCallStatus,
-																			   KErrNone);
-
-	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-	
-	// ===  Deactivate CLIR ===
-
-	// Deactivate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationAllowed 	
-	RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
-	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
-	
-	// Post notification for RMobileCall::NotifyIdentityServiceStatus
-	TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
-	CleanupStack::PushL(notifyIdentityServiceStatus);
-	
-	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-	
-	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationAllowed);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultAllowed
-	RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
-	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
-																	  notifyIdentityServiceStatus,
-																	  idService,
-																	  expectedService,
-																	  idServiceStateNotify,
-																	  KErrNone);
-
-	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-	
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-   
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-	
-	// ===  Make a call and see if the remote number is present ===
-
-	// Dial the user's phone number.
-	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-
-	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
-	mobileCall.Dial(dialStatus, number); 
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
-	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-	
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-	expectedMobileCallStatus=RMobileCall::EStatusConnected;
-	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
-																	 notifyMobileCallStatus,
-																	 mobileCallState,
-																	 expectedMobileCallStatus,
-																	 KErrNone);
-
-	// User should check that they can see the caller's number
-	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can see the caller's number."), ETimeMedium);
-		
-	// Hang up.
-	DEBUG_PRINTF1(_L("Hangup call"));
-	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyMobileCallStatus, ETimeMedium), KErrNone, _L("RMobileCall::HangUp timed-out"));
-	ASSERT_EQUALS(notifyMobileCallStatus.Int(), KErrNone, _L("RMobileCall::HangUp notifyMobileCallStatus completed with incorrect error"));
-	
-	ASSERT_EQUALS(mobileCallState, RMobileCall::EStatusIdle, _L("RMobileCall::HangUp mobileCallState is not EStatusIdle"));
-
-	// ===  Reactivate CLIR ===
-
-	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
-	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
-	expectedService=RMobilePhone::EIdServiceCallerRestriction;
-	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
-																	  notifyIdentityServiceStatus,
-																	  idService,
-																	  expectedService,
-																	  idServiceStateNotify,
-																	  KErrNone);
-	
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-  
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
-*/
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-
-	CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0001");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0002::CCTSYIntegrationTestPhoneIdentity0002(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0002::~CCTSYIntegrationTestPhoneIdentity0002()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0002::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0002
- * @SYMFssID BA/CTSY/PID-0002
- * @SYMTestCaseDesc Activate Calling Line Identification Restriction (CLIR).
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
- * @SYMTestExpectedResults Pass - CLIR can be activated.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify service status notifications complete and called party does not get the calling party's number.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus 
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);	
-	TUint32 callServiceCaps;
-	
-	CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
-	TUint32 expectedservicecaps = RMobilePhone::KCapsGetClirStatus;
-	CHECK_BITS_SET_L(callServiceCaps, expectedservicecaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
-
-	CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
-	
-
-	// Get Voice Line 1.
-	RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
-
-	// Get Call 1.
-	RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-		
-	
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed 
-	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;	
-	TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
-	CleanupStack::PushL(getIdentityServiceStatus);
-	
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-	
-	// $CTSYProblem
-	// The CTSY currently does not support RMobilePhone::SetIdentityServiceStatus
-	// so the rest of this test case is not applicable. If support is added for this API
-	// The rest of this test can be uncommented and used.
-	ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
-	/*
-	// ===  Activate CLIR ===
-
-	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
-	RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
-	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
-	
-	// Post notification for RMobileCall::NotifyIdentityServiceStatus
-	TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
-	CleanupStack::PushL(notifyIdentityServiceStatus);
-	
-	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
-	
-	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
-	RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
-	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
-																	  notifyIdentityServiceStatus,
-																	  idService,
-																	  expectedService,
-																	  idServiceStateNotify,
-																	  KErrNone);
-	
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
-	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
-	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
-   
-	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
-	
-	// ===  Check that caller ID is not available when CLIR is active ===
-
-	// Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
-	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
-	
-	// Dial the user's phone number.
-	RMobileCall::TMobileCallStatus mobileCallState;
-	
-	TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
-	CleanupStack::PushL(notifyMobileCallStatus);
-	
-	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-	
-	TPtrC number; 
-	ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
-	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
-	TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
-	CleanupStack::PushL(dialStatus);
-	mobileCall.Dial(dialStatus, number); 
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
-	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
-	
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-	RMobileCall::TMobileCallStatus expectedMobileCallState=RMobileCall::EStatusConnected;
-	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
-																	 notifyMobileCallStatus,
-																	 mobileCallState,
-																	 expectedMobileCallState,
-																	 KErrNone);
-	
-	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
-	
-	// User should check that they can not see the caller's number
-	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
-
-	// Hang up.
-	DEBUG_PRINTF1(_L("Hangup call"));
-	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
-
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
-	expectedMobileCallState=RMobileCall::EStatusIdle;
-	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
-																	 notifyMobileCallStatus,
-																	 mobileCallState,
-																	 expectedMobileCallState,
-																	 KErrNone);
-	*/
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-
-	CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0002");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0003::CCTSYIntegrationTestPhoneIdentity0003(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0003::~CCTSYIntegrationTestPhoneIdentity0003()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0003::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0003
- * @SYMFssID BA/CTSY/PID-0003
- * @SYMTestCaseDesc Activate Calling Line Identity Presentation (CLIP)
- * @SYMTestPriority High
- * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
- * @SYMTestExpectedResults Pass - Remote party's number retrieved correctly.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify service status notifications complete and remote party information is correct.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability. 
-
-	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultAllowed 
-
-	// Get Voice Line 1 
-
-	// Get Call 1 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Activate CLIP - Be able to see who is calling you - check notification completes ===
-
-	// Activate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationAllowed 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
-	// ===  Request incoming call and check that the remote number can be retrieved ===
-
-	// Request an incoming call from RPS. 
-
-	// Answer the call. 
-
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailable
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteNumber is the number RPS is calling from (coded in BCD)
-	// Check RMobileCall::GetMobileCallInfo returns iValid > 0.
-	// Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
-
-	// Hang up call. 
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0003");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0004::CCTSYIntegrationTestPhoneIdentity0004(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0004::~CCTSYIntegrationTestPhoneIdentity0004()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0004::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0004
- * @SYMFssID BA/CTSY/PID-0004
- * @SYMTestCaseDesc Deactivate Calling Line Identity Presentation (CLIP)
- * @SYMTestPriority High
- * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
- * @SYMTestExpectedResults Pass - Remote party's number not retrieved.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify service status notifications complete and it is not possible to get the calling line identity.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability. 
-
-	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultRestricted 
-
-	// Get Voice Line 1 
-
-	// Get Call 1 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Deactivate (restrict) CLIP - Not be able to see who is calling you - check notification completes ===
-
-	// Deactivate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationRestricted 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-	// ===  Request incoming call and check that the remote number can be retrieved ===
-
-	// Request an incoming call from RPS. 
-
-	// Answer the call. 
-
-	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
-
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
-	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailableNoCliUnavailable or = ERemoteIdentityUnavailableNoCliInteractionWithOtherService
-	// Check RMobileCall::GetMobileCallInfo returns iValid > 0.
-	// Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
-
-	// Hang up call. 
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0004");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0005::CCTSYIntegrationTestPhoneIdentity0005(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0005::~CCTSYIntegrationTestPhoneIdentity0005()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0005::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0005
- * @SYMFssID BA/CTSY/PID-0005
- * @SYMTestCaseDesc Receive rejection of suppression of calling identity.
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentitySuppressionRejected
- * @SYMTestExpectedResults Pass - Notification of identity suppression rejected completes.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify notification completes.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus capability. 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Attempt to restrict caller ID ===
-
-	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
-
-	// Simulator should reject CLIR activation 
-
-	// Check RMobilePhone::NotifyIdentitySuppressionRejected completes with KErrNone
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActiveDefaultRestricted
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0005");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0006::CCTSYIntegrationTestPhoneIdentity0006(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0006::~CCTSYIntegrationTestPhoneIdentity0006()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0006::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0006
- * @SYMFssID BA/CTSY/PID-0006
- * @SYMTestCaseDesc Activate and deactivate CNAP (calling name presentation)
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
- * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetCnapStatus capability. 
-
-	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Activate CNAP ===
-
-	// Activate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationRestricted 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationRestricted
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
-	// ===  Deactivate CNAP ===
-
-	// Deactivate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationAllowed 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationAllowed
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0006");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0007::CCTSYIntegrationTestPhoneIdentity0007(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0007::~CCTSYIntegrationTestPhoneIdentity0007()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0007::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0007
- * @SYMFssID BA/CTSY/PID-0007
- * @SYMTestCaseDesc Get subscriber ID (IMSI) when no SIM present.
- * @SYMTestPriority High
- * @SYMTestActions RMobileCall::GetSubscriberId
- * @SYMTestExpectedResults Pass - Error returned on attempt to get IMSI with no SIM.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/manual
- *
- * Reason for test: Verify IMSI retrieval fails.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// Remove the SIM.
-	TBuf<100> prompt(_L("Ensure SIM is not present"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobilePhone::GetSubscriberId completes with error != KErrNone
-	TExtEtelRequestStatus getSubscriberIdStatus(mobilePhone, EMobilePhoneGetSubscriberId);
-	RMobilePhone::TMobilePhoneSubscriberId subscriberId;
-	CleanupStack::PushL(getSubscriberIdStatus);
-	
-	mobilePhone.GetSubscriberId(getSubscriberIdStatus,subscriberId);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getSubscriberIdStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetSubscriberId timed-out"));
-	ASSERT_TRUE(getSubscriberIdStatus.Int() != KErrNone, _L("RMobilePhone::getSubscriberIdStatus returned with an error"));
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	CleanupStack::PopAndDestroy(&getSubscriberIdStatus);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0007");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0008::CCTSYIntegrationTestPhoneIdentity0008(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0008::~CCTSYIntegrationTestPhoneIdentity0008()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0008::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0008
- * @SYMFssID BA/CTSY/PID-0008
- * @SYMTestCaseDesc Activate and deactivate COLP (connected line identification presentation)
- * @SYMTestPriority High
- * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
- * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColpStatus 
-
-	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Activate COLP ===
-
-	// Activate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationRestricted 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationRestricted
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
-	// ===  Deactivate COLP ===
-
-	// Deactivate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationAllowed 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationAllowed
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0008");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0009::CCTSYIntegrationTestPhoneIdentity0009(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0009::~CCTSYIntegrationTestPhoneIdentity0009()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0009::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0009
- * @SYMFssID BA/CTSY/PID-0009
- * @SYMTestCaseDesc Activate and deactivate COLR (connected line identity restriction)
- * @SYMTestPriority High
- * @SYMTestActions 
- * @SYMTestExpectedResults Pass - COLR activated and deactivated.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify notification completes and identity status is correct.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColrStatus 
-
-	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Activate COLR ===
-
-	// Activate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationRestricted 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationRestricted
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
-
-	// ===  Deactivate COLR ===
-
-	// Deactivate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationAllowed 
-
-	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationAllowed
-
-	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0009");
-	}
-
-
-
-CCTSYIntegrationTestPhoneIdentity0010::CCTSYIntegrationTestPhoneIdentity0010(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName());
-	}
-
-CCTSYIntegrationTestPhoneIdentity0010::~CCTSYIntegrationTestPhoneIdentity0010()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestPhoneIdentity0010::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-PID-0010
- * @SYMFssID BA/CTSY/PID-0010
- * @SYMTestCaseDesc Get the phone identity
- * @SYMTestPriority High
- * @SYMTestActions 
- * @SYMTestExpectedResults Pass - Phone manufacturer, model, revision and serial number returned.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify manufacturer, model, revision and serial number returned.
- *
- * @return - TVerdict code
- */
-		{
-		
-	//
-	// SET UP
-	//
-
-	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	// EnsureRMobilePhone::GetIdentityCaps returns caps in set of 
-	// RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | RMobilePhone::KCapsGetRevision |
-	//  RMobilePhone::KCapsGetSerialNumber 
-	
-	TUint32 caps; 
-	TInt result = phone.GetIdentityCaps(caps);
-	CHECK_TRUE_L(result == KErrNone, _L("RMobilePhone::GetIdentityCaps failed."))
-	
-	// Needs all caps
-	TUint neededCaps = RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | 
-							RMobilePhone::KCapsGetRevision | RMobilePhone::KCapsGetSerialNumber;	
-	CHECK_BITS_SET_L( caps, neededCaps, KNoUnwantedBits, _L("RMobilePhone::GetIdentityCaps returned wrong mask") )
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Get the phone identity ===
-	RMobilePhone::TMobilePhoneIdentityV1 phoneId;	
-	TExtEtelRequestStatus requestStatus(phone, EMobilePhoneGetPhoneId);
-	CleanupStack::PushL(requestStatus);	
-	phone.GetPhoneId(requestStatus, phoneId);
-	
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeLong), 
-			KErrNone, _L("RMobilePhone::GetPhoneId timed out."))
-	ASSERT_EQUALS(requestStatus.Int(), KErrNone, _L("RMobilePhone::GetPhoneId completed with incorrect status")) 
-	
-	// Check RMobilePhone::GetPhoneId returns aId.iManufacturer with length > 0
-	ASSERT_TRUE(phoneId.iManufacturer.Length() > 0, 
-				_L("RMobilePhone::GetPhoneId returned invalid manufacturer"))	
-	
-	// Check RMobilePhone::GetPhoneId returns aId.iModel with length > 0
-	ASSERT_TRUE(phoneId.iModel.Length() > 0, 
-				_L("RMobilePhone::GetPhoneId returned invalid model"))
-	
-	// Check RMobilePhone::GetPhoneId returns aId.iRevision with length > 0
-	ASSERT_TRUE(phoneId.iRevision.Length() > 0, 
-				_L("RMobilePhone::GetPhoneId returned invalid revision"))	
-
-	// Check RMobilePhone::GetPhoneId returns aId.iSerialNumber with length > 0
-	ASSERT_TRUE(phoneId.iSerialNumber.Length() > 0, 
-				_L("RMobilePhone::GetPhoneId returned invalid serial number"))
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	CleanupStack::Pop(); // requestStatus
-	
-	return TestStepResult();
-	}
-	
-
-TPtrC CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestPhoneIdentity0010");
-	}
-
-
-
+// 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:
+// Test step definitions for the PhoneIdentity functional unit.
+// 
+//
+
+/**
+ @internalTechnology
+*/
+
+#include "cctsyintegrationtestphoneidentity.h"
+
+#include "cctsyinidata.h"
+
+	
+CCTSYIntegrationTestPhoneIdentityBase::CCTSYIntegrationTestPhoneIdentityBase(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iCallControlHelper(*this), iSupplementalHelper(*this), iNetworkTestHelper(*this)
+/**
+ * Constructor
+ */
+	{
+	}
+
+CCTSYIntegrationTestPhoneIdentityBase::~CCTSYIntegrationTestPhoneIdentityBase()
+/*
+ * Destructor
+ */
+	{
+	}
+	
+
+CCTSYIntegrationTestPhoneIdentity0001::CCTSYIntegrationTestPhoneIdentity0001(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0001::~CCTSYIntegrationTestPhoneIdentity0001()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0001::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0001
+ * @SYMFssID BA/CTSY/PID-0001
+ * @SYMTestCaseDesc Deactivate Calling Line Identification Restriction (CLIR).
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
+ * @SYMTestExpectedResults Pass - CLIR can be deactivated and remote party can get the calling number.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify service status notifications complete and called party can get the calling number.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus 
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);	
+	TUint32 callServiceCaps;
+	
+	CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
+	TUint32 expectedServiceCaps = RMobilePhone::KCapsGetClirStatus;
+	CHECK_BITS_SET_L(callServiceCaps, expectedServiceCaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
+
+	CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
+	
+
+	// Get Voice Line 1.
+	RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
+
+	// Get Call 1.
+	RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed 
+	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;	
+	TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
+	CleanupStack::PushL(getIdentityServiceStatus);
+	
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+   
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+	
+	/* $CTSYProblem
+	 * The CTSY does not support setting of the identity service status with RMobilePhone::SetIdentityServiceStatus API.
+	 * If support is added, the rest of this test case can be used.
+	 */
+	ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
+
+	// Set CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
+	/*TExtEtelRequestStatus setIdentityServiceStatus(mobilePhone, EMobilePhoneSetIdentityServiceStatus);
+	CleanupStack::PushL(setIdentityServiceStatus);
+	
+	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+    
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted 
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+   
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
+	
+	
+	// ===  Check that caller ID is not available when CLIR is active ===
+
+	// Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
+	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+	
+	// Dial the user's phone number.
+	RMobileCall::TMobileCallStatus mobileCallState;
+	
+	// Post notification for RMobileCall::NotifyMobileCallStatusChange
+	TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
+	CleanupStack::PushL(notifyMobileCallStatus);
+	
+	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+	
+	TPtrC number; 
+	ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
+	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+	TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
+	CleanupStack::PushL(dialStatus);
+	mobileCall.Dial(dialStatus, number); 
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+	
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+	RMobileCall::TMobileCallStatus expectedMobileCallStatus=RMobileCall::EStatusConnected;
+	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+																			   notifyMobileCallStatus,
+																			   mobileCallState,
+																			   expectedMobileCallStatus,
+																			   KErrNone);
+	
+	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+	
+	// User should check that they can not see the caller's number
+	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
+		
+	// Hang up.
+	DEBUG_PRINTF1(_L("Hangup call"));
+	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+	
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+	expectedMobileCallStatus=RMobileCall::EStatusIdle;
+	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+																			   notifyMobileCallStatus,
+																			   mobileCallState,
+																			   expectedMobileCallStatus,
+																			   KErrNone);
+
+	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+	
+	// ===  Deactivate CLIR ===
+
+	// Deactivate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationAllowed 	
+	RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
+	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
+	
+	// Post notification for RMobileCall::NotifyIdentityServiceStatus
+	TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
+	CleanupStack::PushL(notifyIdentityServiceStatus);
+	
+	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+	
+	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationAllowed);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultAllowed
+	RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
+	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+																	  notifyIdentityServiceStatus,
+																	  idService,
+																	  expectedService,
+																	  idServiceStateNotify,
+																	  KErrNone);
+
+	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+	
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+   
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+	
+	// ===  Make a call and see if the remote number is present ===
+
+	// Dial the user's phone number.
+	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+
+	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+	mobileCall.Dial(dialStatus, number); 
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+	
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+	expectedMobileCallStatus=RMobileCall::EStatusConnected;
+	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+																	 notifyMobileCallStatus,
+																	 mobileCallState,
+																	 expectedMobileCallStatus,
+																	 KErrNone);
+
+	// User should check that they can see the caller's number
+	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can see the caller's number."), ETimeMedium);
+		
+	// Hang up.
+	DEBUG_PRINTF1(_L("Hangup call"));
+	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(notifyMobileCallStatus, ETimeMedium), KErrNone, _L("RMobileCall::HangUp timed-out"));
+	ASSERT_EQUALS(notifyMobileCallStatus.Int(), KErrNone, _L("RMobileCall::HangUp notifyMobileCallStatus completed with incorrect error"));
+	
+	ASSERT_EQUALS(mobileCallState, RMobileCall::EStatusIdle, _L("RMobileCall::HangUp mobileCallState is not EStatusIdle"));
+
+	// ===  Reactivate CLIR ===
+
+	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted
+	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
+	expectedService=RMobilePhone::EIdServiceCallerRestriction;
+	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+																	  notifyIdentityServiceStatus,
+																	  idService,
+																	  expectedService,
+																	  idServiceStateNotify,
+																	  KErrNone);
+	
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+  
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultRestricted"));
+*/
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+
+	CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0001::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0001");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0002::CCTSYIntegrationTestPhoneIdentity0002(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0002::~CCTSYIntegrationTestPhoneIdentity0002()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0002::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0002
+ * @SYMFssID BA/CTSY/PID-0002
+ * @SYMTestCaseDesc Activate Calling Line Identification Restriction (CLIR).
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::Dial, RCall::HangUp
+ * @SYMTestExpectedResults Pass - CLIR can be activated.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify service status notifications complete and called party does not get the calling party's number.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus 
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);	
+	TUint32 callServiceCaps;
+	
+	CHECK_TRUE_L(mobilePhone.GetCallServiceCaps(callServiceCaps)==KErrNone, _L("RMobilePhone::GetCallServiceCaps return value is not KErrNone"));
+	TUint32 expectedservicecaps = RMobilePhone::KCapsGetClirStatus;
+	CHECK_BITS_SET_L(callServiceCaps, expectedservicecaps, KNoUnwantedBits, _L("RMobilePhone::GetCallServiceCaps returned wrong caps"));
+
+	CHECK_EQUALS_L(iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone), KErrNone, _L("TNetworkTsyTestHelper::WaitForRegisteredOnHomeNetworkL returned with an error"));
+	
+
+	// Get Voice Line 1.
+	RMobileLine& mobileLine= iEtelSessionMgr.GetLineL(KMainServer, KMainPhone, KVoiceLine);
+
+	// Get Call 1.
+	RMobileCall& mobileCall= iEtelSessionMgr.GetCallL(KMainServer, KMainPhone, KVoiceLine, KCall1);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+		
+	
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultAllowed 
+	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStatus;	
+	TExtEtelRequestStatus getIdentityServiceStatus(mobilePhone, EMobilePhoneGetIdentityServiceStatus);
+	CleanupStack::PushL(getIdentityServiceStatus);
+	
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultAllowed, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+	
+	// $CTSYProblem
+	// The CTSY currently does not support RMobilePhone::SetIdentityServiceStatus
+	// so the rest of this test case is not applicable. If support is added for this API
+	// The rest of this test can be uncommented and used.
+	ERR_PRINTF1(_L("<font color=Cyan>$CTSYProblem: RMobilePhone::SetIdentityServiceStatus not supported by CTSY.<font color=Black>"));
+	/*
+	// ===  Activate CLIR ===
+
+	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
+	RMobilePhone::TMobilePhoneIdService idService = RMobilePhone::EIdServiceCallerRestriction;
+	RMobilePhone::TMobilePhoneIdServiceStatus idServiceStateNotify;
+	
+	// Post notification for RMobileCall::NotifyIdentityServiceStatus
+	TExtEtelRequestStatus notifyIdentityServiceStatus(mobilePhone, EMobilePhoneNotifyIdentityServiceStatus);
+	CleanupStack::PushL(notifyIdentityServiceStatus);
+	
+	mobilePhone.NotifyIdentityServiceStatus(notifyIdentityServiceStatus, idService, idServiceStateNotify);
+	
+	mobilePhone.SetIdentityServiceStatus(setIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, RMobilePhone::EIdServicePresentationRestricted);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(setIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::SetIdentityServiceStatus setIdentityServiceStatus completed with incorrect error"));
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerRestriction completes with aStatus=EIdServiceActiveDefaultRestricted
+	RMobilePhone::TMobilePhoneIdService expectedService=RMobilePhone::EIdServiceCallerRestriction;
+	iSupplementalHelper.WaitForMobilePhoneNotifyIdentityServiceStatus(mobilePhone,
+																	  notifyIdentityServiceStatus,
+																	  idService,
+																	  expectedService,
+																	  idServiceStateNotify,
+																	  KErrNone);
+	
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActiveDefaultRestricted
+	mobilePhone.GetIdentityServiceStatus(getIdentityServiceStatus, RMobilePhone::EIdServiceCallerRestriction, idServiceStatus);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getIdentityServiceStatus, ETimeMedium), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus timed-out"));
+	ASSERT_EQUALS(getIdentityServiceStatus.Int(), KErrNone, _L("RMobilePhone::GetIdentityServiceStatus getIdentityServiceStatus completed with incorrect error"));
+   
+	ASSERT_EQUALS(idServiceStatus, RMobilePhone::EIdServiceActiveDefaultRestricted, _L("RMobilePhone::GetIdentityServiceStatus idServiceStatus is not RMobilePhone::EIdServiceActiveDefaultAllowed"));
+	
+	// ===  Check that caller ID is not available when CLIR is active ===
+
+	// Display a prompt to the user to telling them that they should have set their own phone number to voice number 1 in the config file
+	DisplayUserInteractionPromptL(_L("You should have set your own phone number to voice number 1 in the config file?"), ETimeMedium);
+	
+	// Dial the user's phone number.
+	RMobileCall::TMobileCallStatus mobileCallState;
+	
+	TExtEtelRequestStatus notifyMobileCallStatus(mobileCall, EMobileCallNotifyMobileCallStatusChange);
+	CleanupStack::PushL(notifyMobileCallStatus);
+	
+	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+	
+	TPtrC number; 
+	ASSERT_TRUE(GetStringFromConfig(KIniVoiceNumSection, KIniVoiceNumber1, number) != EFalse, _L("GetStringFromConfig did not complete as expected"));
+	DEBUG_PRINTF2(_L("Board Now Dialling: %S"), &number);
+	TCoreEtelRequestStatus<RCall> dialStatus(mobileCall, &RCall::DialCancel);
+	CleanupStack::PushL(dialStatus);
+	mobileCall.Dial(dialStatus, number); 
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(dialStatus, ETimeMedium), KErrNone, _L("RCall::Dial timed-out"));
+	ASSERT_EQUALS(dialStatus.Int(), KErrNone, _L("RCall::Dial problem dialling"));
+	
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+	RMobileCall::TMobileCallStatus expectedMobileCallState=RMobileCall::EStatusConnected;
+	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+																	 notifyMobileCallStatus,
+																	 mobileCallState,
+																	 expectedMobileCallState,
+																	 KErrNone);
+	
+	mobileCall.NotifyMobileCallStatusChange(notifyMobileCallStatus, mobileCallState);
+	
+	// User should check that they can not see the caller's number
+	DisplayUserInteractionPromptL(_L("User should check that they have received a phone call and should check that can not see the caller's number."), ETimeMedium);
+
+	// Hang up.
+	DEBUG_PRINTF1(_L("Hangup call"));
+	ASSERT_EQUALS(mobileCall.HangUp(), KErrNone, _L("RCall::HangUp return value not KErrNone"));
+
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusIdle.
+	expectedMobileCallState=RMobileCall::EStatusIdle;
+	iCallControlHelper.WaitForMobileCallNotifyMobileCallStatusChange(mobileCall,
+																	 notifyMobileCallStatus,
+																	 mobileCallState,
+																	 expectedMobileCallState,
+																	 KErrNone);
+	*/
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+
+	CleanupStack::PopAndDestroy(&getIdentityServiceStatus);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0002::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0002");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0003::CCTSYIntegrationTestPhoneIdentity0003(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0003::~CCTSYIntegrationTestPhoneIdentity0003()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0003::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0003
+ * @SYMFssID BA/CTSY/PID-0003
+ * @SYMTestCaseDesc Activate Calling Line Identity Presentation (CLIP)
+ * @SYMTestPriority High
+ * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
+ * @SYMTestExpectedResults Pass - Remote party's number retrieved correctly.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify service status notifications complete and remote party information is correct.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability. 
+
+	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultAllowed 
+
+	// Get Voice Line 1 
+
+	// Get Call 1 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Activate CLIP - Be able to see who is calling you - check notification completes ===
+
+	// Activate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationAllowed 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+	// ===  Request incoming call and check that the remote number can be retrieved ===
+
+	// Request an incoming call from RPS. 
+
+	// Answer the call. 
+
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailable
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteNumber is the number RPS is calling from (coded in BCD)
+	// Check RMobileCall::GetMobileCallInfo returns iValid > 0.
+	// Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
+
+	// Hang up call. 
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0003::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0003");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0004::CCTSYIntegrationTestPhoneIdentity0004(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0004::~CCTSYIntegrationTestPhoneIdentity0004()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0004::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0004
+ * @SYMFssID BA/CTSY/PID-0004
+ * @SYMTestCaseDesc Deactivate Calling Line Identity Presentation (CLIP)
+ * @SYMTestPriority High
+ * @SYMTestActions RCall::AnswerIncomingCall, RMobileCall::NotifyMobileCallStatusChange, RMobilePhone::GetIdentityServiceStatus, RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus, RMobileCall::GetMobileCallInfo, RCall::HangUp
+ * @SYMTestExpectedResults Pass - Remote party's number not retrieved.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify service status notifications complete and it is not possible to get the calling line identity.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClipStatus capability. 
+
+	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred does not return aStatus=EIdServiceActiveDefaultRestricted 
+
+	// Get Voice Line 1 
+
+	// Get Call 1 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Deactivate (restrict) CLIP - Not be able to see who is calling you - check notification completes ===
+
+	// Deactivate CLIP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aSetting=EIdServicePresentationRestricted 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerPresentation completes with aStatus=EIdServiceActivePermanent
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+	// ===  Request incoming call and check that the remote number can be retrieved ===
+
+	// Request an incoming call from RPS. 
+
+	// Answer the call. 
+
+	// Check RMobileCall::NotifyMobileCallStatusChange completes with EStatusConnected.
+
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iCallingName has length > 0
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iDirection = EMobileTerminated
+	// Check RMobileCall::GetMobileCallInfo returns iRemoteParty.iRemoteIdStatus = ERemoteIdentityAvailableNoCliUnavailable or = ERemoteIdentityUnavailableNoCliInteractionWithOtherService
+	// Check RMobileCall::GetMobileCallInfo returns iValid > 0.
+	// Check RMobileCall::GetMobileCallInfo returns data for attributes marked as valid in iValid.
+
+	// Hang up call. 
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0004::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0004");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0005::CCTSYIntegrationTestPhoneIdentity0005(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0005::~CCTSYIntegrationTestPhoneIdentity0005()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0005::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0005
+ * @SYMFssID BA/CTSY/PID-0005
+ * @SYMTestCaseDesc Receive rejection of suppression of calling identity.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentitySuppressionRejected
+ * @SYMTestExpectedResults Pass - Notification of identity suppression rejected completes.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify notification completes.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetClirStatus capability. 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Attempt to restrict caller ID ===
+
+	// Activate CLIR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerRestriction aSetting=EIdServicePresentationRestricted 
+
+	// Simulator should reject CLIR activation 
+
+	// Check RMobilePhone::NotifyIdentitySuppressionRejected completes with KErrNone
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActiveDefaultRestricted
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0005::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0005");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0006::CCTSYIntegrationTestPhoneIdentity0006(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0006::~CCTSYIntegrationTestPhoneIdentity0006()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0006::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0006
+ * @SYMFssID BA/CTSY/PID-0006
+ * @SYMTestCaseDesc Activate and deactivate CNAP (calling name presentation)
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
+ * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetCnapStatus capability. 
+
+	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Activate CNAP ===
+
+	// Activate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationRestricted 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationRestricted
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+	// ===  Deactivate CNAP ===
+
+	// Deactivate CNAP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceCallerName and aSetting=EIdServicePresentationAllowed 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceCallerName completes with aStatus=EIdServicePresentationAllowed
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceCallerName and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0006::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0006");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0007::CCTSYIntegrationTestPhoneIdentity0007(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0007::~CCTSYIntegrationTestPhoneIdentity0007()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0007::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0007
+ * @SYMFssID BA/CTSY/PID-0007
+ * @SYMTestCaseDesc Get subscriber ID (IMSI) when no SIM present.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileCall::GetSubscriberId
+ * @SYMTestExpectedResults Pass - Error returned on attempt to get IMSI with no SIM.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/manual
+ *
+ * Reason for test: Verify IMSI retrieval fails.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// Remove the SIM.
+	TBuf<100> prompt(_L("Ensure SIM is not present"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobilePhone::GetSubscriberId completes with error != KErrNone
+	TExtEtelRequestStatus getSubscriberIdStatus(mobilePhone, EMobilePhoneGetSubscriberId);
+	RMobilePhone::TMobilePhoneSubscriberId subscriberId;
+	CleanupStack::PushL(getSubscriberIdStatus);
+	
+	mobilePhone.GetSubscriberId(getSubscriberIdStatus,subscriberId);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getSubscriberIdStatus, ETimeShort), KErrNone, _L("RMobilePhone::GetSubscriberId timed-out"));
+	ASSERT_TRUE(getSubscriberIdStatus.Int() != KErrNone, _L("RMobilePhone::getSubscriberIdStatus returned with an error"));
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	CleanupStack::PopAndDestroy(&getSubscriberIdStatus);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0007::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0007");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0008::CCTSYIntegrationTestPhoneIdentity0008(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0008::~CCTSYIntegrationTestPhoneIdentity0008()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0008::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0008
+ * @SYMFssID BA/CTSY/PID-0008
+ * @SYMTestCaseDesc Activate and deactivate COLP (connected line identification presentation)
+ * @SYMTestPriority High
+ * @SYMTestActions RMobilePhone::SetIdentityServiceStatus, RMobilePhone::NotifyIdentityServiceStatus
+ * @SYMTestExpectedResults Pass - Identity service status notification completes and service status is correct.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColpStatus 
+
+	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Activate COLP ===
+
+	// Activate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationRestricted 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationRestricted
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+	// ===  Deactivate COLP ===
+
+	// Deactivate COLP with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aSetting=EIdServicePresentationAllowed 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedPresentation completes with aStatus=EIdServicePresentationAllowed
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedPresentation and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0008::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0008");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0009::CCTSYIntegrationTestPhoneIdentity0009(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0009::~CCTSYIntegrationTestPhoneIdentity0009()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0009::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0009
+ * @SYMFssID BA/CTSY/PID-0009
+ * @SYMTestCaseDesc Activate and deactivate COLR (connected line identity restriction)
+ * @SYMTestPriority High
+ * @SYMTestActions 
+ * @SYMTestExpectedResults Pass - COLR activated and deactivated.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify notification completes and identity status is correct.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+	// Ensure RMobilePhone::GetCallServiceCaps returns caps in set of KCapsGetColrStatus 
+
+	// Ensure RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent 
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Activate COLR ===
+
+	// Activate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationRestricted 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationRestricted
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus=EIdServiceActivePermanent
+
+	// ===  Deactivate COLR ===
+
+	// Deactivate COLR with RMobilePhone::SetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aSetting=EIdServicePresentationAllowed 
+
+	// Check RMobilePhone::NotifyIdentityServiceStatus with aService=EIdServiceConnectedRestriction completes with aStatus=EIdServicePresentationAllowed
+
+	// Check RMobilePhone::GetIdentityServiceStatus with aService=EIdServiceConnectedRestriction and aLocation=EInfoLocationCachePreferred returns aStatus!=EIdServiceActivePermanent
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0009::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0009");
+	}
+
+
+
+CCTSYIntegrationTestPhoneIdentity0010::CCTSYIntegrationTestPhoneIdentity0010(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestPhoneIdentityBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName());
+	}
+
+CCTSYIntegrationTestPhoneIdentity0010::~CCTSYIntegrationTestPhoneIdentity0010()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestPhoneIdentity0010::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-PID-0010
+ * @SYMFssID BA/CTSY/PID-0010
+ * @SYMTestCaseDesc Get the phone identity
+ * @SYMTestPriority High
+ * @SYMTestActions 
+ * @SYMTestExpectedResults Pass - Phone manufacturer, model, revision and serial number returned.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify manufacturer, model, revision and serial number returned.
+ *
+ * @return - TVerdict code
+ */
+		{
+		
+	//
+	// SET UP
+	//
+
+	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	// EnsureRMobilePhone::GetIdentityCaps returns caps in set of 
+	// RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | RMobilePhone::KCapsGetRevision |
+	//  RMobilePhone::KCapsGetSerialNumber 
+	
+	TUint32 caps; 
+	TInt result = phone.GetIdentityCaps(caps);
+	CHECK_TRUE_L(result == KErrNone, _L("RMobilePhone::GetIdentityCaps failed."))
+	
+	// Needs all caps
+	TUint neededCaps = RMobilePhone::KCapsGetManufacturer | RMobilePhone::KCapsGetModel | 
+							RMobilePhone::KCapsGetRevision | RMobilePhone::KCapsGetSerialNumber;	
+	CHECK_BITS_SET_L( caps, neededCaps, KNoUnwantedBits, _L("RMobilePhone::GetIdentityCaps returned wrong mask") )
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Get the phone identity ===
+	RMobilePhone::TMobilePhoneIdentityV1 phoneId;	
+	TExtEtelRequestStatus requestStatus(phone, EMobilePhoneGetPhoneId);
+	CleanupStack::PushL(requestStatus);	
+	phone.GetPhoneId(requestStatus, phoneId);
+	
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(requestStatus, ETimeLong), 
+			KErrNone, _L("RMobilePhone::GetPhoneId timed out."))
+	ASSERT_EQUALS(requestStatus.Int(), KErrNone, _L("RMobilePhone::GetPhoneId completed with incorrect status")) 
+	
+	// Check RMobilePhone::GetPhoneId returns aId.iManufacturer with length > 0
+	ASSERT_TRUE(phoneId.iManufacturer.Length() > 0, 
+				_L("RMobilePhone::GetPhoneId returned invalid manufacturer"))	
+	
+	// Check RMobilePhone::GetPhoneId returns aId.iModel with length > 0
+	ASSERT_TRUE(phoneId.iModel.Length() > 0, 
+				_L("RMobilePhone::GetPhoneId returned invalid model"))
+	
+	// Check RMobilePhone::GetPhoneId returns aId.iRevision with length > 0
+	ASSERT_TRUE(phoneId.iRevision.Length() > 0, 
+				_L("RMobilePhone::GetPhoneId returned invalid revision"))	
+
+	// Check RMobilePhone::GetPhoneId returns aId.iSerialNumber with length > 0
+	ASSERT_TRUE(phoneId.iSerialNumber.Length() > 0, 
+				_L("RMobilePhone::GetPhoneId returned invalid serial number"))
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	CleanupStack::Pop(); // requestStatus
+	
+	return TestStepResult();
+	}
+	
+
+TPtrC CCTSYIntegrationTestPhoneIdentity0010::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestPhoneIdentity0010");
+	}
+
+
+