# Perform Bluetooth HFP client functions

You can perform HFP client functions using the `hfp_client_menu` options.

Before you begin, set up the device and go to the HFP client menu as described in [Set up the device for HFP functions](https://docs.qualcomm.com/doc/80-70018-13/topic/set-up-hfp.html#section-w52-kvd-lcc-navyanka-08-19-24-1310-42-670).

## Connect to an HFP client device

To connect to an HFP client device, run the following command:

connect <bt_address>
    Copy to clipboard

**Parameters**

`<bt_address>` is the Bluetooth address of the remote device.

**Example**

To connect to a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

connect f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

connect f8:7d:76:9d:9b:6b
    Processing event 405 in state 1
    connecting with device f8:7d:76:9d:9b:6b
    current State = 1, new state = 2
    Processing event 441 in state 2
    network state is available
    no call is in progress
    no call in setup
    battery level is 3
    signal level is 2
    AG is in home network
    no held call
    Processing event 439 in state 2
    in-band ringtone provided
    Processing event 442 in state 2
    SLC connected with device f8:7d:76:9d:9b:6b
    current State = 2, new state = 3
    Copy to clipboard

## Create an SCO link

To create an SCO link, run the following command:

create_sco <bt_address>
    Copy to clipboard

**Parameters**

`<bt_address>` is the Bluetooth address of the remote device.

**Example**

To create an SCO link for a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

create_sco f8:7d:76:9d:9b:6b
    Copy to clipboard

## Accept an incoming call

To accept an incoming call, run the following command:

accept_call
    Copy to clipboard

**Sample output**

accept_call
    Processing event 409 in state 4
    a call is in progress
    no call in setup
    Processing event 439 in state 4
    Copy to clipboard

## Reject an incoming call

To reject an incoming call, run the following command:

reject_incoming_call
    Copy to clipboard

**Sample output**

reject_incoming_call
    Processing event 410 in state 4
    no call in setup
    Processing event 439 in state 4
    Processing event 444 in state 4
    current mode = 2, new mode = 0
    current State = 4, new state = 3
    set param hfp_enable=false success
    BT disconnect is success for SCO usecase
    Disconnected SCO connection with device f8:7d:76:9d:9b:6b
    Copy to clipboard

## End an active call

To end an active call, run the following command:

end_active_call
    Copy to clipboard

**Sample output**

end_active_call
    Processing event 411 in state 4
    Processing event 444 in state 4
    current mode = 2, new mode = 0
    current State = 4, new state = 3
    no call is in progress
    set param hfp_enable=false success
    BT disconnect is success for SCO usecase
    Disconnected SCO connection with device f8:7d:76:9d:9b:6b
    Copy to clipboard

## Dial a phone number

To dial a phone number, run the following command:

dial <phone_number>
    Copy to clipboard

**Parameters**

`<phone_number>` is the phone number that you intend to dial.

**Sample output**

dial 7123456789
    Processing event 422 in state 3
    Outgoing call is in setup
    Processing event 447 in state 3
    SCO/eSCO connected with device f8:7d:76:9d:9b:6b
    Connected state: Requesting for focus
    current mode = 0, new mode = 2
    current State = 3, new state = 4
    Processing event 252 in state 4
    earlier status = 1 new status = 2
    Configure audio for SCO
    No session exists for the usecase
    The server answered: obj path: '/org/pulseaudio/ext/pal/loopback/ses_2'
    BT connect is success for SCO usecase
    set param- hfp_enable=true success
    Outgoing call in alerting state
    Copy to clipboard

## Redial a phone number

To redial a phone number, run the following command:

redial
    Copy to clipboard

**Sample output**

redial
    Processing event 423 in state 3
    Outgoing call is in setup
    Processing event 447 in state 3
    SCO/eSCO connected with device f8:7d:76:9d:9b:6b
    Connected state: Requesting for focus
    current mode = 0, new mode = 2
    current State = 3, new state = 4
    Processing event 252 in state 4
    earlier status = 1 new status = 2
    Configure audio for SCO
    No session exists for the usecase
    The server answered: obj path: '/org/pulseaudio/ext/pal/loopback/ses_2'
    BT connect is success for SCO usecase
    set param- hfp_enable=true success
    Outgoing call in alerting state
    no call in setup
    Processing event 439 in state 4
    Processing event 444 in state 4
    current mode = 2, new mode = 0
    current State = 4, new state = 3
    set param hfp_enable=false success
    BT disconnect is success for SCO usecase
    Disconnected SCO connection with device f8:7d:76:9d:9b:6b
    Copy to clipboard

## Hold a call

To hold a call, run the following command:

hold_active_call
    Copy to clipboard

**Sample output**

hold_active_call
    Processing event 412 in state 4
    a call is on hold, no active calls
    Copy to clipboard

## Unhold a call

To unhold a call, run the following command:

unhold_held_call
    Copy to clipboard

**Sample output**

unhold_held_call
    Processing event 412 in state 4
    no held call
    Copy to clipboard

## End a call on hold

To end a call on hold, run the following command:

end_held_call
    Copy to clipboard

**Sample output**

end_held_call
    Processing event 413 in state 4
    Processing event 444 in state 4
    current mode = 2, new mode = 0
    current State = 4, new state = 3
    set param hfp_enable=false success
    BT disconnect is success for SCO usecase
    Disconnected SCO connection with device f8:7d:76:9d:9b:6b
    no call is in progress
    Copy to clipboard

## Reject an incoming call during an active call

To reject an incoming call during an active call, run the following command:

reject_incoming_call_when_active_call_present
    Copy to clipboard

## Start voice recognition

To start voice recognition, run the following command:

start_voice_recognition
    Copy to clipboard

**Sample output**

start_voice_recognition
    Processing event 425 in state 3
    volume_change_cb : speaker volume is 4
    Processing event 433 in state 3
    Processing event 447 in state 3
    SCO/eSCO connected with device f8:7d:76:9d:9b:6b
    Connected state: Requesting for focus
    current mode = 0, new mode = 2
    current State = 3, new state = 4
    Processing event 252 in state 4
    earlier status = 1 new status = 2
    Configure audio for SCO
    No session exists for the usecase
    The server answered: obj path: '/org/pulseaudio/ext/pal/loopback/ses_2'
    BT connect is success for SCO usecase
    set param- hfp_enable=true success
    signal level is 2
    Copy to clipboard

## Stop voice recognition

To stop voice recognition, run the following command:

stop_voice_recognition
    Copy to clipboard

**Sample output**

stop_voice_recognition
    Processing event 426 in state 4
    Processing event 444 in state 4
    current mode = 2, new mode = 0
    current State = 4, new state = 3
    set param hfp_enable=false success
    BT disconnect is success for SCO usecase
    Disconnected SCO connection with device f8:7d:76:9d:9b:6b
    Copy to clipboard

## Get the operator name

To get the operator name, run the following command:

query_operator_name
    Copy to clipboard

**Sample output**

query_operator_name
    Processing event 429 in state 3
    operator name is IND airtel
    Copy to clipboard

## Get subscriber information

To get subscriber information, run the following command:

query_subscriber_info
    Copy to clipboard

**Sample output**

query_subscriber_info
    Processing event 430 in state 3
    subscriber name is 917123456789 type is voice
    Copy to clipboard

## Disconnect an HFP client device

To disconnect an HFP client device, run the following command:

disconnect <bt_address>
    Copy to clipboard

**Parameters**

`<bt_address>` is the Bluetooth address of the remote device.

**Example**

To disconnect a remote device with the Bluetooth address `f8:7d:76:9d:9b:6b`, run the following command:

disconnect f8:7d:76:9d:9b:6b
    Copy to clipboard

**Sample output**

disconnect f8:7d:76:9d:9b:6b
    Processing event 406 in state 3
    Disconnecting with device f8:7d:76:9d:9b:6b
    current State = 3, new state = 2
    Processing event 437 in state 2
    Disconnected from or Unable to connect with device f8:7d:76:9d:9b:6b
    current State = 2, new state = 1
    Copy to clipboard

## Other functions

The HFP client menu offers other functions that enable you to:

- Swap calls
- Verify conference calls
- Access recently dialed phone numbers
- Control the volume of the speaker and microphone
- Send DTMF code

Last Published: Apr 02, 2025

[Previous Topic
Hands-Free Profile](https://docs.qualcomm.com/bundle/publicresource/80-70018-13/topics/set-up-hfp.md) [Next Topic
Perform Bluetooth HFP audio gateway functions](https://docs.qualcomm.com/bundle/publicresource/80-70018-13/topics/perform-bluetooth-hfp-ag-functions.md)