Bluetooth Headset or Handsfree profile

Loren M. Lang lorenl at
Sat Jul 30 15:35:53 GMT 2005

On Fri, Jul 29, 2005 at 08:21:29AM -0700, Maksim Yevmenkin wrote:
> Loren,
> >>>Has any work been done yet on implementing the Bluetooth Headset or
> >>>Handsfree profiles in FreeBSD?  I'd be quite interesting in helping to
> >>>develop it.  If I don't get any responces for a week, I might just start
> >>>working on it from scratch.  I believe the Headset profile is simplier,
> >>>though it supports less features so I might start with that one.
> >>
> >>i have the sco support code in my local cvs. so far i managed to receive 
> >>audio data from my plantronics m2500 headset with 3com usb bluetooth 
> >>dongle. i will give it a little bit more polishing and testing and then 
> >>commit it to -current. it probably would not make it to the 6.0 release.
> >
> >I purchased a motorola hs805 bt headset for use with my nokia 6230 bt
> >cellphone.  I also have a linksys bt adapter for my fbsd box.
> ok
> >>what exactly are you planning to implement and how exactly would you use 
> >>headset and handsfree profiles on freebsd?
> >
> >The most interesting application I can think of it speech reconizition
> >for a bt headset, similar to what my cellphone already does.  I'd like
> >to hook sphinz up to it so I can control various external devices though
> >my computer with my voice.  Listening to mp3's or using it for
> >voice/video conferencing could be interesting too, though my headset has
> >limited quality for audio.
> sounds interesting
> >Both my cellphone and bt headset support both handsfree and headset so I
> >have a lot of combinations I can play with.
> well, are you aware that most bluetooth headsets are "dumb"? i.e. the 
> headset can only be paired with one host and, after paired, will only 
> accept connections from the paired host. what it means is that once 
> paired with the cellphone, the headset can only be used with the 
> cellphone. it is only possible to, say, transfer the call between the 
> headset and the cellphone only. it is *not* possible to transfer the 
> call to another audio gateway.

Actually my motorola headset can remember up to eight paired devices,
but it will only try to connect to the most recently paired device, the
other 7 devices much start the connection themselves.  I have
sucessfully paired my headset with my computer and cellphone both, with
the cellphone paired last so my headset will connect to it by default.
But, with my cellphone bt turned off, I was able to make linux access
the headset profile and play audio through it.

> it would have been so nice if cellphones could also use bluetooth to 
> connect to audio gateways. this way - as soon as i walk in the room with 
> bluetooth audio gateway (such as asterix/skype/etc.) i could switch my 
> phone to use it instead of gsm. now all my calls go via voip and not 
> coming out of my minutes. i also wish headsets could "remember" more 
> then one paired host.

Actually, on windows I have successfully connected to the audio gateway
on my computer and heard the call through my speakers, though I had no
microphone to talk back with.  I can connect to the headset/handfree
profile on my phone with either the computer or the motorola headset in
the middle of a call and get the audio routed automatically to my

Now as far as using voip, I don't know if my cellphone could do that.

> >My understanding of these protocols is that headset/handsfree are a
> >high-level protocol that work on top of l2cap/sdp/rfcomm/sco and
> >therefore can be developed in userspace to start with.  The one part
> >that needs to be developed in the kernel is the sco transport upon which
> >various audio and video bt protocols like handsfree are built upon.
> >Once that is finished, the handsfree protocol can then be developed as a
> >daemon running in userspace.  Without sco, I should still be able to
> >implement part of the headset/handfree profiles that deal with the
> >various controls they use like the redial button.  I'm thinking I might
> >start with this to just get a better understanding of the api neccessary
> >for using bt in fbsd.
> actually, headset profile is quite simple. all you need to do is to open 
> two connections:
> 1) RFCOMM control connection (looks like serial port) to send control AT 
> commands
> 2) SCO channel to transfer the voice data.
> (1) is already supported. support for (2) is coming.
> >Also, I would be interested in helping with the sco transport layer as
> >well, though I think that means I'll need to be running -current,
> >correct?
> you could run either RELENG_5,6 or -current. if you choose RELENG branch 
> then you will need to merge patches by hand. other then this it should work.

I just downloaded 6.0 BETA1 last night and I'll try and install that
today or tomorrow.

> >Is the cvs repository visible on the internet anywhere?
> no, my local cvs is not visible. FreeBSD cvs is - 
> thanks,
> max

I sense much NT in you.
NT leads to Bluescreen.
Bluescreen leads to downtime.
Downtime leads to suffering.
NT is the path to the darkside.
Powerful Unix is.

Public Key:
Fingerprint: CEE1 AAE2 F66C 59B5 34CA  C415 6D35 E847 0118 A3D2
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url :

More information about the freebsd-bluetooth mailing list