palowireless
          Bluetooth Resource Center


Advanced search


Bluetooth Protocol Stack Technology Profiles
Bluetooth Stack Examples Overview FAQ
WPAN Technology Tutorial Baseband RFCOMM L2CAP LMP HCI


specs specifications docs pdfs WPAN Wireless Personal Area Network
 
 

Members

Member:

Password:

Forgot your
password?


New Member


 
 

 

 
Radio Baseband LMP HCI L2CAP RFCOMM SDP Profiles

Generic Audio/Visual Distribution Profile

    The Generic Audio/Video Distribution Profile (GAVDP) defines a generic part of the protocols and procedures that realize distribution of audio content and/or video content using ACL channels. The profile specifies signalling transaction procedures between two devices to set up, terminate and reconfigure streaming channels. Streaming parameters and encode/decode features are included in Advanced Audio Distribution Profile and Video Distribution Profile that depend on this profile. Note: It is not allowed to use the Generic Audio/Video Distribution Profile alone; it is required to use GAVDP in combination with profiles that depend on this profile.

For more details : Download the GAVDP Profile from the Bluetooth.org website.

        Table Of Contents

1 Profile Overview
1.1 Profile Stack
1.2 Configurations/Roles
1.3 User Requirements/Scenarios
1.4 Profile Fundamentals
1.5 Conformance
2 Application Layer
3 AVDTP Interoperability Requirements
3.1 Signalling Procedures
3.2 Transport Services
3.3 Error Codes
4 L2CAP
4.1 Channel Types
4.2 Signalling
4.3 Configuration Options
5 Link Manager
6 Link Control
7 Generic Access Profile Interoperability Requirements

 

 

Profile Overview

1.1   Profile Stack

 

Image reprinted from Bluetooth GAVDP Profile, Figure 2.1

    The Baseband, LMP, L2CAP, and SDP are Bluetooth protocols defined in the Bluetooth Core specifications. AVDTP consists of a signalling entity for negotiation of streaming parameters and a transport entity that handles the streaming.

1.2   Configurations/Roles

    The following roles are defined for devices that implement this profile:

  • Initiator (INT) – This is the device that initiates a signalling procedure.
  • Acceptor (ACP) – This is the device that shall respond to an incoming request from the INT.

    Note that the roles are not fixed to the devices. The roles are determined when the user initiates a signalling procedure defined below, and they are released when the procedure ends. The roles can be switched between two devices when a new procedure is initiated.

1.3  User Requirements/Scenarios

    The following scenarios are covered by this profile:

  • Set up two devices for A/V data streaming that flows from one end to another, and then connect these devices with Bluetooth transaction.
  • Control the established streaming.

1.4  Profile Fundamentals

    This profile is based on Bluetooth v.1.1 specification. Here is a brief summary of the interactions that take place when the INT wishes to send messages to the ACP.

  • A link shall be established before a signalling session starts.
  • There are no fixed master/slave roles.
  • Use of security features in link level such as authorisation, authentication and encryption are optional. Support for authentication and encryption is mandatory, such that the device can take part in the corresponding procedures if requested from a peer device.

1.5  Conformance

    If conformance to this profile is claimed, all capabilities indicated mandatory for this profile shall be supported in the specified manner (process-mandatory). This also applies to all optional and conditional capabilities for which support is indicated.

  

Application Layer 

    This section describes the feature requirements on units complying with the GAVDP. There is no fixed INT/ACP role for the devices.

Image reprinted from Bluetooth GAVDP Profile, Table 3-1

 

AVDTP Interoperability Requirements

3.1  Signalling Procedures

    The interoperability requirements for the signalling entity are contained in this section.In use of AVDTP the following three states are exposed to the users of GAVDP:

  • <IDLE>: The initial state where no streaming connection has been established, while L2CAP channel for signalling is already open.
  • <OPEN>: The streaming connection has been established between two devices.
  • <STREAMING>: Both devices are ready for streaming.

The figure below shows the possible transitions.Note: The Security Control procedure can be executed in <OPEN> and <STREAMING> and does not result in a state change.

Image reprinted from Bluetooth GAVDP Profile, Figure 4.1

 

Connection Establishment:

This procedure shall be used when a device wishes to establish a streaming connection with the other device. Prior to initiating this procedure, an L2CAP channel for signalling shall be established. The initial state of the both devices is <IDLE>. Then, the INT shall initiate Stream Endpoint (SEP) Discovery procedure of AVDTP if the INT has not collected SEP information before, or wishes to refresh it.Then, Get Capabilities procedure of AVDTP should be initiated to collect service capabilities of the ACP using the SEP information. This procedure does not have to be executed when the INT already knows the services provided by the ACP.
 
Based on collected SEP information and service capabilities, the INT shall select specific services and configure the ACP by using the Stream Configuration procedure defined in AVDTP. Then, L2CAP channels are established as defined in the Stream Establishment procedure in AVDTP. Finally, the states of both devices are set at <OPEN>, and the INT/ACP roles are released after the procedure.
 
Note: If the L2CAP channel establishment has failed after the Open Stream Command of AVDTP, it is recommended to perform the Abort Command of AVDTP to get both ACT and INT synchronised.
 
To start a stream, the Start Streaming procedure below shall be initiated to confirm if both devices are ready for streaming and change the state from <OPEN> to <STREAMING>.

Start Streaming

When the device wishes to start or resume the A/V streaming, this procedure shall be initiated to change the state from <OPEN> to <STREAMING> .The INT initiates Start Streaming procedure of AVDTP by a user initiated action or an internal event. The streaming shall be started/resumed after this procedure.

Connection Release

The INT initiates the Stream Release procedure of AVDTP to release L2CAP channels for streaming. This procedure may be initiated both from <OPEN> and <STREAMING>, and set the state at <IDLE> for both devices. The L2CAP channel for signalling may be released after this procedure, if necessary.

Suspend

When the device wishes to suspend the A/V streaming, the procedure shall be initiated to change the state from <STREAMING> to <OPEN>. The INT initiates Stream Suspend procedure of AVDTP by a user initiated action or an internal event. The streaming shall be suspended after the procedure.

Change Parameters

In order to change the application service parameters, both devices shall be in <OPEN> state. If the state is <STREAMING> the Suspend procedure above shall be executed beforehand to suspend the stream and change the state to <OPEN> for both devices.
 
The procedure is initiated by a user action or an internal event. If the INT has not obtained service capability information of the ACP by then, the Get Capabilities procedure of AVDTP is executed first. Then, the INT selects and specifies new parameters according to the information and requests the ACP to reconfigure these parameters with the Stream Reconfigure procedure of AVDTP.After closing this procedure, the state of the devices remains <OPEN>. It is necessary to initiate Start Streaming procedure above to resume the stream.

Signalling Control

This procedure may be used to recover from a loss of a signalling message, which could result in inconsistency of the INT and the ACP.

Security Control

The procedure outlined in the GAVDP Profile, Figure 4-8 shall be used to exchange security control messages between the INT and the ACP.

AVDTP Signalling Procedures Overview

Table 4-1 of the GAVDP defines the required AVDTP signalling procedures in the Generic Audio/Video Distribution profile.

 

3.2  Transport Services

    Once a stream connection is established between the INT and the ACP, the devices are ready to transport A/V data. AVDTP provides several transport services related to basic transport, quality of service and manipulation of transport packets for efficient use of the bandwidth.

    The necessity of these transport services depends on applications. The requirement of these services is described in the application profiles such as Advanced Audio Distribution Profile.

 

3.3  Error Codes

    Table 4-2 in the GAVDP Profile defines an 8-bits ERROR_CODE field that is transported over the air in signalling response messages when an ACP device rejects a signalling command message received from a distant INT device. The ERROR_CODE field received from an ACP device is exposed to the INT application through the AVDTP service interface. The range 0xC0-0xFF is reserved for the profile residing on top GAVDP.

 

L2CAP Procedures

4.1  Channel Types

    In this profile, only connection-oriented channels shall be used. This implies that broadcasts shall not be used in this profile. The AVDTP PSM value is used in the L2CAP connection request. See the Bluetooth Assigned Numbers for the AVDTP PSM.

 

4.2  Signalling

    Only the INT issues an L2CAP Connection Request within the execution of Connection Establishment procedure in this profile.  The GAVDP does not impose any additional restrictions or requirements on L2CAP signalling.

 

4.3  Configuration Options

    This section describes the usage of configuration options in this profile.

  • Maximum Transmission Unit (MTU) : The minimum MTU that a L2CAP implementation for this profile shall support is 48 bytes.
  • Reliability : The flush timeout value shall be defined in the profiles dependent on GAVDP.
  • Quality of Service : Negotiation of Quality of Service is optional in this profile.

 

Link Manager

    The procedure for SCO links is excluded in this profile. Except for this, there is no change to the requirements as stated in the Link Manager specification itself.

 

Link Control

    Table 7.1 on the GAVDP Profile,  lists all features on the LC level, as well as the extra requirements added to the Baseband specification by this profile.

 

Generic Access Profile Interoperability Requirements

    The GAVDP requires compliance to the Generic Access Profile. Section 8 of the actual GAVDP defines the support requirements with regards to procedures and capabilities defined in the Generic Access Profile. This shows

  • the support status for modes within this profile
  • the support status for idle mode procedures within this profile.

    There is no change to the Security Aspects requirements as stated in the Generic Access Profile.

 

   

Note , the above text contains excerpts from the Bluetooth SIG's Specification, as well as various interpretations of the Specs. For complete details of the various sections, consult the actual Bluetooth Specification.