On 22.03.2018 13:00, David Woodhouse wrote: >> RING and CKPD are ignored by PulseAudio, so you can't currently get >> notifications about those, unfortunately. > Hm... if I wanted to get notifications about those, how would I do so? > > I've just written a plugin for Pidgin which works with USB headsets and > synchronises their mute/offhook status with calls correctly: > http://git.infradead.org/users/dwmw2/pidgin-headset.git > > I can now hang up a call by pressing the headset button, and the > headset's "mute" button interoperates correctly with the server-side / > software mute. > > I'd like to extend that to work with Bluetooth headsets too. > > I think I can probably work out the mute part, since we *do* process > the AT+VGM= input from the headset. That should be visible somehow in > the conference GStreamer pipeline, I expect. But as you say, CKPD is > not handled and there's no way to handle RING either. > > How would we connect those up? > > > And... if those are exposed through PulseAudio, does it make sense for > the USB headsets to be handled by PulseAudio too? What I do now is a > bit of a hack and I'm just finding *any* old headset device and using > it to control the call, even if it isn't the device that's actually > handing the audio. If PulseAudio were to automatically open the HID > associated with a given USB audio device and expose the mute/ring/hook > stuff in the same way as Bluetooth headsets, actually associated with > the correct device, that might be a useful approach? > I had written a patch for the BT headset button, but it was rejected at the time. See https://patchwork.freedesktop.org/patch/143572/ Maybe we can pick this up again, when we are able to send signals via the native protocol as well. (There are patches for sending signals which are not yet reviewed.)