PTT Bluetooth transmission does not work as expected

Hello, I've been working to implement PTT in the way recommended by the documentation. The main issue is that the bluetooth methods are opaque, so I cannot solve for what I need. The result will be that I will have to resort to hacky approaches that the PTT framework seems to be intended to solve (playing silent clips, playing custom notification sounds, having long running background audio sessions).

I am testing with Anker soundcore mini as well as airpod pro.

Here's the issue: there are 2 very different behaviours depending on whether I'm using a call/fullDuplex session and a halfDuplex session.


halfDuplex

Anchor mini

Current behaviour

  • long press activates siri
  • pressing again after siri is active, starts transmission
  • long press activates siri again
  • pressing again after siri is active, stops transmission
  • pause/play routes to the ongoing media session and plays music

Expected behaviour

  • play/pause should map to transmit/stopTransmit
  • IF I have to use long press, it should at least not trigger siri

AirPod pro

Current behaviour

  • long press changes noise cancellation
  • pause/play routes to the ongoing media session and plays music

Expected behaviour

  • play/pause should map to transmit/stopTransmit

fullDuplex/call

Anchor mini:

Current behaviour

  • long press activates siri
  • pressing again after siri is active, starts transmission
  • long press activates siri again
  • pressing again after siri is active, stops transmission
  • pause/play routes to the ongoing media session and plays music

Expected behaviour

  • play/pause should map to transmit/stopTransmit
  • IF I have to use long press, it should at least not trigger siri

AirPod pro

Current behaviour

  • long press changes noise cancellation
  • pause/play maps to mute/unmute (even if media is playing)

Expected behaviour

  • This makes sense for call behaviour, I wish it worked this well for PTT

The intention here is to be able to fully interact with a channel hands-free. The current API seems to make that impossible. Is that by design? Reading all the docs seems to suggest its intended for transmit/stopTransmit to be doable just with the play/pause buttons, but even apple hardware seems to not support that.

PTT Bluetooth transmission does not work as expected
 
 
Q