HFP for Linux

HFP for Linux is a Bluetooth Hands-Free Profile server.

It allows your Linux system to act as a speakerphone for your mobile phone. It aims to be a compliant Bluetooth HFP 1.5 Hands Free implementation, supporting all required commands and notifications, as well as streaming audio.

HFP for Linux was designed specifically for automotive computing applications, but it can be used just as well in a desktop environment.

Features

Supports device scanning, connection, disconnection, and automatic reconnection

Supports multiple concurrently connected audio gateway devices

Resilient to loss of Bluetooth service

Supports the ALSA and OSS audio hardware interfaces

Supports microphone input cleanup, including echo cancelation and noise reduction.

Components

libhfp , a modular, toolkit-independent backend library with rich C++ APIs. Online documentation is available for the libhfp C++ APIs.

, a modular, toolkit-independent backend library with rich C++ APIs. Online documentation is available for the libhfp C++ APIs. hfpd , a D-Bus service daemon providing D-Bus APIs. Online documentation is available for the D-Bus APIs.

, a D-Bus service daemon providing D-Bus APIs. Online documentation is available for the D-Bus APIs. hfconsole, a PyGTK console application for controlling the D-Bus service daemon.

The HFP for Linux package also includes hfstandalone, a demonstration monolithic speakerphone program built with Trolltech Qt. hfstandalone uses its own instance of libhfp and operates independently of hfpd.

The developer of HFP for Linux believes that HFP is most useful in embedded devices, each with unique user interface requirements. Because of this, emphasis is placed on the internals and backend interfaces of libhfp, and the D-Bus interfaces of hfpd, so that it may be useful as a toolkit for building HFP applications and integrating HFP functionality into other applications.