How to use a computer as a bluetooth headset? [duplicate]

I am trying to use a Bluetooth headset on an Ubuntu PC. I am able to connect phone to pc via BT. I can stream music to PC. But cannot hear call audio. I have checked in Android phone logs, and BT sco link is established. But when making a call or virtual call (play audio through sco path in Android phone) the audio is not audible in PC headset. SCO packets are NOT appearing in btmon logs either. Anyone successfully done this?

version- ubuntu 16.04
Installed- bluez, ofono, pulseaudio
pactl sink: Name- bluez_sink.22_22_8E_DE_B9_2B,
            Name: alsa_output.pci-0000_00_1b.0.iec958-stereo
pactl source: Name-bluez_sink.22_22_8E_DE_B9_2B.monitor
              Name: alsa_input.pci-0000_00_1b.0.analog-stereo

Solution 1:

Bluez has experimental support for this but I have not got it to work properly before.

apparently it's possible if you use Bluez 5 and install "ofono"

then in /etc/pulse/default.pa modify the line:

 load-module module-bluetooth-discover

to:

 load-module module-bluetooth-discover headset=ofono

then restart pulseaudio

For now it seems that: - if in /etc/pulse/default.pa you have added headset=ofono you will have the headset; - if not you will have a2dp (restart pulseaudio every time).

This info is from the bottom of this long thread, which was last updated a few days ago

Solution 2:

I've solved it this way:

  1. in /etc/pulse/default.pa find the line load-module module-bluetooth-discover and change it to load-module module-bluetooth-discover headset=ofono
  2. Add the user "pulse" to group "bluetooth" to grant the permission: sudo useradd -g bluetooth pulse (probably it's already correct)
  3. VERY IMPORTANT: To grant the permission, add this to /etc/dbus-1/system.d/ofono.conf (before </busconfig> ;-)):

    <policy user="pulse">
    <allow send_destination="org.ofono"/> 
    </policy>
    

    See: https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Bluetooth/

Now in pavucontrol I can see that the profile changes automatically from A2DP to HSP / HFP if I make a phone call, and then it magically returns to A2DP!**