I want to use my laptop (Debian 8.4) as a bluetooth headset for my smartphone (OnePlus One, Android). This means not just audio of my phone, also incoming calls.

I already managed to play normal audio over the laptop speakers, but no telephone data. I saw there is a headset profile for bluetooth. Does it work automatically? I already had worked with PBAP and MAP, but in the bluetooth headset specification i found no helping answers.

I set the bluetooth class of my laptop to 0x40040C in /etc/bluetooth/main.conf and also set it via

hciconfig hci0 class 0x40040C

The class I get from this website.

To connect it I use bluetoothctl. But when I change the modus (eg. discoverable on), the laptop always changes its bluetooth class back to laptop.

When I am searching for devices at my phone, the laptop appears with a headset icon, but when I pair, the icon changes to a regular headphone icon. In the settings there is also 'Media Audio'. What I think I need is 'Telephone Audio'. So the question is, how can I achieve this?

It would be great if I heave no extra (graphical) tools to install and even better when there is some code to get it work in QT. All examples I have found do not work, are for Windows or are too old. In my case receiving a message per bluetooth that a call is incoming would be enough (like a simple smartwatch, just showing).

With my current solution with media audio, I hear just the phone ringing, on laptop and phone simultaneously, but just if I set the telephone sound on my phone from silent or vibration to any volume.

2 Answers 2


Whilst having connected for media purposes, I'd suggest you to try receving a call on your phone or dial a number.

Most of the recent Android versions, provide an option to use your Telephone Audio through your already connected bluetooth speakers on a calling screen once you touch the speakerphone toggle icon.

There shouldn't have been an explicit need of configuring it further.

Probable reason the icon reverts could be the bluetoothctl detects that you haven't got a way to receive a call through your desktop (Portable Bluetooth speakers mostly have the receive-a-call hardware button for the same.)

  • Hey, thanks for your answer. I get a call when connected to media, but still the calling sound was coming from the laptop speakers. I know this option from my car radio, but sadly there was no possibility to change it from phone speaker to laptop speaker. Is there a way to simulate this button programmatically?
    – SteffenH
    Commented Jun 27, 2016 at 5:22

I've solved in this way:

install ofono

in /etc/pulse/default.pa find the line load-module module-bluetooth-discover and change it in load-module module-bluetooth-discover headset=ofono

Add the user pulse to group bluetooth to grant the permission: sudo useradd -g bluetooth pulse (probably it's already correct)

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"/>

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

The good news: 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!

The bad news: it works only one time per booting (and checking if ofonod is running), then I have to reboot my Debian system.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .