bluetoothapitest/bluetoothsvs/T_BTUserAPI/scripts/BT-USER-SynchronousLink-PublicApi-Passive-Slave.script
changeset 0 29b1cd4cb562
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bluetoothapitest/bluetoothsvs/T_BTUserAPI/scripts/BT-USER-SynchronousLink-PublicApi-Passive-Slave.script	Fri Jan 15 08:13:17 2010 +0200
@@ -0,0 +1,1148 @@
+//
+// Copyright (c) 2005-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:
+//
+///////////////////////////////////////////////////////////////////////////////
+//! @file
+//! @SYMTestSuiteName			T_BTUserAPI
+//! @SYMScriptTestEnvironment	This test script requires a basic ROM with bluetooth dongle.
+//! @SYMScriptDescription		Tests all public elements of the CBluetoothSynchronousLink class
+//!								as a means of confidence that the API works as expected. 
+//!								The purpose is to provide a regression test suite of PublishedAll APIs for 
+//!								BT USER related classes.
+//!								Negative testing is performed to confirm that correct errors are returned 
+//!								when incorrect parameters are given. The tests are fully automated.
+//! @SYMAuthor					Zoe Chen and Cliff Chang
+//! @SYMCreationDate			19/09/2007
+///////////////////////////////////////////////////////////////////////////////
+
+RUN_UTILS MkDir ${SYSDRIVE}\bluetooth\
+RUN_UTILS MkDir ${SYSDRIVE}\bluetooth\user\
+
+LOAD_SUITE	T_BTUserAPI	-SharedData
+DELAY		500
+
+
+START_TESTCASE	BT-USER-PublicApi-Slave-SetBTAddresses
+
+	START_TEST_BLOCK	100	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddr1	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurity1	
+			COMMAND		CBluetoothSocket1	RSocketServerConnect		
+			COMMAND		CBluetoothSocket1	NewL		BT-USER-PublicApi-Passive-SetBTAddresses-0001command3NewL
+			COMMAND		TBTServiceSecurity1	Construct		
+			COMMAND		TRfcommSockAddr1	Construct		
+			COMMAND		TRfcommSockAddr1	SetFamily		BT-USER-PublicApi-Passive-SetBTAddresses-0001command8SetFamily
+			COMMAND		TRfcommSockAddr1	SetPort		BT-USER-PublicApi-Passive-SetBTAddresses-0001command9SetPort
+			COMMAND		TRfcommSockAddr1	SetSecurity		BT-USER-PublicApi-Passive-SetBTAddresses-0001command10SetSecurity
+			COMMAND		CBluetoothSocket1	Bind		BT-USER-PublicApi-Passive-SetBTAddresses-0001command12Bind
+			COMMAND		CBluetoothSocket1	Listen		BT-USER-PublicApi-Passive-SetBTAddresses-0001command13Listen
+			COMMAND		CBluetoothSessionSocket	SetRsocketServerFromCBTSocket		BT-USER-PublicApi-Passive-SetBTAddresses-0001command15SetRsocketServerFromCBTSocket
+			COMMAND		CBluetoothSessionSocket	NewL		BT-USER-PublicApi-Passive-SetBTAddresses-0001command16NewL
+			STORE	CBluetoothSocket1	
+			STORE	CBluetoothSessionSocket	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	START_TEST_BLOCK	300	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
+			CREATE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
+			COMMAND		TBTDevAddrLocal	Construct		
+			COMMAND		TBTDevAddrLocal	OpenHostResolver		BT-USER-PublicApi-Passive-SetBTAddresses-0002command3OpenHostResolver
+			COMMAND		TBTDevAddrLocal	SetHostNameL		BT-USER-PublicApi-Passive-SetBTAddresses-0002command4SetHostNameL
+			COMMAND		TBTDevAddrLocal	SetDiscoverable		
+			STORE	CBluetoothSocket1	
+			STORE	CBluetoothSessionSocket	
+			STORE	TBTDevAddrLocal	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+
+	START_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0003
+	START_TEST_BLOCK	300	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
+			COMMAND		CBluetoothSocket1	Accept		BT-USER-PublicApi-Passive-SetBTAddresses-0003command1Accept
+			OUTSTANDING	
+			STORE	CBluetoothSocket1	
+			STORE	CBluetoothSessionSocket	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0003
+
+	START_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0004
+	START_TEST_BLOCK	300	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			RESTORE_OBJECT	TBTDevAddr	TBTDevAddrLocal	
+			CREATE_OBJECT	TBTDevAddr	TBTDevAddrRemote	
+			COMMAND		CBluetoothSessionSocket	Recv		BT-USER-PublicApi-Passive-SetBTAddresses-0004command1Recv
+			OUTSTANDING	
+			COMMAND		TBTDevAddrLocal	SetBTAddr		BT-USER-PublicApi-Passive-SetBTAddresses-0004command4SetBTAddr
+			COMMAND		TBTDevAddrRemote	Construct		
+			COMMAND		TBTDevAddrRemote	SetBTAddr		BT-USER-PublicApi-Passive-SetBTAddresses-0004command7SetBTAddr
+			STORE	CBluetoothSocket1	
+			STORE	CBluetoothSessionSocket	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0004
+
+	START_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0005
+	START_TEST_BLOCK	300	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSessionSocket	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocket1	
+			COMMAND		CBluetoothSessionSocket	Shutdown		BT-USER-PublicApi-Passive-SetBTAddresses-0005command1Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSessionSocket	~		
+			COMMAND		CBluetoothSocket1	Shutdown		BT-USER-PublicApi-Passive-SetBTAddresses-0005command5Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocket1	~		
+			COMMAND		CBluetoothSocket1	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-PublicApi-Active-SetBTAddresses-0005
+
+END_TESTCASE	BT-USER-PublicApi-Slave-SetBTAddresses
+
+DELAY		500
+
+// ****************************************************************************
+// CBluetoothSynchronousLink
+// ****************************************************************************	
+// Connected
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0001
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0001
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr
+//! @SYMTestCaseDesc			Cancel ability to respond to a remote request to set up a synchronous link
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewLC(), AcceptConnection()1, CancelAccept() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//! @SYMTestActions				1. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								2. Create an empty TBTServiceSecurity object
+//!								3. Create a TRfcommSockAddr object
+//!								4. Set the Family to Bluetooth (257)
+//!								5. Set the port to the one matching the protocol to use
+//!								6. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								7. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								8. Call the listen()1 method of the CBluetoothSocket object
+//!								9. Create and start a session on the socket server
+//!								10. Allocate and open a socket sub-session for Bluetooth SCO using NewLC() function
+//!								11. Prepare for a remote device to set up a synchronous link on the local device with ESyncPacketsHV1
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								12. Cancel ability to respond to a remote request to set up a synchronous link using CancelAccept() function
+//!								13. Delete the synchronous link using destructor
+//!								14. Close the session on the socket server
+//!								15. Shut down a connected socket using Shutdown()1 function
+//!								16. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Cancel succeeded
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0001-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command3NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command8SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command9SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command10SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command12Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command13Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewLC		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command18NewLC
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0001-0001command19AcceptConnection
+			COMMAND		CBluetoothSynchronousLinkData	CancelAccept
+			OUTSTANDING
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0001-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0001-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0001-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0001-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0001
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0002
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0002
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncBandwidth
+//! @SYMTestCaseDesc			Specify maximum bandwidths in octets/second
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewLC(), AcceptConnection()1, SetMaxBandwidth() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncBandwidth() from TBTSyncBandwidth
+//! @SYMTestActions				1. Construct a TBTSyncBandwidth object using TBTSyncBandwidth() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewLC() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify maximum bandwidths in octets/second with TBTSyncBandwidth object using SetMaxBandwidth() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Maximum bandwidths was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0002-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncBandwidth	TBTSyncBandwidthData	
+			COMMAND		TBTSyncBandwidthData	TBTSyncBandwidth		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command2TBTSyncBandwidth
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewLC		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command20NewLC
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetMaxBandwidth		BT-USER-SynchronousLink-PublicApi-Passive-0002-0001command23SetMaxBandwidth
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener	
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncBandwidthData
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0002-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0002-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncBandwidth	TBTSyncBandwidthData
+			ASYNC_DELAY	10000000		
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0002-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0002-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0002
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0003
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0003
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncPackets
+//! @SYMTestCaseDesc			Specify link retransmission policy
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()2, SetRetransmissionEffort() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncPackets() from TBTSyncPackets
+//! @SYMTestActions				1. Construct a synchronous packet type (ESyncPacketsHV2) using TBTSyncPackets() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device with ESyncPacketsHV2
+//!								    using AcceptConnection()2 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify link retransmission policy with EeSCORetransmitNone using SetRetransmissionEffort() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Link retransmission policy was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0003-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncPackets	TBTSyncPacketsData	
+			COMMAND		TBTSyncPacketsData	TBTSyncPackets		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command2TBTSyncPackets
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command20NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetRetransmissionEffort		BT-USER-SynchronousLink-PublicApi-Passive-0003-0001command23SetRetransmissionEffort
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncPacketsData
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0003-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0003-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncPackets		TBTSyncPacketsData
+			ASYNC_DELAY	10000000
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0003-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0003-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0003
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0004
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0004
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncPackets
+//! @SYMTestCaseDesc			Specify Voice Setting
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()2, SetRetransmissionEffort(), SetCoding() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncPackets() from TBTSyncPackets
+//! @SYMTestActions				1. Construct a synchronous packet type (ESyncPacketsHV3) using TBTSyncPackets() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device with ESyncPacketsHV3
+//!								    using AcceptConnection()2 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify link retransmission policy with EeSCORetransmitPower using SetRetransmissionEffort() function
+//!								16. Specify Voice Setting with decimal 8 using SetCoding() function
+//!								17. Delete the synchronous link using destructor
+//!								18. Close the session on the socket server
+//!								19. Shut down a connected socket using Shutdown()1 function
+//!								20. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Voice Setting was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0004-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncPackets	TBTSyncPacketsData	
+			COMMAND		TBTSyncPacketsData	TBTSyncPackets		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command2TBTSyncPackets
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command20NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetRetransmissionEffort		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command23SetRetransmissionEffort
+			COMMAND		CBluetoothSynchronousLinkData	SetCoding		BT-USER-SynchronousLink-PublicApi-Passive-0004-0001command24SetCoding
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncPacketsData	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0004-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0004-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncPackets		TBTSyncPacketsData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0004-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0004-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0004
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0005
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0005
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncPackets
+//! @SYMTestCaseDesc			Specify maximum acceptable latency in milliseconds
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()2, SetRetransmissionEffort(), SetMaxLatency() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncPackets() from TBTSyncPackets
+//! @SYMTestActions				1. Construct a synchronous packet type (ESyncPacketsHV1) using TBTSyncPackets() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device with ESyncPacketsHV1
+//!								    using AcceptConnection()2 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify link retransmission policy with EeSCORetransmitReliability using SetRetransmissionEffort() function
+//!								16. Specify maximum acceptable latency in milliseconds with decimal 10 using SetMaxLatency() function
+//!								17. Delete the synchronous link using destructor
+//!								18. Close the session on the socket server
+//!								19. Shut down a connected socket using Shutdown()1 function
+//!								20. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Maximum acceptable latency was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0005-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncPackets	TBTSyncPacketsData	
+			COMMAND		TBTSyncPacketsData	TBTSyncPackets		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command2TBTSyncPackets
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command20NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetRetransmissionEffort		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command23SetRetransmissionEffort
+			COMMAND		CBluetoothSynchronousLinkData	SetMaxLatency		BT-USER-SynchronousLink-PublicApi-Passive-0005-0001command24SetMaxLatency
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncPacketsData		
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0005-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0005-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncPackets		TBTSyncPacketsData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0005-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0005-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0005
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0006
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0006
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncPackets
+//! @SYMTestCaseDesc			Specify link retransmission policy
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()2, SetRetransmissionEffort() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncPackets() from TBTSyncPackets
+//! @SYMTestActions				1. Construct a synchronous packet type (ESyncPacketsHV3) using TBTSyncPackets() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device with ESyncPacketsHV3
+//!								    using AcceptConnection()2 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify link retransmission policy with EeSCORetransmitDontCare using SetRetransmissionEffort() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Link retransmission policy was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0006-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncPackets	TBTSyncPacketsData	
+			COMMAND		TBTSyncPacketsData	TBTSyncPackets		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command2TBTSyncPackets
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command20NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetRetransmissionEffort		BT-USER-SynchronousLink-PublicApi-Passive-0006-0001command23SetRetransmissionEffort
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncPacketsData	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0006-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0006-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncPackets		TBTSyncPacketsData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0006-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0006-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0006
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0007
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0007
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr
+//! @SYMTestCaseDesc			Prepare for a remote device to set up a synchronous link on the local device
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()1 and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//! @SYMTestActions				1. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								2. Create an empty TBTServiceSecurity object
+//!								3. Create a TRfcommSockAddr object
+//!								4. Set the Family to Bluetooth (257)
+//!								5. Set the port to the one matching the protocol to use
+//!								6. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								7. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								8. Call the listen()1 method of the CBluetoothSocket object
+//!								9. Create and start a session on the socket server
+//!								10. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								11. Prepare for a remote device to set up a synchronous link on the local device
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								12. Return callback HandleAcceptConnectionCompleteL() function
+//!								13. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								14. Delete the synchronous link using destructor
+//!								15. Close the session on the socket server
+//!								16. Shut down a connected socket using Shutdown()1 function
+//!								17. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		KErrNone returned
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0007-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command3NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command8SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command9SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command10SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command12Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command13Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command18NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0007-0001command19AcceptConnection
+			OUTSTANDING	
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0007-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0007-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0007-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0007-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0007
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0008
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0008
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr
+//! @SYMTestCaseDesc			Prepare for a remote device to set up a synchronous link on the local device
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()1 and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//! @SYMTestActions				1. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								2. Create an empty TBTServiceSecurity object
+//!								3. Create a TRfcommSockAddr object
+//!								4. Set the Family to Bluetooth (257)
+//!								5. Set the port to the one matching the protocol to use
+//!								6. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								7. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								8. Call the listen()1 method of the CBluetoothSocket object
+//!								9. Create and start a session on the socket server
+//!								10. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								11. Prepare for a remote device to set up a synchronous link on the local device
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								12. Return callback HandleAcceptConnectionCompleteL() function
+//!								13. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								14. Delete the synchronous link using destructor
+//!								15. Close the session on the socket server
+//!								16. Shut down a connected socket using Shutdown()1 function
+//!								17. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		KErrNone returned
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0008-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command3NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command8SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command9SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command10SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command12Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command13Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command18NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0008-0001command19AcceptConnection
+			OUTSTANDING
+			ASYNC_DELAY	10000000	
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0008-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0008-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			ASYNC_DELAY	10000000		
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0008-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0008-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0008
+
+
+// ****************************************************************************
+// Negative test cases
+// ****************************************************************************
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0011
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0011
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr, TBTSyncBandwidth
+//! @SYMTestCaseDesc			Specify maximum bandwidths in octets/second as 0
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()1, SetMaxBandwidth() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//!													TBTSyncBandwidth() from TBTSyncBandwidth
+//! @SYMTestActions				1. Construct a TBTSyncBandwidth object using TBTSyncBandwidth() function
+//!								2. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								3. Create an empty TBTServiceSecurity object
+//!								4. Create a TRfcommSockAddr object
+//!								5. Set the Family to Bluetooth (257)
+//!								6. Set the port to the one matching the protocol to use
+//!								7. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								8. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								9. Call the listen()1 method of the CBluetoothSocket object
+//!								10. Create and start a session on the socket server
+//!								11. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								12. Prepare for a remote device to set up a synchronous link on the local device with ESyncAnySCOPacket
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify maximum bandwidths in octets/second with TBTSyncBandwidth object(decimal 0) using SetMaxBandwidth() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Maximum bandwidths was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0011-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			CREATE_OBJECT	TBTSyncBandwidth	TBTSyncBandwidthData	
+			COMMAND		TBTSyncBandwidthData	TBTSyncBandwidth		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command2TBTSyncBandwidth
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command5NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command10SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command11SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command12SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command14Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command15Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command20NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command21AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetMaxBandwidth		BT-USER-SynchronousLink-PublicApi-Passive-0011-0001command23SetMaxBandwidth
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE	TBTSyncBandwidthData		
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0011-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0011-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			RESTORE_OBJECT	TBTSyncBandwidth	TBTSyncBandwidthData
+			ASYNC_DELAY	10000000
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0011-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0011-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0011
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0012
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0012
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr
+//! @SYMTestCaseDesc			Specify maximum acceptable latency in milliseconds as 0
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()1, SetMaxLatency() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//! @SYMTestActions				1. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								2. Create an empty TBTServiceSecurity object
+//!								3. Create a TRfcommSockAddr object
+//!								4. Set the Family to Bluetooth (257)
+//!								5. Set the port to the one matching the protocol to use
+//!								6. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								7. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								8. Call the listen()1 method of the CBluetoothSocket object
+//!								9. Create and start a session on the socket server
+//!								10. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								11. Prepare for a remote device to set up a synchronous link on the local device with ESyncAnySCOPacket
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify maximum acceptable latency in milliseconds with decimal 0 using SetMaxLatency() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Maximum acceptable latency was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0012-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command3NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command8SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command9SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command10SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command12Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command13Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command18NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command19AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetMaxLatency		BT-USER-SynchronousLink-PublicApi-Passive-0012-0001command21SetMaxLatency
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0012-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0012-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			ASYNC_DELAY	10000000	
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0012-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0012-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0012
+
+
+START_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0013
+//! @SYMTestCaseID				BT-USER-SynchronousLink-PublicApi-Passive-Slave-0013
+//! @SYMAPI						RSocketServ, CBluetoothSynchronousLink, MBluetoothSynchronousLinkNotifier, CBluetoothSocket, MBluetoothSocketNotifier, TBTServiceSecurity, TRfcommSockAddr
+//! @SYMTestCaseDesc			Specify a Voice Setting that the local device does not support
+//!								Uses API elements: 	RSocketServ(), Connect() and Close() from RSocketServ
+//!													NewL()1, Bind(), Listen()1, Shutdown()1 and destructor from CBluetoothSocket
+//!													HandleShutdownCompleteL() from MBluetoothSocketNotifier
+//!													NewL(), AcceptConnection()1, SetCoding() and destructor from CBluetoothSynchronousLink
+//!													HandleAcceptConnectionCompleteL() from MBluetoothSynchronousLinkNotifier
+//!													TBTServiceSecurity() from TBTServiceSecurity
+//!													TRfcommSockAddr(), SetFamily(), SetPort() and SetSecurity() from TRfcommSockAddr
+//! @SYMTestActions				1. Create the CBluetoothSocket object using NewL()1 (Standard constructor)
+//!								2. Create an empty TBTServiceSecurity object
+//!								3. Create a TRfcommSockAddr object
+//!								4. Set the Family to Bluetooth (257)
+//!								5. Set the port to the one matching the protocol to use
+//!								6. Set the Security of the TRfcommSockAddr (Use default/empty as on server)
+//!								7. Use the Bind method of the CBluetoothSocket to bind the socket using the TRfcommSockAddr object
+//!								8. Call the listen()1 method of the CBluetoothSocket object
+//!								9. Create and start a session on the socket server
+//!								10. Allocate and open a socket sub-session for Bluetooth SCO using NewL() function
+//!								11. Prepare for a remote device to set up a synchronous link on the local device with ESyncAnySCOPacket
+//!								    using AcceptConnection()1 function. Return KErrNone if successful
+//!								13. Return callback HandleAcceptConnectionCompleteL() function
+//!								14. Verify that if return result (decimal 0) from callback function is as expected (decimal 0)
+//!								15. Specify Voice Setting with 1111111111 using SetCoding() function
+//!								16. Delete the synchronous link using destructor
+//!								17. Close the session on the socket server
+//!								18. Shut down a connected socket using Shutdown()1 function
+//!								19. Delete CBluetoothSocket object
+//!
+//! @SYMTestStatus				Implemented
+//! @SYMTestPriority			High
+//! @SYMTestExpectedResults		Voice Setting was set
+//! @SYMTestType				CIT
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0013-0001
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			CREATE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			CREATE_OBJECT	RSocketServ	RSocketServData	
+			CREATE_OBJECT	CBluetoothSocket	CBluetoothSocketListener	
+			CREATE_OBJECT	TRfcommSockAddr	TRfcommSockAddrData	
+			CREATE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData	
+			COMMAND		CBluetoothSocketListener	RSocketServerConnect		
+			COMMAND		CBluetoothSocketListener	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command3NewL
+			COMMAND		TBTServiceSecurityData	Construct		
+			COMMAND		TRfcommSockAddrData	Construct		
+			COMMAND		TRfcommSockAddrData	SetFamily		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command8SetFamily
+			COMMAND		TRfcommSockAddrData	SetPort		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command9SetPort
+			COMMAND		TRfcommSockAddrData	SetSecurity		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command10SetSecurity
+			COMMAND		CBluetoothSocketListener	Bind		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command12Bind
+			COMMAND		CBluetoothSocketListener	Listen		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command13Listen
+			COMMAND		RSocketServData	RSocketServ		
+			COMMAND		RSocketServData	Connect		
+			COMMAND		CBluetoothSynchronousLinkData	NewL		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command18NewL
+			COMMAND		CBluetoothSynchronousLinkData	AcceptConnection		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command19AcceptConnection
+			OUTSTANDING	
+			COMMAND		CBluetoothSynchronousLinkData	SetCoding		BT-USER-SynchronousLink-PublicApi-Passive-0013-0001command21SetCoding
+			STORE	CBluetoothSynchronousLinkData	
+			STORE	RSocketServData	
+			STORE	CBluetoothSocketListener
+			STORE	TRfcommSockAddrData
+			STORE	TBTServiceSecurityData	
+			STORE_ACTIVE_SCHEDULER
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0013-0001
+
+	START_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0013-0002
+	START_TEST_BLOCK	2000	T_BTUserAPI	\bluetooth\user\BT-USER-SynchronousLink-PublicApi-Passive-Slave.ini
+			SHARED_ACTIVE_SCHEDULER
+			RESTORE_OBJECT	CBluetoothSynchronousLink	CBluetoothSynchronousLinkData	
+			RESTORE_OBJECT	RSocketServ	RSocketServData	
+			RESTORE_OBJECT	CBluetoothSocket	CBluetoothSocketListener
+			RESTORE_OBJECT	TRfcommSockAddr		TRfcommSockAddrData
+			RESTORE_OBJECT	TBTServiceSecurity	TBTServiceSecurityData
+			ASYNC_DELAY	10000000		
+			COMMAND		CBluetoothSynchronousLinkData	~		
+			COMMAND		RSocketServData	Close		
+			COMMAND		CBluetoothSocketListener	Shutdown		BT-USER-SynchronousLink-PublicApi-Passive-0013-0002command6Shutdown
+			OUTSTANDING	
+			COMMAND		CBluetoothSocketListener	~		
+			COMMAND		CBluetoothSocketListener	RSocketServerClose		
+	END_TEST_BLOCK
+	END_SYNCHRONISED_TESTCASE BT-USER-SynchronousLink-PublicApi-Active-0013-0002
+
+END_TESTCASE	BT-USER-SynchronousLink-PublicApi-Passive-Slave-0013
+
+
+DELAY		500