I recently switched from a JBL Flip 2 which supports both HSP and HFP to an Ultimate Ears Boom 2 which is HFP only. Needless to say this currently means that the Ultimate Ears fails to work with pulseaudio because we only support HSP via the native backend. The first thing to note is that we can easily get HFP running in pulseaudio via a quick hack to switch support from HSP to HFP (see patch below) because if you don't negotiate protocols on HFP it looks pretty much like HSP for the audio stream. Unfortunately, doing this would break half the headsets out there which only support HSP, so the hack is for demo purposes only. I think the fix is to expose HFP and HSP separately as different pulseaudio profiles. This would also allow negotiating useful HFP features, like wideband audio, which HSP doesn't support. It would also mean that people currently using HSP would continue, even if they had HFP and that headsets which support both will show both in the PA configuration possibilities. If people are OK with this approach, I can produce a patch set. James --- diff --git a/src/modules/bluetooth/backend-native.c b/src/modules/bluetooth/backend-native.c index 86376c0..33feb98 100644 --- a/src/modules/bluetooth/backend-native.c +++ b/src/modules/bluetooth/backend-native.c @@ -438,7 +438,7 @@ static void profile_init(pa_bluetooth_backend *b, pa_bluetooth_profile_t profile switch (profile) { case PA_BLUETOOTH_PROFILE_HEADSET_HEAD_UNIT: object_name = HSP_AG_PROFILE; - uuid = PA_BLUETOOTH_UUID_HSP_AG; + uuid = PA_BLUETOOTH_UUID_HFP_AG; break; default: pa_assert_not_reached();