Linux bluetooth development
 help / color / mirror / Atom feed
From: "Frédéric Danis" <frederic.danis@collabora.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ 00/12] hfp-hf: Enhance HFP Hands-Free profile support
Date: Fri, 25 Sep 2026 15:25:16 +0200	[thread overview]
Message-ID: <20260925132528.3361517-1-frederic.danis@collabora.com> (raw)

This series enhanced the HFP Hands-Free (HF) role support in BlueZ:

 - Registration:
   - Register the HFP HF profile with an SDP record so BlueZ is
     discoverable/connectable as a Hands-Free device.

 - Audio path:
   - Register a MediaEndpoint1 per supported HFP codec and wire up
     MediaTransport creation/configuration so SCO audio is exposed
     through the standard Media API instead of a bespoke interface.
   - Extend bluetoothctl (client/player) with matching menu entries
     to select/manage the HFP HF MediaEndpoints.

 - Codec negotiation:
   - Implement AT+BAC / +BCS handling in shared/hfp so the supported
     codec list is advertised during SLC setup and codec selection
     from the AG is honored (or renegotiated when unavailable).

 - Multi-call handling:
   - Implement SwapCalls, ReleaseAndAnswer, ReleaseAndSwap and
     HoldAndAnswer on org.bluez.Telephony1, plus corresponding
     bluetoothctl menu entries.
   - Add support for releasing all calls except waiting ones
     (including multiparty calls), both in shared/hfp and audio/hfp-hf.

 - DTMF:
   - Add AT+VTS-based Send Tones support in shared/hfp and audio/hfp-hf,
     with a bluetoothctl menu entry to trigger it.

New related PipeWire BlueZ backend draft can be found at:
https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/2978

Frédéric Danis (12):
  audio/hfp-hf: Add HFP HF server and SDP record
  audio/hfp-hf: Add MediaEndpoint for HFP codecs
  client/player: Add MediaEndpoints for HFP HF codecs
  shared/hfp: Add hangup all calls support
  audio/hfp-hf: Add hangup all calls support
  shared/hfp: Add send tones support
  audio/hfp-hf: Add Send Tones support
  client/telephony: Add Send Tones menu entry
  audio/hfp-hf: Add multi calls support
  client/telephony: Add multi calls support
  shared/hfp: Add codecs support
  audio/hfp-hf: Add codecs support

 client/player.c            |  18 +-
 client/telephony.c         | 237 +++++++++
 profiles/audio/hfp-hf.c    | 979 +++++++++++++++++++++++++++++++++++++
 profiles/audio/hfp-hf.h    |  26 +
 profiles/audio/media.c     |  76 +++
 profiles/audio/media.h     |   6 +
 profiles/audio/transport.c | 158 ++++++
 src/shared/hfp.c           | 229 ++++++++-
 src/shared/hfp.h           |  13 +
 9 files changed, 1735 insertions(+), 7 deletions(-)
 create mode 100644 profiles/audio/hfp-hf.h

-- 
2.43.0


             reply	other threads:[~2026-09-25 13:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 13:25 Frédéric Danis [this message]
2026-09-25 13:25 ` [PATCH BlueZ 01/12] audio/hfp-hf: Add HFP HF server and SDP record Frédéric Danis
2026-09-25 15:37   ` hfp-hf: Enhance HFP Hands-Free profile support bluez.test.bot
2026-09-25 13:25 ` [PATCH BlueZ 02/12] audio/hfp-hf: Add MediaEndpoint for HFP codecs Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 03/12] client/player: Add MediaEndpoints for HFP HF codecs Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 04/12] shared/hfp: Add hangup all calls support Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 05/12] audio/hfp-hf: " Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 06/12] shared/hfp: Add send tones support Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 07/12] audio/hfp-hf: Add Send Tones support Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 08/12] client/telephony: Add Send Tones menu entry Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 09/12] audio/hfp-hf: Add multi calls support Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 10/12] client/telephony: " Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 11/12] shared/hfp: Add codecs support Frédéric Danis
2026-09-25 13:25 ` [PATCH BlueZ 12/12] audio/hfp-hf: " Frédéric Danis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260925132528.3361517-1-frederic.danis@collabora.com \
    --to=frederic.danis@collabora.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox