AVDTP PICS for the PTS tool.

PTS version: 6.0

* - different than PTS defaults
# - not yet implemented/supported

M - mandatory if such role selected
O - optional

		Versions
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_0_1	False		AVDTP 1.0 (C.1)
TSPC_AVDTP_0_2	False		AVDTP 1.2 (C.1)
TSPC_AVDTP_0_3	True (*)	AVDTP 1.3 (C.1)
-------------------------------------------------------------------------------
C.1: It is mandatory to select only one of the protocol versions.
-------------------------------------------------------------------------------


		Roles
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_1_1	True (*)	Source (C.1)
TSPC_AVDTP_1_2	True (*)	Sink (C.1)
TSPC_AVDTP_1_3	True (*)	Initiator (C.2)
TSPC_AVDTP_1_4	True (*)	Aceptor (C.2)
-------------------------------------------------------------------------------
C.1: It is mandatory to support at least one of the defined roles.
C.2: It is within the scope of profiles using the AVDTP specification to
	mandate Initiator/Acceptor capabilities. It is mandatory to support at
	least one of the defined roles.
-------------------------------------------------------------------------------


		Signaling Message Format (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_2_1	True		Transaction label (M)
TSPC_AVDTP_2_2	True		Packet type (M)
TSPC_AVDTP_2_3	True		Message type (M)
TSPC_AVDTP_2_4	True		Signal identifier (M)
-------------------------------------------------------------------------------


		Signaling Channel Establishment/Disconnection (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_3_1	True (*)	Establish signaling channel (O)
TSPC_AVDTP_3_2	True (*)	Disconnect signaling channel (O)
-------------------------------------------------------------------------------


		Stream Discovery and Configuration (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_4_1	True (*)	Stream discover command (O)
TSPC_AVDTP_4_2	True (*)	Stream get capabilities command (C.2)
TSPC_AVDTP_4_3	True (*)	Set configuration command (O)
TSPC_AVDTP_4_4	True (*)	Get configuration command (O)
TSPC_AVDTP_4_5	False		Reconfigure command (O)
TSPC_AVDTP_4_6	True (*)	Stream get all capabilities command (C.1)
-------------------------------------------------------------------------------
C.1: It is optional to support if AVDTP 1.3 is supported, otherwise excluded.
C.2: Mandatory to support if TSPC_AVDTP_4_6 is supported, otherwise Optional.
-------------------------------------------------------------------------------


		Stream Establishment, Suspension and Release (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_5_1	True (*)	Open stream command (O)
TSPC_AVDTP_5_2	True (*)	Start stream command (O)
TSPC_AVDTP_5_3	True (*)	Close stream command (O)
TSPC_AVDTP_5_4	True (*)	Suspend command (O)
TSPC_AVDTP_5_5	True (*)	Abort stream command (O)
-------------------------------------------------------------------------------


		Security Signaling (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_6_1	False		Content security control command (O)
-------------------------------------------------------------------------------


		Message Fragmentation (Initiator)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_7_1	True		Signaling message fragmentation (M)
-------------------------------------------------------------------------------


		Signaling Message Format (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_8_1	True		Transaction label (M)
TSPC_AVDTP_8_2	True		Packet type (M)
TSPC_AVDTP_8_3	True		Message type (M)
TSPC_AVDTP_8_4	True		Signal identifier (M)
-------------------------------------------------------------------------------


		Signaling Channel Establishment/Disconnection (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_9_1	True (*)	Establish signaling channel (O)
TSPC_AVDTP_9_2	True (*)	Disconnect signaling channel (O)
-------------------------------------------------------------------------------


		Stream Discovery and Configuration (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_10_1	True (*)	Stream discover response (O)
TSPC_AVDTP_10_2	True (*)	Stream get capabilities response (C.2)
TSPC_AVDTP_10_3	True (*)	Set configuration response (O)
TSPC_AVDTP_10_4	True (*)	Get configuration response (O)
TSPC_AVDTP_10_5 False		Reconfigure response (O)
TSPC_AVDTP_10_6	True (*)	Stream get all capabilities response (C.1)
-------------------------------------------------------------------------------
C.1: It is optional to support if AVDTP 1.3 is supported, otherwise excluded.
C.2: It is Mandatory to support if TSPC_AVDTP_10_6 is supported, otherwise
	Optional.
-------------------------------------------------------------------------------


		Stream Establishment, Suspension and Release (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_11_1	True (*)	Open stream response (O)
TSPC_AVDTP_11_2	True (*)	Start stream response (O)
TSPC_AVDTP_11_3	True (*)	Close stream response (O)
TSPC_AVDTP_11_4	True (*)	Suspend response (O)
TSPC_AVDTP_11_5	True (*)	Abort stream response (O)
TSPC_AVDTP_11_6	True (*)	General reject message (O)
-------------------------------------------------------------------------------


		Security Signaling (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_12_1	False		Content security control response (O)
-------------------------------------------------------------------------------


		Message Fragmentation (Acceptor)
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_13_1	True		Signaling message fragmentation (M)
-------------------------------------------------------------------------------


		Source Capabilities
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_14_1	True		Basic transport service support (M)
TSPC_AVDTP_14_2	False		Reporting service support (O)
TSPC_AVDTP_14_3	False		Recovery service support (O)
TSPC_AVDTP_14_4	False		Multiplexing service support (O)
TSPC_AVDTP_14_5	False		Robust header compression service support (O)
TSPC_AVDTP_14_6	True (*)	Delay Reporting (C.1)
-------------------------------------------------------------------------------
C.1: It is optional to support if AVDTP 1.3 is supported, else excluded.
-------------------------------------------------------------------------------


		Sink Capabilities
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_15_1	True		Basic transport service support (M)
TSPC_AVDTP_15_2	False		Reporting service support (O)
TSPC_AVDTP_15_3	False		Recovery service support (O)
TSPC_AVDTP_15_4	False		Multiplexing service support (O)
TSPC_AVDTP_15_5	False		Robust header compression service support (O)
TSPC_AVDTP_15_6	True (*)	Delay Reporting (C.1)
-------------------------------------------------------------------------------
C.1: It is optional to support if AVDTP 1.3 is supported, else excluded.
-------------------------------------------------------------------------------


		Message Error Handling Capabilities
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_16_1	False		Reporting Capability Error (C.1)
TSPC_AVDTP_16_2	False		Reject Corrupted Messages (C.2)
TSPC_AVDTP_16_3	True (*)	General Reject Response Includes Signal ID (C.3)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_AVDTP_0_2 or TSPC_AVDTP_0_3 supported, excluded
	otherwise.
C.2: Optional, excluded if TSPC_AVDTP_16_3 (General Reject Response Includes
	Signal ID) is supported.
C.3: Mandatory if TSPC_AVDTP_0_3 supported, otherwise Optional.
-------------------------------------------------------------------------------


		Upper Test Interface
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_17_1	False		Upper Test Interface provided (O)
-------------------------------------------------------------------------------


		L2CAP Capabilities
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_AVDTP_18_1	False		Enhanced Retransmission Mode preferred for
				signaling channel (O)
TSPC_AVDTP_18_2	False		Streaming Mode preferred for Media Transport
				channel (O)
TSPC_AVDTP_18_3	False		FCS Option (C.1)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_AVDTP_18_1 is supported, otherwise Optional.
-------------------------------------------------------------------------------
