telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestbroadcastmessaging.cpp
branchopencode
changeset 24 6638e7f4bd8f
parent 0 3553901f7fa8
--- a/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestbroadcastmessaging.cpp	Mon May 03 13:37:20 2010 +0300
+++ b/telephonyserverplugins/common_tsy/test/integration/src/cctsyintegrationtestbroadcastmessaging.cpp	Thu May 06 15:10:38 2010 +0100
@@ -1,2264 +1,2264 @@
-// 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 BroadcastMessaging functional unit.
-// 
-//
-
-/**
- @internalTechnology
-*/
-
-#include "cctsyintegrationtestbroadcastmessaging.h"
-#include "listretrievalhelpers.h"
-
-
-	
-CCTSYIntegrationTestBroadcastMessagingBase::CCTSYIntegrationTestBroadcastMessagingBase(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iBroadcastMessagingTestHelper(*this), iNetworkTestHelper(*this)
-/**
- * Constructor
- */
-	{
-	}
-
-CCTSYIntegrationTestBroadcastMessagingBase::~CCTSYIntegrationTestBroadcastMessagingBase()
-/*
- * Destructor
- */
-	{
-	}
-	
-
-CCTSYIntegrationTestBroadcastMessaging0001::CCTSYIntegrationTestBroadcastMessaging0001(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0001::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0001::~CCTSYIntegrationTestBroadcastMessaging0001()
-/**
- * Destructor.
- */
-	{
-	}
-
-TBool CCTSYIntegrationTestBroadcastMessagingBase::AssertValidBroadcastMessage(const RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 &aBraodcastAttributes)
-/*
- * This function checks the validity of received Broadcastmessage
- *
- * @param aBraodcastAttributes Reference to attributes of received messages.
- * @return true if the received message is not valid.
- */
-	{
-	TBool ret=EFalse;
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iFlags in set of KBroadcastDataFormat
-	ASSERT_BITS_SET(aBraodcastAttributes.iFlags, RMobileBroadcastMessaging::KBroadcastDataFormat ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired Message Flags"));
-		
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iFormat of EFormatGsmTpdu
-	ASSERT_EQUALS(aBraodcastAttributes.iFormat, RMobileBroadcastMessaging::EFormatGsmTpdu, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired Message Format"));
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iDCS > 0
-	ASSERT_TRUE(aBraodcastAttributes.iDCS > 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return DCS > 0"));
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iMessageId > 0
-	ASSERT_TRUE(aBraodcastAttributes.iMessageId> 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return MessageId > 0"));
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iMessageType of EGsmBroadcastId
-	ASSERT_EQUALS((int)aBraodcastAttributes.iMessageType , (int)RMobileBroadcastMessaging::EGsmBroadcastId, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired MessageType"));
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iNumberOfPages > 0
-	ASSERT_TRUE(aBraodcastAttributes.iNumberOfPages > 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return NumberOfPages > 0"));
-
-	if((aBraodcastAttributes.iFlags && RMobileBroadcastMessaging::KBroadcastDataFormat)	
-			&& (aBraodcastAttributes.iFormat== RMobileBroadcastMessaging::EFormatGsmTpdu)
-			&& (aBraodcastAttributes.iDCS>0) && (aBraodcastAttributes.iMessageId> 0)	
-			&& ((int)aBraodcastAttributes.iMessageType ==(int)RMobileBroadcastMessaging::EGsmBroadcastId)
-			&& (aBraodcastAttributes.iNumberOfPages > 0) )
-		{
-		ret= ETrue;
-		}
-	
-	return ret;
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0001::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0001
- * @SYMFssID BA/CTSY/BRMSG-0001
- * @SYMTestCaseDesc Set the broadcast messaging simple filter.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange,RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting
- * @SYMTestExpectedResults Pass - Simple filter notifications complete and are set correctly.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify filter change notification completes and correct filter has been set.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps  = RMobileBroadcastMessaging::KCapsSimpleFilter;
-
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-		
-	// ===  Set the simple filter setting to accept none ===
-
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	// ===  Set the simple filter setting to accept all ===
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10026);		
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10027);		
-	CHECK_EQUALS_L(1, 2, _L("This test has been made to leave intentially.The purpose of this leave is to avoid the board crashing"));
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting2 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting2);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting2,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptAll"))
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Pop:
-    // notifyFilterSettingChangeStatus
-    // setFilterSettingStatus
-    CleanupStack::PopAndDestroy(2,&notifyFilterSettingChangeStatus);
-	
-    return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0001::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0001");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0002::CCTSYIntegrationTestBroadcastMessaging0002(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0002::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0002::~CCTSYIntegrationTestBroadcastMessaging0002()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0002::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0002
- * @SYMFssID BA/CTSY/BRMSG-0002
- * @SYMTestCaseDesc Set the broadcast messaging ID filter
- * @SYMTestPriority High
- * @SYMTestActions CRetrieveMobilePhoneBroadcastIdList::Start, RMobileBroadcastMessaging::NotifyFilterSettingChange, CRetrieveMobilePhoneBroadcastIdList::RetrieveListL, RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, CMobilePhoneBroadcastIdList::Enumerate, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
- * @SYMTestExpectedResults Pass - Filter setting and notification returned KErrNotSuppoerted and no value can be retrieved .
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify filter change notification completes with KErrNotSupported and no filter has been set.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-		
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-				
-	// ===  Set broadcast ID filter ===
-
-	// Create a CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 100; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// This is deliberate action to open a session because the API in Etelmm allocates memory
-	// The Session Manager should be used in all other places.
-	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	RMobileBroadcastMessaging broadcastMessagingStore;
-	broadcastMessagingStore.Open(phone);
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with KErrNotSupported having aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessagingStore.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d </font>"), 10028);		
-    broadcastMessagingStore.Close();
-    
-    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
-	
-	// ===  Get the broadcast ID filter ===
-
-	// Use helper class for CRetrieveMobilePhoneBroadcastIdList to retrieve the broadcast ID list. 
-	TInt err;
-	CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
-	CleanupStack::PushL(broadcastIdListExec);
-	
-	// Get the CMobilePhoneBroadcastIdList list using the helper class function which will call CRetrieveMobilePhoneBroadcastIdList::RetrieveListL 
-	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
-	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
-	
-	// Check CMobilePhoneBroadcastIdList::Enumerate returns 0
-	ASSERT_EQUALS(broadcastIdList2->Enumerate(),0 , _L("CMobilePhoneBroadcastIdList::Enumerate did not return an 99 as expected"));
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    // broadcastIdListExec
-	CleanupStack::PopAndDestroy(4, broadcastIdList);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0002::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0002");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0003::CCTSYIntegrationTestBroadcastMessaging0003(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0003::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0003::~CCTSYIntegrationTestBroadcastMessaging0003()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0003::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0003
- * @SYMFssID BA/CTSY/BRMSG-0003
- * @SYMTestCaseDesc Receive cell broadcast with different filter settings.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange, RMobileBroadcastMessaging::SetLanguageFilter, RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::GetLanguageFilter, RMobileBroadcastMessaging::ReceiveMessage
- * @SYMTestExpectedResults Pass - Broadcast messages that should not be filtered received. Messages that should be filtered not received.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify cell broadcast message is received.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10072);
-	User::Leave(KErrNone);	
-	
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-	
-
-
-	
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// ===  Set the simple filter setting to accept all and receive a message ===
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
-	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
-	CleanupStack::PushL(receiveMessageStatus);
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-
-	// Simulated network sends a GSM formatted broadcast message. 
-	TBuf<120> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
-
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-
-	// ===  Set the simple filter setting to accept none and receive a message ===
-
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10027);		
-	CHECK_EQUALS_L(1, 2, _L("This test has been made to leave intentially. The purpose of this leave is to avoid the board crashing"));
-		
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
-	filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-	
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulated network sends a GSM formatted broadcast message. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Pop:
-    // notifyFilterSettingChangeStatus
-	// setFilterSettingStatus
-	// receiveMessageStatus
-	    
-    CleanupStack::PopAndDestroy(3,&notifyFilterSettingChangeStatus);
-   
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0003::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0003");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0004::CCTSYIntegrationTestBroadcastMessaging0004(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0004::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0004::~CCTSYIntegrationTestBroadcastMessaging0004()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0004::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0004
- * @SYMFssID BA/CTSY/BRMSG-0004
- * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined but filter is set to accept all messages.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
- * @SYMTestExpectedResults Pass - All broadcast messages received when filter is set to accept all.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify all messages received.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	
-	
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10073);
-	User::Leave(KErrNone);	
-
-
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat 
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Set broadcast ID filter ===
-
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 100; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
-	
-	// ===  Set filter to accept all messages and receive a message within and out of the ID range ===
-
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
-	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
-	CleanupStack::PushL(receiveMessageStatus);
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-
-	// Simulator sends a broadcast message with an ID = 1 
-	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
-
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 50 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
-
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 99 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
-
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	// ===  Should also receive messages outside of the range ===
-
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 100. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));	
-
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    // notifyFilterSettingChangeStatus
-    // setFilterSettingStatus
-    // receiveMessageStatus
-    CleanupStack::PopAndDestroy(6,broadcastIdList);
-    
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0004::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0004");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0005::CCTSYIntegrationTestBroadcastMessaging0005(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0005::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0005::~CCTSYIntegrationTestBroadcastMessaging0005()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0005::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0005
- * @SYMFssID BA/CTSY/BRMSG-0005
- * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and filter is set to accept filter.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
- * @SYMTestExpectedResults Pass - Only messages within the filter range are accepted.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify messages with an ID within the filter range are accepted.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10074);
-	User::Leave(KErrNone);	
-
-	
-	
-	
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-	
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Set broadcast ID filter ===
-
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 100; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
-
-	// ===  Set filter to accept filter settings ===
-
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptFilter;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-
-	// ===  Check messages with IDs in range are received ===
-		
-	//Call RMobileBroadcastMessaging::ReceiveMessage
-	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
-	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
-	CleanupStack::PushL(receiveMessageStatus);
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 1 
-	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));			
-	
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 50 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
-	
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage 
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 99 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));	
-	
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// ===  Check messages not in range are not received ===
-	
-	//Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 100. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    // notifyFilterSettingChangeStatus
-    // setFilterSettingStatus
-    // receiveMessageStatus
-    
-    CleanupStack::PopAndDestroy(6, broadcastIdList);
-	
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0005::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0005");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0006::CCTSYIntegrationTestBroadcastMessaging0006(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0006::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0006::~CCTSYIntegrationTestBroadcastMessaging0006()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0006::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0006
- * @SYMFssID BA/CTSY/BRMSG-0006
- * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and filter is set to reject filter.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
- * @SYMTestExpectedResults Pass - Messages within ID range are not received, messages outside of the range are received.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify messages within the ID range are not received and messages outside the range are.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-	
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// ===  Set broadcast ID filter ===
-
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 100; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
-
-	// ===  Set filter to reject filter settings ===
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastRejectFilter 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastRejectFilter;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastRejectFilter
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastRejectFilter
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastRejectFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-
-	// ===  Check messages with IDs in range are not received ===
-
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
-	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
-	CleanupStack::PushL(receiveMessageStatus);
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 1 
-	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 50 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 99 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-	// ===  Check messages not in range are  received ===
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 100. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
-	
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 0. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
-	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
-	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
-	
-	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    // notifyFilterSettingChangeStatus
-    // setFilterSettingStatus
-    // receiveMessageStatus
-    CleanupStack::PopAndDestroy(6,broadcastIdList);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0006::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0006");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0007::CCTSYIntegrationTestBroadcastMessaging0007(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0007::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0007::~CCTSYIntegrationTestBroadcastMessaging0007()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0007::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0007
- * @SYMFssID BA/CTSY/BRMSG-0007
- * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and fliter is set to reject all messages.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
- * @SYMTestExpectedResults Pass - No messages received.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies simulated/manual
- *
- * Reason for test: Verify no messages are received.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat 
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// ===  Set broadcast ID filter ===
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 100; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
-    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
-
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-
-	// ===  Check messages with IDs in range are not received ===
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
-	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
-	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
-	CleanupStack::PushL(receiveMessageStatus);
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-
-	// Simulator sends a broadcast message with an ID = 1 
-	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 50 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-	
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 99 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-
-	// ===  Check messages not in range are not received ===
-
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 100. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-	// Call RMobileBroadcastMessaging::ReceiveMessage
-	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
-	
-	// Simulator sends a broadcast message with an ID = 0. 
-	DisplayUserInteractionPromptL(prompt); // 30 seconds
-	
-	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    // notifyFilterSettingChangeStatus
-    // setFilterSettingStatus
-    // receiveMessageStatus
-    CleanupStack::PopAndDestroy(6,broadcastIdList);
-	
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0007::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0007");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0008::CCTSYIntegrationTestBroadcastMessaging0008(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0008::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0008::~CCTSYIntegrationTestBroadcastMessaging0008()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0008::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0008
- * @SYMFssID BA/CTSY/BRMSG-0008
- * @SYMTestCaseDesc Store a broadcast ID list with no IDs
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
- * @SYMTestExpectedResults Pass - No entry is stored.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify list returns KErrNotSupported when stored.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	
-	// Check RMobileBroadcastMessaging::StoreBroadcastIdListL returns KErrNotSupported
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	// Pop:
-    // broadcastIdList
-    // storeBroadcastIdList
-  
-    CleanupStack::PopAndDestroy(2,broadcastIdList);
-   	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0008::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0008");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0009::CCTSYIntegrationTestBroadcastMessaging0009(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0009::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0009::~CCTSYIntegrationTestBroadcastMessaging0009()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0009::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0009
- * @SYMFssID BA/CTSY/BRMSG-0009
- * @SYMTestCaseDesc Store 999 IDs with broadcast ID list
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
- * @SYMTestExpectedResults Pass - List is not stored.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify list can not be stored.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=1000 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 1000; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
-    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-	// storeBroadcastIdList
-    
-    CleanupStack::PopAndDestroy(3,broadcastIdList);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0009::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0009");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0010::CCTSYIntegrationTestBroadcastMessaging0010(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0010::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0010::~CCTSYIntegrationTestBroadcastMessaging0010()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0010::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0010
- * @SYMFssID BA/CTSY/BRMSG-0010
- * @SYMTestCaseDesc Store maximum number of broadcast IDs for the phone.
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
- * @SYMTestExpectedResults Pass - List is stored.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify list can be stored.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=X where X=maximum number of entries supported 
-
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-
-	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNone
-
-	
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Put any required test clean up here, then remove this comment
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0010::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0010");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0011::CCTSYIntegrationTestBroadcastMessaging0011(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0011::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0011::~CCTSYIntegrationTestBroadcastMessaging0011()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0011::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0011
- * @SYMFssID BA/CTSY/BRMSG-0011
- * @SYMTestCaseDesc Store broadcast ID list with duplicate IDs
- * @SYMTestPriority High
- * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
- * @SYMTestExpectedResults Pass - List is not stored.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify list can not be stored.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=3 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 3; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-	
-	// Add another entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=3 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-
-	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
-	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
-	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
-	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
-	
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-	CleanupStack::PushL(storeBroadcastIdList);
-	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
-    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-	// Pop:
-    // broadcastIdList
-    // notifyBroadcastIdListChangeStatus
-    // storeBroadcastIdList
-    CleanupStack::PopAndDestroy(3, broadcastIdList);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0011::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0011");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0012::CCTSYIntegrationTestBroadcastMessaging0012(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0012::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0012::~CCTSYIntegrationTestBroadcastMessaging0012()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0012::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0012
- * @SYMFssID BA/CTSY/BRMSG-0012
- * @SYMTestCaseDesc Store and retrieve broadcast ID list.
- * @SYMTestPriority High
- * @SYMTestActions 
- * @SYMTestExpectedResults Pass - List retrieved is empty.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify store returned KErrNotSupported and retrieved an empty list.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
-		
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=4 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
-	idEntry.iId = 1; 
-	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
-    idEntry2.iId = 4; 
-	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
-    
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-    RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-    TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-    CleanupStack::PushL(storeBroadcastIdList);
-    broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-    ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-    
-    // Check store returned KErrNotSupported
-    ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    
-	// Use Retrieval helper class to retrieve broadcast Id entries from the list
-    TInt err;
-    CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
-	CleanupStack::PushL(broadcastIdListExec);
-	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
-	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
-
-    // Check CMobilePhoneBroadcastIdList::Enumerate returns 0 entry
-	ASSERT_EQUALS(broadcastIdList2->Enumerate(), 0, _L("CMobilePhoneBroadcastIdList::Enumerate did not return an empty list"));
-				
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-	
-    // Pop:
-    // broadcastIdList
-	// storeBroadcastIdList
-    // broadcastIdListExec
-    CleanupStack::PopAndDestroy(3, broadcastIdList);
-    
-    return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0012::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0012");
-	}
-
-
-
-CCTSYIntegrationTestBroadcastMessaging0013::CCTSYIntegrationTestBroadcastMessaging0013(CEtelSessionMgr& aEtelSessionMgr)
-	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
- * Constructor.
- */
-	{
-	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0013::GetTestStepName());
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0013::~CCTSYIntegrationTestBroadcastMessaging0013()
-/**
- * Destructor.
- */
-	{
-	}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0013::doTestStepL()
-/**
- * @SYMTestCaseID BA-CTSY-INT-BRMSG-0013
- * @SYMFssID BA/CTSY/BRMSG-0013
- * @SYMTestCaseDesc Store and retrieve an empty broadcast ID list.
- * @SYMTestPriority High
- * @SYMTestActions 
- * @SYMTestExpectedResults Pass - List retrieved is same as that stored.
- * @SYMTestType CIT
- * @SYMTestCaseDependencies live/automatic
- *
- * Reason for test: Verify an empty list is retrieved.
- *
- * @return - TVerdict code
- */
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
-		
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
-	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
-	CleanupStack::PushL(broadcastIdList);
-	
-	// This is deliberate action to open a session because the API in Etelmm allocates memory
-	// The Session Manager should be used in all other places.
-	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	RMobileBroadcastMessaging broadcastMessagingStore;
-	broadcastMessagingStore.Open(phone);
-
-	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
-    RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
-    TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
-    CleanupStack::PushL(storeBroadcastIdList);
-    broadcastMessagingStore.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
-    ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
-    ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
-    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
-    broadcastMessagingStore.Close();
-   
-    // Use Retrieval helper class to retrieve broadcast Id entries from the list
-    TInt err;
-    CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
-	CleanupStack::PushL(broadcastIdListExec);
-	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
-	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
-
-	// Check CMobilePhoneBroadcastIdList::Enumerate returns 0 entry
-	ASSERT_EQUALS(broadcastIdList2->Enumerate(), 0, _L("CMobilePhoneBroadcastIdList::Enumerate did not return an empty list"));
-
-	//
-	// TEST END
-	//
-
-    StartCleanup();
-    // Pop:
-    // broadcastIdList
-	// storeBroadcastIdList
-    // broadcastIdListExec
-    CleanupStack::PopAndDestroy(3, broadcastIdList);
-		
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0013::GetTestStepName()
-/**
- * @return The test step name.
- */
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0013");
-	}
-
-CCTSYIntegrationTestBroadcastMessaging0014::CCTSYIntegrationTestBroadcastMessaging0014(CEtelSessionMgr& aEtelSessionMgr)
-: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
-/**
-* Constructor.
-*/
-{
-SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0014::GetTestStepName());
-}
-
-CCTSYIntegrationTestBroadcastMessaging0014::~CCTSYIntegrationTestBroadcastMessaging0014()
-/**
-* Destructor.
-*/
-{
-}
-
-TVerdict CCTSYIntegrationTestBroadcastMessaging0014::doTestStepL()
-/**
-* @SYMTestCaseID BA-CTSY-INT-BRMSG-0014
-* @SYMFssID BA/CTSY/BRMSG-0014
-* @SYMTestCaseDesc Set the broadcast messaging Language filter.
-* @SYMTestPriority High
-* @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange,RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::SetLanguageFilter, RMobileBroadcastMessaging::GetLanguageFilter
-* @SYMTestExpectedResults Pass - Language filter notifications complete and are set correctly.
-* @SYMTestType CIT
-* @SYMTestCaseDependencies live/automatic
-*
-* Reason for test: Verify filter change notification completes and correct filter has been set.
-*
-* @return - TVerdict code
-*/
-	{
-
-	//
-	// SET UP
-	//
-	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
-	
-	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
-	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
-	TUint32 expectedCaps  = RMobileBroadcastMessaging::KCapsSimpleFilter;
-	
-	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
-	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
-	
-	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
-	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
-	
-	// Registered with the network
-	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
-	CHECK_EQUALS_L(ret, KErrNone, 
-			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
-	
-	
-	//
-	// SET UP END
-	//
-	
-	StartTest();
-	
-	//
-	// TEST START
-	//
-	
-	// ===  Check no language filter is set, then set language filter for one language ===
-	
-	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with KErrNotFound
-	TBuf<10> langFilter;   
-	TExtEtelRequestStatus getLanguageFilterStatus(broadcastMessaging, EMobileBroadcastMessagingGetLanguageFilter);
-	CleanupStack::PushL(getLanguageFilterStatus);
-	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
-	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNotFound, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
-	TBuf<1> langFilterSetting;
-	TExtEtelRequestStatus notifyLanguageFilterChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyLanguageFilterChange);
-	CleanupStack::PushL(notifyLanguageFilterChangeStatus);
-	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
-		
-	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter="\1" (English, see spec 03.38) 
-	_LIT(KEnglish, "\1");
-	TBuf<1> filter(KEnglish);  
-	TExtEtelRequestStatus setLanguageFilterStatus(broadcastMessaging, EMobileBroadcastMessagingSetLanguageFilter);
-	CleanupStack::PushL(setLanguageFilterStatus);
-	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
-	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
-		
-	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter="\1"
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
-				broadcastMessaging,
-				notifyLanguageFilterChangeStatus,
-				filter, 
-				langFilterSetting,
-				KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with aLangFilter="\1"
-	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
-	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
-	ASSERT_EQUALS_DES16(langFilter, filter, _L("RMobileBroadcastMessaging::GetLanguageFilter did not complete with a aLangFilter=KEnglish"));		
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
-	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
-	CleanupStack::PushL(notifyFilterSettingChangeStatus);
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptFilter;
-	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
-	CleanupStack::PushL(setFilterSettingStatus);
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-		
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
-	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	// ===  Set language filter to filter for no languages ===
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
-	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
-		
-	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter=""  
-	_LIT(KNone, "");
-	filter=KNone;  
-	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
-	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
-		
-	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter=""
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
-				broadcastMessaging,
-				notifyLanguageFilterChangeStatus,
-				filter, 
-				langFilterSetting,
-				KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with KErrNotFound
-	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
-	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNotFound, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-		
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
-	filterSetting1= RMobileBroadcastMessaging::EBroadcastAcceptFilter;
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	// ===  Check no language filter is set, then set language filter for more than one language ===
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
-	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
-		
-	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter="\7\1" (Danish + English, see spec 03.38) 
-	_LIT(KMultipleLang, "\7\1");
-	filter=KMultipleLang;  
-	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
-	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter="\7\1"
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
-			broadcastMessaging,
-			notifyLanguageFilterChangeStatus,
-			filter, 
-			langFilterSetting,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with aLangFilter="\7\1"
-	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
-	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
-	ASSERT_EQUALS_DES16(langFilter, filter, _L("RMobileBroadcastMessaging::GetLanguageFilter did not complete with a aLangFilter=KEnglish"));		
-	
-	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
-	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
-	
-	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
-	filterSetting1= RMobileBroadcastMessaging::EBroadcastAcceptFilter;
-	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
-	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
-	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
-
-	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
-	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
-			broadcastMessaging,
-			notifyFilterSettingChangeStatus,
-			filterSetting, 
-			filterSetting1,
-			KErrNone );
-	
-	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
-	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
-	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
-	
-	//
-	// TEST END
-	//
-	
-	StartCleanup();
-	
-	// Pop :
-	// getLanguageFilterStatus
-	// notifyLanguageFilterChangeStatus
-	// setLanguageFilterStatus
-	// notifyFilterSettingChangeStatus
-	// setFilterSettingStatus
-	CleanupStack::PopAndDestroy(5, &getLanguageFilterStatus);
-	
-	return TestStepResult();
-	}
-
-TPtrC CCTSYIntegrationTestBroadcastMessaging0014::GetTestStepName()
-/**
-* @return The test step name.
-*/
-	{
-	return _L("CCTSYIntegrationTestBroadcastMessaging0014");
-	}
-
-
-
+// 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 BroadcastMessaging functional unit.
+// 
+//
+
+/**
+ @internalTechnology
+*/
+
+#include "cctsyintegrationtestbroadcastmessaging.h"
+#include "listretrievalhelpers.h"
+
+
+	
+CCTSYIntegrationTestBroadcastMessagingBase::CCTSYIntegrationTestBroadcastMessagingBase(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestSuiteStepBase(aEtelSessionMgr), iBroadcastMessagingTestHelper(*this), iNetworkTestHelper(*this)
+/**
+ * Constructor
+ */
+	{
+	}
+
+CCTSYIntegrationTestBroadcastMessagingBase::~CCTSYIntegrationTestBroadcastMessagingBase()
+/*
+ * Destructor
+ */
+	{
+	}
+	
+
+CCTSYIntegrationTestBroadcastMessaging0001::CCTSYIntegrationTestBroadcastMessaging0001(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0001::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0001::~CCTSYIntegrationTestBroadcastMessaging0001()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TBool CCTSYIntegrationTestBroadcastMessagingBase::AssertValidBroadcastMessage(const RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 &aBraodcastAttributes)
+/*
+ * This function checks the validity of received Broadcastmessage
+ *
+ * @param aBraodcastAttributes Reference to attributes of received messages.
+ * @return true if the received message is not valid.
+ */
+	{
+	TBool ret=EFalse;
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iFlags in set of KBroadcastDataFormat
+	ASSERT_BITS_SET(aBraodcastAttributes.iFlags, RMobileBroadcastMessaging::KBroadcastDataFormat ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired Message Flags"));
+		
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iFormat of EFormatGsmTpdu
+	ASSERT_EQUALS(aBraodcastAttributes.iFormat, RMobileBroadcastMessaging::EFormatGsmTpdu, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired Message Format"));
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iDCS > 0
+	ASSERT_TRUE(aBraodcastAttributes.iDCS > 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return DCS > 0"));
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iMessageId > 0
+	ASSERT_TRUE(aBraodcastAttributes.iMessageId> 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return MessageId > 0"));
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iMessageType of EGsmBroadcastId
+	ASSERT_EQUALS((int)aBraodcastAttributes.iMessageType , (int)RMobileBroadcastMessaging::EGsmBroadcastId, _L("RMobileBroadcastMessaging::ReceiveMessage did not return desired MessageType"));
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgAttributes.iNumberOfPages > 0
+	ASSERT_TRUE(aBraodcastAttributes.iNumberOfPages > 0, _L("RMobileBroadcastMessaging::ReceiveMessage did not return NumberOfPages > 0"));
+
+	if((aBraodcastAttributes.iFlags && RMobileBroadcastMessaging::KBroadcastDataFormat)	
+			&& (aBraodcastAttributes.iFormat== RMobileBroadcastMessaging::EFormatGsmTpdu)
+			&& (aBraodcastAttributes.iDCS>0) && (aBraodcastAttributes.iMessageId> 0)	
+			&& ((int)aBraodcastAttributes.iMessageType ==(int)RMobileBroadcastMessaging::EGsmBroadcastId)
+			&& (aBraodcastAttributes.iNumberOfPages > 0) )
+		{
+		ret= ETrue;
+		}
+	
+	return ret;
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0001::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0001
+ * @SYMFssID BA/CTSY/BRMSG-0001
+ * @SYMTestCaseDesc Set the broadcast messaging simple filter.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange,RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting
+ * @SYMTestExpectedResults Pass - Simple filter notifications complete and are set correctly.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify filter change notification completes and correct filter has been set.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps  = RMobileBroadcastMessaging::KCapsSimpleFilter;
+
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+		
+	// ===  Set the simple filter setting to accept none ===
+
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	// ===  Set the simple filter setting to accept all ===
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10026);		
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10027);		
+	CHECK_EQUALS_L(1, 2, _L("This test has been made to leave intentially.The purpose of this leave is to avoid the board crashing"));
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting2 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting2);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting2,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptAll"))
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Pop:
+    // notifyFilterSettingChangeStatus
+    // setFilterSettingStatus
+    CleanupStack::PopAndDestroy(2,&notifyFilterSettingChangeStatus);
+	
+    return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0001::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0001");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0002::CCTSYIntegrationTestBroadcastMessaging0002(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0002::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0002::~CCTSYIntegrationTestBroadcastMessaging0002()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0002::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0002
+ * @SYMFssID BA/CTSY/BRMSG-0002
+ * @SYMTestCaseDesc Set the broadcast messaging ID filter
+ * @SYMTestPriority High
+ * @SYMTestActions CRetrieveMobilePhoneBroadcastIdList::Start, RMobileBroadcastMessaging::NotifyFilterSettingChange, CRetrieveMobilePhoneBroadcastIdList::RetrieveListL, RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, CMobilePhoneBroadcastIdList::Enumerate, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
+ * @SYMTestExpectedResults Pass - Filter setting and notification returned KErrNotSuppoerted and no value can be retrieved .
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify filter change notification completes with KErrNotSupported and no filter has been set.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+		
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+				
+	// ===  Set broadcast ID filter ===
+
+	// Create a CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 100; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// This is deliberate action to open a session because the API in Etelmm allocates memory
+	// The Session Manager should be used in all other places.
+	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	RMobileBroadcastMessaging broadcastMessagingStore;
+	broadcastMessagingStore.Open(phone);
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with KErrNotSupported having aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessagingStore.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d </font>"), 10028);		
+    broadcastMessagingStore.Close();
+    
+    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
+	
+	// ===  Get the broadcast ID filter ===
+
+	// Use helper class for CRetrieveMobilePhoneBroadcastIdList to retrieve the broadcast ID list. 
+	TInt err;
+	CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
+	CleanupStack::PushL(broadcastIdListExec);
+	
+	// Get the CMobilePhoneBroadcastIdList list using the helper class function which will call CRetrieveMobilePhoneBroadcastIdList::RetrieveListL 
+	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
+	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
+	
+	// Check CMobilePhoneBroadcastIdList::Enumerate returns 0
+	ASSERT_EQUALS(broadcastIdList2->Enumerate(),0 , _L("CMobilePhoneBroadcastIdList::Enumerate did not return an 99 as expected"));
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    // broadcastIdListExec
+	CleanupStack::PopAndDestroy(4, broadcastIdList);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0002::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0002");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0003::CCTSYIntegrationTestBroadcastMessaging0003(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0003::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0003::~CCTSYIntegrationTestBroadcastMessaging0003()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0003::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0003
+ * @SYMFssID BA/CTSY/BRMSG-0003
+ * @SYMTestCaseDesc Receive cell broadcast with different filter settings.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange, RMobileBroadcastMessaging::SetLanguageFilter, RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::GetLanguageFilter, RMobileBroadcastMessaging::ReceiveMessage
+ * @SYMTestExpectedResults Pass - Broadcast messages that should not be filtered received. Messages that should be filtered not received.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify cell broadcast message is received.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10072);
+	User::Leave(KErrNone);	
+	
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+	
+
+
+	
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// ===  Set the simple filter setting to accept all and receive a message ===
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
+	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
+	CleanupStack::PushL(receiveMessageStatus);
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+
+	// Simulated network sends a GSM formatted broadcast message. 
+	TBuf<120> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
+
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+
+	// ===  Set the simple filter setting to accept none and receive a message ===
+
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10027);		
+	CHECK_EQUALS_L(1, 2, _L("This test has been made to leave intentially. The purpose of this leave is to avoid the board crashing"));
+		
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
+	filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+	
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulated network sends a GSM formatted broadcast message. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Pop:
+    // notifyFilterSettingChangeStatus
+	// setFilterSettingStatus
+	// receiveMessageStatus
+	    
+    CleanupStack::PopAndDestroy(3,&notifyFilterSettingChangeStatus);
+   
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0003::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0003");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0004::CCTSYIntegrationTestBroadcastMessaging0004(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0004::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0004::~CCTSYIntegrationTestBroadcastMessaging0004()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0004::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0004
+ * @SYMFssID BA/CTSY/BRMSG-0004
+ * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined but filter is set to accept all messages.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
+ * @SYMTestExpectedResults Pass - All broadcast messages received when filter is set to accept all.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify all messages received.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	
+	
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10073);
+	User::Leave(KErrNone);	
+
+
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat 
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Set broadcast ID filter ===
+
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 100; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
+	
+	// ===  Set filter to accept all messages and receive a message within and out of the ID range ===
+
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptAll 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptAll;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptAll
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptAll
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptAll, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
+	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
+	CleanupStack::PushL(receiveMessageStatus);
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+
+	// Simulator sends a broadcast message with an ID = 1 
+	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
+
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 50 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
+
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 99 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));		
+
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	// ===  Should also receive messages outside of the range ===
+
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 100. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));	
+
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    // notifyFilterSettingChangeStatus
+    // setFilterSettingStatus
+    // receiveMessageStatus
+    CleanupStack::PopAndDestroy(6,broadcastIdList);
+    
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0004::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0004");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0005::CCTSYIntegrationTestBroadcastMessaging0005(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0005::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0005::~CCTSYIntegrationTestBroadcastMessaging0005()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0005::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0005
+ * @SYMFssID BA/CTSY/BRMSG-0005
+ * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and filter is set to accept filter.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
+ * @SYMTestExpectedResults Pass - Only messages within the filter range are accepted.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify messages with an ID within the filter range are accepted.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYProblem: defect id = %d</font>"), 10074);
+	User::Leave(KErrNone);	
+
+	
+	
+	
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+	
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Set broadcast ID filter ===
+
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 100; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
+
+	// ===  Set filter to accept filter settings ===
+
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptFilter;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+
+	// ===  Check messages with IDs in range are received ===
+		
+	//Call RMobileBroadcastMessaging::ReceiveMessage
+	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
+	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
+	CleanupStack::PushL(receiveMessageStatus);
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 1 
+	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));			
+	
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 50 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
+	
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage 
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 99 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));	
+	
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// ===  Check messages not in range are not received ===
+	
+	//Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 100. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    // notifyFilterSettingChangeStatus
+    // setFilterSettingStatus
+    // receiveMessageStatus
+    
+    CleanupStack::PopAndDestroy(6, broadcastIdList);
+	
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0005::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0005");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0006::CCTSYIntegrationTestBroadcastMessaging0006(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0006::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0006::~CCTSYIntegrationTestBroadcastMessaging0006()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0006::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0006
+ * @SYMFssID BA/CTSY/BRMSG-0006
+ * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and filter is set to reject filter.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
+ * @SYMTestExpectedResults Pass - Messages within ID range are not received, messages outside of the range are received.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify messages within the ID range are not received and messages outside the range are.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+	
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// ===  Set broadcast ID filter ===
+
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 100; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
+
+	// ===  Set filter to reject filter settings ===
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastRejectFilter 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastRejectFilter;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastRejectFilter
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastRejectFilter
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastRejectFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+
+	// ===  Check messages with IDs in range are not received ===
+
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
+	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
+	CleanupStack::PushL(receiveMessageStatus);
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 1 
+	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 50 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 99 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+	// ===  Check messages not in range are  received ===
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 100. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
+	
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 0. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage completes with aMsgData with length > 0 characters
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage timed out"));
+	ASSERT_EQUALS(receiveMessageStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::ReceiveMessage returned with an error"));		
+	ASSERT_TRUE(rxMsgData.Length()>0, _L("RMobileBroadcastMessaging::ReceiveMessage did not complete with aMsgData with length > 0 characters"));
+	
+	ASSERT_TRUE(AssertValidBroadcastMessage(rxMsgAttributes), _L("AssertValidBroadcastMessage returned with failure"));
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    // notifyFilterSettingChangeStatus
+    // setFilterSettingStatus
+    // receiveMessageStatus
+    CleanupStack::PopAndDestroy(6,broadcastIdList);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0006::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0006");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0007::CCTSYIntegrationTestBroadcastMessaging0007(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0007::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0007::~CCTSYIntegrationTestBroadcastMessaging0007()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0007::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0007
+ * @SYMFssID BA/CTSY/BRMSG-0007
+ * @SYMTestCaseDesc Receive broadcast messages when ID filter has been defined and fliter is set to reject all messages.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::ReceiveMessage, RMobileBroadcastMessaging::NotifyBroadcastIdListChange, RMobileBroadcastMessaging::StoreBroadcastIdListL, CMobilePhoneBroadcastIdList::AddRangeEntryL
+ * @SYMTestExpectedResults Pass - No messages received.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies simulated/manual
+ *
+ * Reason for test: Verify no messages are received.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter 
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat 
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// ===  Set broadcast ID filter ===
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=100 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 100; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KRequestPending 
+    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KRequestPending );
+
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptNone 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptNone;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptNone
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptNone
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptNone, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+
+	// ===  Check messages with IDs in range are not received ===
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	RMobileBroadcastMessaging::TGsmBroadcastMessageData rxMsgData;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2 rxMsgAttributes;
+	RMobileBroadcastMessaging::TMobileBroadcastAttributesV2Pckg rxMsgAttributePackage(rxMsgAttributes);
+	TExtEtelRequestStatus receiveMessageStatus(broadcastMessaging, EMobileBroadcastMessagingReceiveMessage);
+	CleanupStack::PushL(receiveMessageStatus);
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+
+	// Simulator sends a broadcast message with an ID = 1 
+	TBuf<110> prompt(_L("Waiting for the CBM, notification of a directly delivered cell broadcast message from the network operator"));
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 50 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+	
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 99 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+
+	// ===  Check messages not in range are not received ===
+
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 100. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+	// Call RMobileBroadcastMessaging::ReceiveMessage
+	broadcastMessaging.ReceiveMessage(receiveMessageStatus, rxMsgData, rxMsgAttributePackage);
+	
+	// Simulator sends a broadcast message with an ID = 0. 
+	DisplayUserInteractionPromptL(prompt); // 30 seconds
+	
+	// Check RMobileBroadcastMessaging::ReceiveMessage is still pending 2 minutes after the message was sent
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(receiveMessageStatus, ETimeVeryLong),KErrTimedOut, _L("RMobileBroadcastMessaging::ReceiveMessage did not pend 2 mins after the message was sent"));
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    // notifyFilterSettingChangeStatus
+    // setFilterSettingStatus
+    // receiveMessageStatus
+    CleanupStack::PopAndDestroy(6,broadcastIdList);
+	
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0007::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0007");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0008::CCTSYIntegrationTestBroadcastMessaging0008(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0008::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0008::~CCTSYIntegrationTestBroadcastMessaging0008()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0008::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0008
+ * @SYMFssID BA/CTSY/BRMSG-0008
+ * @SYMTestCaseDesc Store a broadcast ID list with no IDs
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
+ * @SYMTestExpectedResults Pass - No entry is stored.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify list returns KErrNotSupported when stored.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	
+	// Check RMobileBroadcastMessaging::StoreBroadcastIdListL returns KErrNotSupported
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+	ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	// Pop:
+    // broadcastIdList
+    // storeBroadcastIdList
+  
+    CleanupStack::PopAndDestroy(2,broadcastIdList);
+   	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0008::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0008");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0009::CCTSYIntegrationTestBroadcastMessaging0009(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0009::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0009::~CCTSYIntegrationTestBroadcastMessaging0009()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0009::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0009
+ * @SYMFssID BA/CTSY/BRMSG-0009
+ * @SYMTestCaseDesc Store 999 IDs with broadcast ID list
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
+ * @SYMTestExpectedResults Pass - List is not stored.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify list can not be stored.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=1000 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 1000; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
+    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+	// storeBroadcastIdList
+    
+    CleanupStack::PopAndDestroy(3,broadcastIdList);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0009::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0009");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0010::CCTSYIntegrationTestBroadcastMessaging0010(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0010::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0010::~CCTSYIntegrationTestBroadcastMessaging0010()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0010::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0010
+ * @SYMFssID BA/CTSY/BRMSG-0010
+ * @SYMTestCaseDesc Store maximum number of broadcast IDs for the phone.
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
+ * @SYMTestExpectedResults Pass - List is stored.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify list can be stored.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=X where X=maximum number of entries supported 
+
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+
+	// Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNone
+
+	
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Put any required test clean up here, then remove this comment
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0010::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0010");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0011::CCTSYIntegrationTestBroadcastMessaging0011(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0011::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0011::~CCTSYIntegrationTestBroadcastMessaging0011()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0011::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0011
+ * @SYMFssID BA/CTSY/BRMSG-0011
+ * @SYMTestCaseDesc Store broadcast ID list with duplicate IDs
+ * @SYMTestPriority High
+ * @SYMTestActions RMobileBroadcastMessaging::StoreBroadcastIdListL
+ * @SYMTestExpectedResults Pass - List is not stored.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify list can not be stored.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=3 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 3; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+	
+	// Add another entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=3 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+
+	// Post a notification RMobileBroadcastMessaging::NotifyBroadcastIdListChange
+	TExtEtelRequestStatus notifyBroadcastIdListChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyIdListChange);
+	CleanupStack::PushL(notifyBroadcastIdListChangeStatus);
+	broadcastMessaging.NotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus); 
+	
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+	RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+	TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+	CleanupStack::PushL(storeBroadcastIdList);
+	broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+	ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+    // Check RMobileBroadcastMessaging::NotifyBroadcastIdListChange completes with KErrNotSupported
+    iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyBroadcastIdListChange(notifyBroadcastIdListChangeStatus, KErrNotSupported);
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+	// Pop:
+    // broadcastIdList
+    // notifyBroadcastIdListChangeStatus
+    // storeBroadcastIdList
+    CleanupStack::PopAndDestroy(3, broadcastIdList);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0011::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0011");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0012::CCTSYIntegrationTestBroadcastMessaging0012(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0012::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0012::~CCTSYIntegrationTestBroadcastMessaging0012()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0012::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0012
+ * @SYMFssID BA/CTSY/BRMSG-0012
+ * @SYMTestCaseDesc Store and retrieve broadcast ID list.
+ * @SYMTestPriority High
+ * @SYMTestActions 
+ * @SYMTestExpectedResults Pass - List retrieved is empty.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify store returned KErrNotSupported and retrieved an empty list.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
+		
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// Add an entry to the list with CMobilePhoneBroadcastIdList::AddRangeEntryL with aStart.iId=1 and aEnd.iId=4 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry; 
+	idEntry.iId = 1; 
+	RMobileBroadcastMessaging::TMobileBroadcastIdEntryV1 idEntry2; 
+    idEntry2.iId = 4; 
+	broadcastIdList->AddRangeEntryL(idEntry, idEntry2); 
+    
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+    RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+    TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+    CleanupStack::PushL(storeBroadcastIdList);
+    broadcastMessaging.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+    ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+    
+    // Check store returned KErrNotSupported
+    ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    
+	// Use Retrieval helper class to retrieve broadcast Id entries from the list
+    TInt err;
+    CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
+	CleanupStack::PushL(broadcastIdListExec);
+	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
+	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
+
+    // Check CMobilePhoneBroadcastIdList::Enumerate returns 0 entry
+	ASSERT_EQUALS(broadcastIdList2->Enumerate(), 0, _L("CMobilePhoneBroadcastIdList::Enumerate did not return an empty list"));
+				
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+	
+    // Pop:
+    // broadcastIdList
+	// storeBroadcastIdList
+    // broadcastIdListExec
+    CleanupStack::PopAndDestroy(3, broadcastIdList);
+    
+    return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0012::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0012");
+	}
+
+
+
+CCTSYIntegrationTestBroadcastMessaging0013::CCTSYIntegrationTestBroadcastMessaging0013(CEtelSessionMgr& aEtelSessionMgr)
+	: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+ * Constructor.
+ */
+	{
+	SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0013::GetTestStepName());
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0013::~CCTSYIntegrationTestBroadcastMessaging0013()
+/**
+ * Destructor.
+ */
+	{
+	}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0013::doTestStepL()
+/**
+ * @SYMTestCaseID BA-CTSY-INT-BRMSG-0013
+ * @SYMFssID BA/CTSY/BRMSG-0013
+ * @SYMTestCaseDesc Store and retrieve an empty broadcast ID list.
+ * @SYMTestPriority High
+ * @SYMTestActions 
+ * @SYMTestExpectedResults Pass - List retrieved is same as that stored.
+ * @SYMTestType CIT
+ * @SYMTestCaseDependencies live/automatic
+ *
+ * Reason for test: Verify an empty list is retrieved.
+ *
+ * @return - TVerdict code
+ */
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging);
+		
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// Create a new CMobilePhoneBroadcastIdList with CMobilePhoneBroadcastIdList ::NewL 
+	CMobilePhoneBroadcastIdList* broadcastIdList= CMobilePhoneBroadcastIdList::NewL();
+	CleanupStack::PushL(broadcastIdList);
+	
+	// This is deliberate action to open a session because the API in Etelmm allocates memory
+	// The Session Manager should be used in all other places.
+	RMobilePhone& phone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	RMobileBroadcastMessaging broadcastMessagingStore;
+	broadcastMessagingStore.Open(phone);
+
+	// Store the broadcast ID list with RMobileBroadcastMessaging::StoreBroadcastIdListL with aIdType=EGsmBroadcastId 
+    RMobileBroadcastMessaging::TMobileBroadcastIdType idType=RMobileBroadcastMessaging::EGsmBroadcastId;
+    TExtEtelRequestStatus storeBroadcastIdList(broadcastMessaging, EMobileBroadcastMessagingStoreIdList);
+    CleanupStack::PushL(storeBroadcastIdList);
+    broadcastMessagingStore.StoreBroadcastIdListL(storeBroadcastIdList,broadcastIdList,idType);
+    ASSERT_EQUALS(WaitForRequestWithTimeOut(storeBroadcastIdList, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL timed out"));
+    ASSERT_EQUALS(storeBroadcastIdList.Int(), KErrNotSupported, _L("RMobileBroadcastMessaging::StoreBroadcastIdListL did not return KErrNotSupported"));		
+    ERR_PRINTF2(_L("<font color=Orange>$CTSYKnownFailure: defect id = %d</font>"), 10028);		
+    broadcastMessagingStore.Close();
+   
+    // Use Retrieval helper class to retrieve broadcast Id entries from the list
+    TInt err;
+    CRetrieveMobilePhoneBroadcastIdListExec* broadcastIdListExec  = CRetrieveMobilePhoneBroadcastIdListHelper::NewL(broadcastMessaging,idType);	
+	CleanupStack::PushL(broadcastIdListExec);
+	CMobilePhoneBroadcastIdList* broadcastIdList2 = broadcastIdListExec ->DoGetList(err);
+	ASSERT_EQUALS(err, KErrNone, _L("CRetrieveMobilePhoneBroadcastIdList::RetrieveListL  is not able to get the list"))
+
+	// Check CMobilePhoneBroadcastIdList::Enumerate returns 0 entry
+	ASSERT_EQUALS(broadcastIdList2->Enumerate(), 0, _L("CMobilePhoneBroadcastIdList::Enumerate did not return an empty list"));
+
+	//
+	// TEST END
+	//
+
+    StartCleanup();
+    // Pop:
+    // broadcastIdList
+	// storeBroadcastIdList
+    // broadcastIdListExec
+    CleanupStack::PopAndDestroy(3, broadcastIdList);
+		
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0013::GetTestStepName()
+/**
+ * @return The test step name.
+ */
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0013");
+	}
+
+CCTSYIntegrationTestBroadcastMessaging0014::CCTSYIntegrationTestBroadcastMessaging0014(CEtelSessionMgr& aEtelSessionMgr)
+: CCTSYIntegrationTestBroadcastMessagingBase(aEtelSessionMgr)
+/**
+* Constructor.
+*/
+{
+SetTestStepName(CCTSYIntegrationTestBroadcastMessaging0014::GetTestStepName());
+}
+
+CCTSYIntegrationTestBroadcastMessaging0014::~CCTSYIntegrationTestBroadcastMessaging0014()
+/**
+* Destructor.
+*/
+{
+}
+
+TVerdict CCTSYIntegrationTestBroadcastMessaging0014::doTestStepL()
+/**
+* @SYMTestCaseID BA-CTSY-INT-BRMSG-0014
+* @SYMFssID BA/CTSY/BRMSG-0014
+* @SYMTestCaseDesc Set the broadcast messaging Language filter.
+* @SYMTestPriority High
+* @SYMTestActions RMobileBroadcastMessaging::NotifyFilterSettingChange,RMobileBroadcastMessaging::GetFilterSetting, RMobileBroadcastMessaging::SetFilterSetting, RMobileBroadcastMessaging::SetLanguageFilter, RMobileBroadcastMessaging::GetLanguageFilter
+* @SYMTestExpectedResults Pass - Language filter notifications complete and are set correctly.
+* @SYMTestType CIT
+* @SYMTestCaseDependencies live/automatic
+*
+* Reason for test: Verify filter change notification completes and correct filter has been set.
+*
+* @return - TVerdict code
+*/
+	{
+
+	//
+	// SET UP
+	//
+	RMobilePhone& mobilePhone = iEtelSessionMgr.GetPhoneL(KMainServer, KMainPhone);
+	
+	RMobileBroadcastMessaging& broadcastMessaging = iEtelSessionMgr.GetBroadcastMessagingL(KMainServer, KMainPhone, KMainBroadcastMessaging) ;
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iFilterCaps in set of KCapsSimpleFilter
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1 caps;
+	RMobileBroadcastMessaging::TMobileBroadcastCapsV1Pckg capPkg(caps);
+	TUint32 expectedCaps  = RMobileBroadcastMessaging::KCapsSimpleFilter;
+	
+	CHECK_EQUALS_L(broadcastMessaging.GetCaps(capPkg), KErrNone, _L("RMobileBroadcastMessaging::GetCaps returned with an error"));
+	CHECK_BITS_SET_L(caps.iFilterCaps,expectedCaps ,KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Filter caps"));
+	
+	// Ensure RMobileBroadcastMessaging::GetCaps returns aCaps.iModeCaps in set of KCapsGsmTpduFormat
+	CHECK_BITS_SET_L(caps.iModeCaps, RMobileBroadcastMessaging::KCapsGsmTpduFormat, KNoUnwantedBits, _L("RMobileBroadcastMessaging::GetCaps did not return desired Mode caps"));
+	
+	// Registered with the network
+	TInt ret = iNetworkTestHelper.WaitForRegisteredOnHomeNetworkL(mobilePhone);
+	CHECK_EQUALS_L(ret, KErrNone, 
+			_L("RMobilePhone::NotifyNetworkRegistrationStatusChange network registration failed"));
+	
+	
+	//
+	// SET UP END
+	//
+	
+	StartTest();
+	
+	//
+	// TEST START
+	//
+	
+	// ===  Check no language filter is set, then set language filter for one language ===
+	
+	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with KErrNotFound
+	TBuf<10> langFilter;   
+	TExtEtelRequestStatus getLanguageFilterStatus(broadcastMessaging, EMobileBroadcastMessagingGetLanguageFilter);
+	CleanupStack::PushL(getLanguageFilterStatus);
+	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
+	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNotFound, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
+	TBuf<1> langFilterSetting;
+	TExtEtelRequestStatus notifyLanguageFilterChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyLanguageFilterChange);
+	CleanupStack::PushL(notifyLanguageFilterChangeStatus);
+	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
+		
+	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter="\1" (English, see spec 03.38) 
+	_LIT(KEnglish, "\1");
+	TBuf<1> filter(KEnglish);  
+	TExtEtelRequestStatus setLanguageFilterStatus(broadcastMessaging, EMobileBroadcastMessagingSetLanguageFilter);
+	CleanupStack::PushL(setLanguageFilterStatus);
+	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
+	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
+		
+	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter="\1"
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
+				broadcastMessaging,
+				notifyLanguageFilterChangeStatus,
+				filter, 
+				langFilterSetting,
+				KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with aLangFilter="\1"
+	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
+	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
+	ASSERT_EQUALS_DES16(langFilter, filter, _L("RMobileBroadcastMessaging::GetLanguageFilter did not complete with a aLangFilter=KEnglish"));		
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting;
+	TExtEtelRequestStatus notifyFilterSettingChangeStatus(broadcastMessaging, EMobileBroadcastMessagingNotifyFilterSettingChange);
+	CleanupStack::PushL(notifyFilterSettingChangeStatus);
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSetting1 = RMobileBroadcastMessaging::EBroadcastAcceptFilter;
+	TExtEtelRequestStatus setFilterSettingStatus(broadcastMessaging, EMobileBroadcastMessagingSetFilterSetting);
+	CleanupStack::PushL(setFilterSettingStatus);
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+		
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
+	RMobileBroadcastMessaging::TMobilePhoneBroadcastFilter filterSettingObtained;
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	// ===  Set language filter to filter for no languages ===
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
+	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
+		
+	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter=""  
+	_LIT(KNone, "");
+	filter=KNone;  
+	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
+	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
+		
+	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter=""
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
+				broadcastMessaging,
+				notifyLanguageFilterChangeStatus,
+				filter, 
+				langFilterSetting,
+				KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with KErrNotFound
+	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
+	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNotFound, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+		
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
+	filterSetting1= RMobileBroadcastMessaging::EBroadcastAcceptFilter;
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	// ===  Check no language filter is set, then set language filter for more than one language ===
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyLanguageFilterChange
+	broadcastMessaging.NotifyLanguageFilterChange(notifyLanguageFilterChangeStatus, langFilterSetting); 
+		
+	// Set the language filter with RMobileBroadcastMessaging::SetLanguageFilter and aLangFilter="\7\1" (Danish + English, see spec 03.38) 
+	_LIT(KMultipleLang, "\7\1");
+	filter=KMultipleLang;  
+	broadcastMessaging.SetLanguageFilter(setLanguageFilterStatus,filter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter timed out"));
+	ASSERT_EQUALS(setLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetLanguageFilter returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyLanguageFilterChange completes with aLangFilter="\7\1"
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyLanguageFilterChange( 
+			broadcastMessaging,
+			notifyLanguageFilterChangeStatus,
+			filter, 
+			langFilterSetting,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetLanguageFilter completes with aLangFilter="\7\1"
+	broadcastMessaging.GetLanguageFilter(getLanguageFilterStatus, langFilter);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(getLanguageFilterStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter timed out"));
+	ASSERT_EQUALS(getLanguageFilterStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::GetLanguageFilter returned with a language filtered unexpectedly"));		
+	ASSERT_EQUALS_DES16(langFilter, filter, _L("RMobileBroadcastMessaging::GetLanguageFilter did not complete with a aLangFilter=KEnglish"));		
+	
+	// Post a notification RMobileBroadcastMessaging::NotifyFilterSettingChange
+	broadcastMessaging.NotifyFilterSettingChange(notifyFilterSettingChangeStatus, filterSetting); 
+	
+	// Set the filter with RMobileBroadcastMessaging::SetFilterSetting and aSetting=EBroadcastAcceptFilter 
+	filterSetting1= RMobileBroadcastMessaging::EBroadcastAcceptFilter;
+	broadcastMessaging.SetFilterSetting(setFilterSettingStatus, filterSetting1);
+	ASSERT_EQUALS(WaitForRequestWithTimeOut(setFilterSettingStatus, ETimeMedium),KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting timed out"));
+	ASSERT_EQUALS(setFilterSettingStatus.Int(), KErrNone, _L("RMobileBroadcastMessaging::SetFilterSetting returned with an error"));		
+
+	// Check RMobileBroadcastMessaging::NotifyFilterSettingChange completes with aSetting=EBroadcastAcceptFilter
+	iBroadcastMessagingTestHelper.WaitForMobileBroadcastMessagingNotifyFilterSettingChange( 
+			broadcastMessaging,
+			notifyFilterSettingChangeStatus,
+			filterSetting, 
+			filterSetting1,
+			KErrNone );
+	
+	// Check RMobileBroadcastMessaging::GetFilterSetting returns aSetting=EBroadcastAcceptFilter
+	ASSERT_EQUALS(broadcastMessaging.GetFilterSetting(filterSettingObtained), KErrNone, _L("RMobileBroadcastMessaging::GetFilterSetting returned with an error"));
+	ASSERT_EQUALS(filterSettingObtained, RMobileBroadcastMessaging::EBroadcastAcceptFilter, _L("RMobileBroadcastMessaging::GetFilterSetting did not return EBroadcastAcceptNone"))
+	
+	//
+	// TEST END
+	//
+	
+	StartCleanup();
+	
+	// Pop :
+	// getLanguageFilterStatus
+	// notifyLanguageFilterChangeStatus
+	// setLanguageFilterStatus
+	// notifyFilterSettingChangeStatus
+	// setFilterSettingStatus
+	CleanupStack::PopAndDestroy(5, &getLanguageFilterStatus);
+	
+	return TestStepResult();
+	}
+
+TPtrC CCTSYIntegrationTestBroadcastMessaging0014::GetTestStepName()
+/**
+* @return The test step name.
+*/
+	{
+	return _L("CCTSYIntegrationTestBroadcastMessaging0014");
+	}
+
+
+