Overview of Hands-Free Profile (Hands-Free Unit Role)

Windows CE 5.0 Not SupportedWindows Embedded NavReady 2009 Supported

10/16/2008

Windows Embedded NavReady supports the Bluetooth Hands-Free Profile (HFP). This enables a portable navigation device (PND) to be used together with a mobile phone to make voice calls.

With support for HFP, a PND becomes a hands-free device that can connect to and control a paired mobile phone in order to make and receive hands-free voice calls.

HFP Roles

The following roles are defined for Bluetooth-enabled devices that support HFP:

  • Hands-Free Unit (HF) role: this role is for the device that controls input and receives output from the device in the Audio Gateway role; for example, a portable navigation device (PND).
  • Audio Gateway (AG) role: this role is for the device that serves as a gateway of the audio, both for input and output; for example, a mobile phone.

A Windows Embedded NavReady powered device supports the Hands-Free Unit (HF) role only.

HFP Architecture Overview

To enable HFP support, Windows Embedded NavReady provides the HFP service in Windows Embedded CE, which manages Bluetooth HFP connections to a paired mobile phone. The HFP service also provides support for downloading a phone book by using Phone Book Access Profile (PBAP).

The following illustration shows the Bluetooth HFP architecture:

Bluetooth HFP Architecture

To enable making and receiving hands-free voice calls by using an Audio Gateway device, the Windows Embedded NavReady powered device pairs to a device, and then searches the Service Discovery Profile (SDP) record on that paired device to determine whether the device supports HFP. If it does support HFP, the Windows Embedded NavReady powered device assumes the Hands-Free Unit (HF) role in order to make and receive voice calls over a Bluetooth connection.

The HFP service communicates with the paired phone through the Bluetooth HFP connection to send telephony commands, to receive status updates, and to stream voice data from the paired phone to the hands-free device.

To use the capabilities offered by the HFP service, your custom hands-free phone application can call the HFP service APIs to perform telephony functions that are handled by Bluetooth HFP. For example, you can call specific HFP service APIs to respond to specific UI events, such as pressing a button in the UI to make a phone call or to download a phone book.

For more information about integrating HFP into a custom phone application, see Integrating the Hands-Free Profile (HFP) with a Phone Application.

HFP Capabilities

The HFP service in Windows Embedded NavReady provides the following capabilities to a custom phone application:

  • Handles Bluetooth HFP port connected/disconnected status
  • Makes a voice call by dialing a phone number
  • Indicates when a voice call is connected or disconnected
  • Notifies an application when a call is incoming (ring tone)
  • Enables or disables in-band ringing
  • Reports phone status (caller ID, signal strength, battery level, and so on)
  • Notifies an application when caller ID is received
  • Answers or rejects phone calls
  • Receives notification of a call-waiting call with caller ID
  • Puts the current call on hold and switches to the waiting call
  • Switches back and forth between calls on hold and active calls
  • Switches audio back to the mobile phone and returns audio back to the PND
  • Retrieves the paired phone’s call list
  • Reports status on the phone-book download (that uses PBAP)
  • Receives electronic business cards (vCards) from a phone book by using OPP and OBEX
  • Retrieves phone-book records
  • Deletes phone-book records

HFP Support in an OS Design

To include support for HFP, add the Hands-Free Profile (HFP) (HF role) Catalog item (SYSGEN_BTH_HF) to your OS design.

To use HFP, the Windows Embedded NavReady powered device must support the ability to route Bluetooth SCO audio in the device hardware to the microphone and speakers. The Windows Embedded NavReady powered device must also support echo cancellation, which is required for HFP.

See Also

Tasks

Integrating the Hands-Free Profile (HFP) with a Phone Application

Concepts

Bluetooth Profiles OS Design Development
Overview of Bluetooth Pairing

Other Resources

Hands-Free Profile Service Reference