From fc194f4f0ca9575e38bb239a55078f237dcbe6ba Mon Sep 17 00:00:00 2001 From: Andries Kruithof Date: Mon, 24 Jun 2024 09:23:07 +0200 Subject: [PATCH] Documentation: Bluetooth: audio: add table for profile dependencies Added tables for showing the dependencies of profiles on other profiles and services (cherry picked from commit 3828c8b86ac5ab934014e740512d91764a0eaed7) Original-Signed-off-by: Andries Kruithof GitOrigin-RevId: 3828c8b86ac5ab934014e740512d91764a0eaed7 Change-Id: Ia8468e36113b8250f95116807110a4b87a2e5b0e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5716823 Tested-by: ChromeOS Prod (Robot) Reviewed-by: Keith Short Commit-Queue: Keith Short Tested-by: Keith Short --- .../api/audio/bluetooth-le-audio-arch.rst | 334 ++++++++++++++++++ 1 file changed, 334 insertions(+) diff --git a/doc/connectivity/bluetooth/api/audio/bluetooth-le-audio-arch.rst b/doc/connectivity/bluetooth/api/audio/bluetooth-le-audio-arch.rst index 8b2ab7b25c0..9065f9e11cd 100644 --- a/doc/connectivity/bluetooth/api/audio/bluetooth-le-audio-arch.rst +++ b/doc/connectivity/bluetooth/api/audio/bluetooth-le-audio-arch.rst @@ -349,6 +349,340 @@ GAF and the top layer profiles gave been implemented in Zephyr with the followin CSIP_H -> VCP_H; } +Profile Dependencies +==================== + +The LE Audio profiles depend on other profiles and services, as outlined in the following tables. +In these tables 'Server' refers to acting in the GATT server role, and 'Client' refers to acting in the GATT client role for the specific +service. +If a profile role depends on another profile that depends on a service, then that dependency is implicitly also applied to that profile. +For example, if the CAP Acceptor uses the BAP Unicast Server role, then the requirements on the ASCS Server and PACS Server also apply to the CAP Acceptor. + +The dependencies for Stream Control (BAP) are in the following table. + +.. table:: BAP dependencies + :widths: auto + :align: center + + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | | Unicast Server | Unicast Client | Broadcast Source | Broadcast Sink | Scan Delegator | Broadcast Assistant | + +====================+================+================+==================+================+================+=====================+ + | BAP Scan Delegator | | | | M | | | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | ASCS Client | | M | | | | | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | ASCS Server | M | | | | | | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | PACS Client | | M | | | | O | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | PACS Server | M | | | M | | | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | BASS Client | | | | | | M | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + | BASS Server | | | | | M | | + +--------------------+----------------+----------------+------------------+----------------+----------------+---------------------+ + +Note: + +* As the table shows, the Broadcast Source role has no dependencies on other LE Audio profiles or services + +The dependencies for Content Control (MCP and CCP) are in the following tables. + +.. table:: MCP dependencies + :widths: auto + :align: center + + +-------------+----------------------+----------------------+ + | | Media Control Server | Media Control Client | + +=============+======================+======================+ + | GMCS Server | M | | + +-------------+----------------------+----------------------+ + | GMCS Client | | M | + +-------------+----------------------+----------------------+ + | MCS Server | O | | + +-------------+----------------------+----------------------+ + | MCS Client | | O | + +-------------+----------------------+----------------------+ + | OTS Server | O | | + +-------------+----------------------+----------------------+ + | OTS Client | | O | + +-------------+----------------------+----------------------+ + +.. table:: CCP dependencies + :widths: auto + :align: center + + +--------------+---------------------+---------------------+ + | | Call Control Server | Call Control Client | + +==============+=====================+=====================+ + | GTBS Server | M | | + +--------------+---------------------+---------------------+ + | GTBS Client | | M | + +--------------+---------------------+---------------------+ + | TBS Server | M | | + +--------------+---------------------+---------------------+ + | TBS Client | | M | + +--------------+---------------------+---------------------+ + + +The dependencies for Rendering Control (MICP and VCP) are in the following tables. + +.. table:: MICP dependencies + :widths: auto + :align: center + + +-------------+-----------------------+-------------------+ + | | Microphone Controller | Microphone Device | + +=============+=======================+===================+ + | MICS Server | M | | + +-------------+-----------------------+-------------------+ + | MICS Client | | M | + +-------------+-----------------------+-------------------+ + | AICS Server | O | | + +-------------+-----------------------+-------------------+ + | AICS Client | | O | + +-------------+-----------------------+-------------------+ + +.. table:: VCP dependencies + :widths: auto + :align: center + + +-------------+------------------+-------------------+ + | | Volume Renderer | Volume Controller | + +=============+==================+===================+ + | VCS Server | M | | + +-------------+------------------+-------------------+ + | VCS Client | | M | + +-------------+------------------+-------------------+ + | VOCS Server | O | | + +-------------+------------------+-------------------+ + | VOCS Client | | O | + +-------------+------------------+-------------------+ + | AICS Server | O | | + +-------------+------------------+-------------------+ + | AICS Client | | O | + +-------------+------------------+-------------------+ + +The last element in GAF is Transition and Coordination Control (CAP and CSIP) with the dependencies from the following tables. + +.. table:: CAP dependencies + :widths: auto + :align: center + + +----------------------------+----------+-----------+-----------+ + | | Acceptor | Initiator | Commander | + +============================+==========+===========+===========+ + | CAS Server | M | | C.8 | + +----------------------------+----------+-----------+-----------+ + | CAS Client | | M | M | + +----------------------------+----------+-----------+-----------+ + | BAP Unicast Client | | C.1 | | + +----------------------------+----------+-----------+-----------+ + | BAP Unicast Server | C.2 | | | + +----------------------------+----------+-----------+-----------+ + | BAP Broadcast Source | | C.1 | | + +----------------------------+----------+-----------+-----------+ + | BAP Broadcast Sink | C.2 | | | + +----------------------------+----------+-----------+-----------+ + | BAP Broadcast Assistant | | | C.4, C.6 | + +----------------------------+----------+-----------+-----------+ + | BAP Scan Delegator | C.3 | | C.6 | + +----------------------------+----------+-----------+-----------+ + | VCP Volume Controller | | | C.6 | + +----------------------------+----------+-----------+-----------+ + | VCP Volume Renderer | O | | | + +----------------------------+----------+-----------+-----------+ + | MICP Microphone Controller | | | C.6 | + +----------------------------+----------+-----------+-----------+ + | MICP Microphone Device | O | | | + +----------------------------+----------+-----------+-----------+ + | CCP Call Control Server | | O | | + +----------------------------+----------+-----------+-----------+ + | CCP Call Control Client | O | | C.6 | + +----------------------------+----------+-----------+-----------+ + | MCP Media Control Server | | O | | + +----------------------------+----------+-----------+-----------+ + | MCP Media Control Client | O | | C.6 | + +----------------------------+----------+-----------+-----------+ + | CSIP Set Coordinator | | C.5 | M | + +----------------------------+----------+-----------+-----------+ + | CSIP Set Member | C.7 | | | + +----------------------------+----------+-----------+-----------+ + +Notes: + +* C.1: Support at least one of BAP Unicast Client or BAP Broadcast Source +* C.2: Support at least one of BAP Unicast Server or BAP Broadcast Sink +* C.3: Mandatory if BAP Broadcast Sink +* C.4: Mandatory if BAP Scan Delegator +* C.5: Mandatory if BAP Unicast Client +* C.6: Support at least one +* C.7: Mandatory if part of a coordinated set +* C.8: Mandatory if the Commander transmits CAP announcements + + +.. table:: CSIP dependencies + :widths: auto + :align: center + + +------------+------------+-----------------+ + | | Set Member | Set Coordinator | + +============+============+=================+ + | CSIS Server| M | | + +------------+------------+-----------------+ + | CSIS Client| | M | + +------------+------------+-----------------+ + + +The dependencies of the higher level profiles (GMAP, HAP, PBP and TMAP) are listed in the following tables. + +.. table:: GMAP dependencies + :widths: auto + :align: center + + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | | Unicast Game Gateway | Unicast Game Terminal | Broadcast Game Sender | Broadcast Game Receiver | + +============================+======================+=======================+=======================+=========================+ + | GMAS Server | M | M | O | M | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | GMAS Client | M | O | O | O | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | CAP Initiator | M | | M | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | CAP Acceptor | | M | | M | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | CAP Commander | M | | M | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | BAP Broadcast Source | | | M | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | BAP Broadcast Sink | | | | M | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | BAP Unicast Client | M | | | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | BAP Unicast Server | | M | | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | VCP Volume Controller | M | | | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | VCP Volume Renderer | | C.1 | | M | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | MICP Microphone Controller | O | | | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + | MICP Microphone Device | | C.2 | | | + +----------------------------+----------------------+-----------------------+-----------------------+-------------------------+ + +Notes: + +* C.1 Mandatory if the UGT supports the UGT Sink feature +* C.2 Optional if the UGT supports the UGT Source feature + +.. table:: HAP dependencies + :widths: auto + :align: center + + +----------------------------+-------------+----------------------------+-------------------------------+ + | | Hearing Aid | Hearing Aid Unicast Client | Hearing Aid Remote Controller | + +============================+=============+============================+===============================+ + | HAS Client | | | M | + +----------------------------+-------------+----------------------------+-------------------------------+ + | HAS Server | M | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CAP Initiator | | M | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CAP Acceptor | M | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CAP Commander | | | M | + +----------------------------+-------------+----------------------------+-------------------------------+ + | BAP Unicast Client | | M | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | BAP Unicast Server | M | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | VCP Volume Controller | | | M | + +----------------------------+-------------+----------------------------+-------------------------------+ + | VCP Volume Renderer | M | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | VOCS Server | C.1 | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | AICS Server | O | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | MICP Microphone Controller | | | O | + +----------------------------+-------------+----------------------------+-------------------------------+ + | MICP Microphone Device | C.2 | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CCP Call Control Client | O | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CCP Call Control Server | | O | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CSIP Set Coordinator | | M | M | + +----------------------------+-------------+----------------------------+-------------------------------+ + | CSIP Set Member | C.3 | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | BAS Server | C.4 | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + | IAS Server | O | | | + +----------------------------+-------------+----------------------------+-------------------------------+ + +Notes: + +* C.1 Mandatory if the HA supports the Volume Baslance feature and is part of a Binaural Hearing Aid Set +* C.2 Mandatory if the HA supports the BAP Audio Source Role +* C.3 Mandatory if the HA is capable of being part of a Binaural Hearing Aid set +* C.4 If equipped with batteries +* C.5 If CCP Call Control Server is supported + +.. table:: PBP dependencies + :widths: auto + :align: center + + +-------------------------+-------------------------+-----------------------+----------------------------+ + | | Public Broadcast Source | Public Broadcast sink | Public Broadcast Assistant | + +=========================+=========================+=======================+============================+ + | CAP Initiator | M | | | + +-------------------------+-------------------------+-----------------------+----------------------------+ + | CAP Acceptor | | M | | + +-------------------------+-------------------------+-----------------------+----------------------------+ + | CAP Commander | | | M | + +-------------------------+-------------------------+-----------------------+----------------------------+ + | BAP Broadcast Assistant | | | M | + +-------------------------+-------------------------+-----------------------+----------------------------+ + +.. table:: TMAP dependencies + :widths: auto + :align: center + + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | | Call Gateway | Call Terminal | Unicast Media Sender | Unicast Media Receiver | Broadcast Media Sender | Broadcast Media Receiver | + +===================================+==============+===============+======================+========================+========================+==========================+ + | TMAS Server | M | M | M | M | O | M | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | TMAS Client | O | O | O | O | O | O | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | CAP Initiator | M | | M | | M | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | CAP Acceptor | | M | | M | | M | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | CAP Commander | M | O | M | O | O | O | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | BAP Broadcast Source | | | | | M | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | BAP Broadcast Sink | | | | | | M | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | BAP Unicast Client | M | | M | | | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | BAP Unicast Server | | M | | M | | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | VCP Volume Controller | M | | M | | | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | VCP Volume Renderer | | C.1 | | M | | M | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | MCP Media Control Server | | | M | | | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + | CCP Call Control Server | M | | | | | | + +-----------------------------------+--------------+---------------+----------------------+------------------------+------------------------+--------------------------+ + +Notes: + +* C.1 Mandatory to support if the BAP Unicast Server is acting as an Audio Sink + Bluetooth Audio Stack Status ============================