Microchip® Advanced Software Framework

hfp_hf.h File Reference
#include "hci.h"
#include "classic/sdp_client_rfcomm.h"
#include "classic/hfp.h"

Functions

void hfp_hf_activate_call_waiting_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_activate_calling_line_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_activate_echo_canceling_and_noise_reduction (hci_con_handle_t acl_handle)
 
void hfp_hf_activate_voice_recognition_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_answer_incoming_call (hci_con_handle_t acl_handle)
 Answer incoming call. More...
 
void hfp_hf_connect_calls (hci_con_handle_t acl_handle)
 Connect the two calls and disconnects the subscriber from both calls (Explicit Call Transfer). More...
 
void hfp_hf_create_sdp_record (uint8_t *service, uint32_t service_record_handle, int rfcomm_channel_nr, const char *name, uint16_t supported_features, int wide_band_speech)
 Create HFP Hands-Free (HF) SDP service record. More...
 
void hfp_hf_deactivate_call_waiting_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_deactivate_calling_line_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_deactivate_echo_canceling_and_noise_reduction (hci_con_handle_t acl_handle)
 
void hfp_hf_deactivate_voice_recognition_notification (hci_con_handle_t acl_handle)
 
void hfp_hf_dial_memory (hci_con_handle_t acl_handle, int memory_id)
 Initiate outgoing voice call using the memory dialing feature of the AG. More...
 
void hfp_hf_dial_number (hci_con_handle_t acl_handle, char *number)
 Initiate outgoing voice call by providing the destination phone number to the AG. More...
 
void hfp_hf_disable_report_extended_audio_gateway_error_result_code (hci_con_handle_t acl_handle)
 Disable Extended Audio Gateway Error result codes in the AG. More...
 
void hfp_hf_disable_status_update_for_all_ag_indicators (hci_con_handle_t acl_handle)
 Disable status update for all indicators in the AG. More...
 
void hfp_hf_enable_report_extended_audio_gateway_error_result_code (hci_con_handle_t acl_handle)
 Enable Extended Audio Gateway Error result codes in the AG. More...
 
void hfp_hf_enable_status_update_for_all_ag_indicators (hci_con_handle_t acl_handle)
 Enable status update for all indicators in the AG. More...
 
void hfp_hf_end_active_and_accept_other (hci_con_handle_t acl_handle)
 Release all active calls (if any exist) and accepts the other (held or waiting) call. More...
 
void hfp_hf_establish_audio_connection (hci_con_handle_t acl_handle)
 Establish audio connection. More...
 
void hfp_hf_establish_service_level_connection (bd_addr_t bd_addr)
 Establish RFCOMM connection with the AG with given Bluetooth address, and perform service level connection (SLC) agreement: More...
 
void hfp_hf_init (uint16_t rfcomm_channel_nr)
 Set up HFP Hands-Free (HF) device without additional supported features. More...
 
void hfp_hf_init_codecs (int codecs_nr, uint8_t *codecs)
 Set codecs. More...
 
void hfp_hf_init_hf_indicators (int indicators_nr, uint16_t *indicators)
 Set HF indicators. More...
 
void hfp_hf_init_supported_features (uint32_t supported_features)
 Set supported features. More...
 
void hfp_hf_join_held_call (hci_con_handle_t acl_handle)
 Add a held call to the conversation. More...
 
void hfp_hf_private_consultation_with_call (hci_con_handle_t acl_handle, int index)
 
void hfp_hf_query_current_call_status (hci_con_handle_t acl_handle)
 
void hfp_hf_query_operator_selection (hci_con_handle_t acl_handle)
 Query the name of the currently selected Network operator by AG. More...
 
void hfp_hf_query_subscriber_number (hci_con_handle_t acl_handle)
 
void hfp_hf_redial_last_number (hci_con_handle_t acl_handle)
 Initiate outgoing voice call by recalling the last number dialed by the AG. More...
 
void hfp_hf_register_packet_handler (btstack_packet_handler_t callback)
 Register callback for the HFP Hands-Free (HF) client. More...
 
void hfp_hf_reject_incoming_call (hci_con_handle_t acl_handle)
 Reject incoming call. More...
 
void hfp_hf_release_audio_connection (hci_con_handle_t acl_handle)
 Release audio connection. More...
 
void hfp_hf_release_call_with_index (hci_con_handle_t acl_handle, int index)
 
void hfp_hf_release_service_level_connection (hci_con_handle_t acl_handle)
 Release the RFCOMM channel and the audio connection between the HF and the AG. More...
 
void hfp_hf_request_phone_number_for_voice_tag (hci_con_handle_t acl_handle)
 
void hfp_hf_rrh_accept_held_call (hci_con_handle_t acl_handle)
 
void hfp_hf_rrh_hold_call (hci_con_handle_t acl_handle)
 
void hfp_hf_rrh_query_status (hci_con_handle_t acl_handle)
 
void hfp_hf_rrh_reject_held_call (hci_con_handle_t acl_handle)
 
void hfp_hf_send_dtmf_code (hci_con_handle_t acl_handle, char code)
 
void hfp_hf_set_hf_indicator (hci_con_handle_t acl_handle, int assigned_number, int value)
 
void hfp_hf_set_microphone_gain (hci_con_handle_t acl_handle, int gain)
 
void hfp_hf_set_speaker_gain (hci_con_handle_t acl_handle, int gain)
 
void hfp_hf_set_status_update_for_individual_ag_indicators (hci_con_handle_t acl_handle, uint32_t indicators_status_bitmap)
 Enable or disable status update for the individual indicators in the AG using bitmap. More...
 
void hfp_hf_swap_calls (hci_con_handle_t acl_handle)
 Place all active calls (if any exist) on hold and accepts the other (held or waiting) call. More...
 
void hfp_hf_terminate_call (hci_con_handle_t acl_handle)
 Terminate an incoming or an outgoing call. More...
 
void hfp_hf_user_busy (hci_con_handle_t acl_handle)
 Release all held calls or sets User Determined User Busy (UDUB) for a waiting call. More...
 

void hfp_hf_activate_call_waiting_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_activate_calling_line_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_activate_echo_canceling_and_noise_reduction ( hci_con_handle_t  acl_handle)
void hfp_hf_activate_voice_recognition_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_answer_incoming_call ( hci_con_handle_t  acl_handle)

Answer incoming call.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_connect_calls ( hci_con_handle_t  acl_handle)

Connect the two calls and disconnects the subscriber from both calls (Explicit Call Transfer).

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_create_sdp_record ( uint8_t *  service,
uint32_t  service_record_handle,
int  rfcomm_channel_nr,
const char *  name,
uint16_t  supported_features,
int  wide_band_speech 
)

Create HFP Hands-Free (HF) SDP service record.

Parameters
service
rfcomm_channel_nr
name
suported_features32-bit bitmap, see HFP_HFSF_* values in hfp.h
wide_band_speechsupported
void hfp_hf_deactivate_call_waiting_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_deactivate_calling_line_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_deactivate_echo_canceling_and_noise_reduction ( hci_con_handle_t  acl_handle)
void hfp_hf_deactivate_voice_recognition_notification ( hci_con_handle_t  acl_handle)
void hfp_hf_dial_memory ( hci_con_handle_t  acl_handle,
int  memory_id 
)

Initiate outgoing voice call using the memory dialing feature of the AG.

Parameters
bd_addrBluetooth address of the AG
memory_id
void hfp_hf_dial_number ( hci_con_handle_t  acl_handle,
char *  number 
)

Initiate outgoing voice call by providing the destination phone number to the AG.

Parameters
bd_addrBluetooth address of the AG
number
void hfp_hf_disable_report_extended_audio_gateway_error_result_code ( hci_con_handle_t  acl_handle)

Disable Extended Audio Gateway Error result codes in the AG.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_disable_status_update_for_all_ag_indicators ( hci_con_handle_t  acl_handle)

Disable status update for all indicators in the AG.

The status field of the HFP_SUBEVENT_COMPLETE reports if the command was accepted.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_enable_report_extended_audio_gateway_error_result_code ( hci_con_handle_t  acl_handle)

Enable Extended Audio Gateway Error result codes in the AG.

Whenever there is an error relating to the functionality of the AG as a result of AT command, the AG shall send +CME ERROR. This error is reported via HFP_SUBEVENT_EXTENDED_AUDIO_GATEWAY_ERROR, see hfp_cme_error_t in hfp.h

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_enable_status_update_for_all_ag_indicators ( hci_con_handle_t  acl_handle)

Enable status update for all indicators in the AG.

The status field of the HFP_SUBEVENT_COMPLETE reports if the command was accepted. The status of an AG indicator is reported via HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_end_active_and_accept_other ( hci_con_handle_t  acl_handle)

Release all active calls (if any exist) and accepts the other (held or waiting) call.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_establish_audio_connection ( hci_con_handle_t  acl_handle)

Establish audio connection.

The status of audio connection establishment is reported via HFP_SUBEVENT_AUDIO_CONNECTION_ESTABLISHED.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_establish_service_level_connection ( bd_addr_t  bd_addr)

Establish RFCOMM connection with the AG with given Bluetooth address, and perform service level connection (SLC) agreement:

  • exchange supported features
  • retrieve Audio Gateway (AG) indicators and their status
  • enable indicator status update in the AG
  • notify the AG about its own available codecs, if possible
  • retrieve the AG information describing the call hold and multiparty services, if possible
  • retrieve which HF indicators are enabled on the AG, if possible The status of SLC connection establishment is reported via HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED.
Parameters
bd_addrBluetooth address of the AG
void hfp_hf_init ( uint16_t  rfcomm_channel_nr)

Set up HFP Hands-Free (HF) device without additional supported features.

Parameters
rfcomm_channel_nr
void hfp_hf_init_codecs ( int  codecs_nr,
uint8_t *  codecs 
)

Set codecs.

Parameters
codecs_nr
codecs
void hfp_hf_init_hf_indicators ( int  indicators_nr,
uint16_t *  indicators 
)

Set HF indicators.

Parameters
indicators_nr
indicators
void hfp_hf_init_supported_features ( uint32_t  supported_features)

Set supported features.

Parameters
supported_features32-bit bitmap, see HFP_HFSF_* values in hfp.h
void hfp_hf_join_held_call ( hci_con_handle_t  acl_handle)

Add a held call to the conversation.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_private_consultation_with_call ( hci_con_handle_t  acl_handle,
int  index 
)
void hfp_hf_query_current_call_status ( hci_con_handle_t  acl_handle)
void hfp_hf_query_operator_selection ( hci_con_handle_t  acl_handle)

Query the name of the currently selected Network operator by AG.

The name is restricted to max 16 characters. The result is reported via HFP_SUBEVENT_NETWORK_OPERATOR_CHANGED subtype containing network operator mode, format and name. If no operator is selected, format and operator are omitted.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_query_subscriber_number ( hci_con_handle_t  acl_handle)
void hfp_hf_redial_last_number ( hci_con_handle_t  acl_handle)

Initiate outgoing voice call by recalling the last number dialed by the AG.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_register_packet_handler ( btstack_packet_handler_t  callback)

Register callback for the HFP Hands-Free (HF) client.

Parameters
callback
void hfp_hf_reject_incoming_call ( hci_con_handle_t  acl_handle)

Reject incoming call.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_release_audio_connection ( hci_con_handle_t  acl_handle)

Release audio connection.

The status of releasing of the audio connection is reported via HFP_SUBEVENT_AUDIO_CONNECTION_RELEASED.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_release_call_with_index ( hci_con_handle_t  acl_handle,
int  index 
)
void hfp_hf_release_service_level_connection ( hci_con_handle_t  acl_handle)

Release the RFCOMM channel and the audio connection between the HF and the AG.

The status of releasing the SLC connection is reported via HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_RELEASED.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_request_phone_number_for_voice_tag ( hci_con_handle_t  acl_handle)
void hfp_hf_rrh_accept_held_call ( hci_con_handle_t  acl_handle)
void hfp_hf_rrh_hold_call ( hci_con_handle_t  acl_handle)
void hfp_hf_rrh_query_status ( hci_con_handle_t  acl_handle)
void hfp_hf_rrh_reject_held_call ( hci_con_handle_t  acl_handle)
void hfp_hf_send_dtmf_code ( hci_con_handle_t  acl_handle,
char  code 
)
void hfp_hf_set_hf_indicator ( hci_con_handle_t  acl_handle,
int  assigned_number,
int  value 
)
void hfp_hf_set_microphone_gain ( hci_con_handle_t  acl_handle,
int  gain 
)
void hfp_hf_set_speaker_gain ( hci_con_handle_t  acl_handle,
int  gain 
)
void hfp_hf_set_status_update_for_individual_ag_indicators ( hci_con_handle_t  acl_handle,
uint32_t  indicators_status_bitmap 
)

Enable or disable status update for the individual indicators in the AG using bitmap.

The status field of the HFP_SUBEVENT_COMPLETE reports if the command was accepted. The status of an AG indicator is reported via HFP_SUBEVENT_AG_INDICATOR_STATUS_CHANGED.

Parameters
bd_addrBluetooth address of the AG
indicators_status_bitmap32-bit bitmap, 0 - indicator is disabled, 1 - indicator is enabled
void hfp_hf_swap_calls ( hci_con_handle_t  acl_handle)

Place all active calls (if any exist) on hold and accepts the other (held or waiting) call.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_terminate_call ( hci_con_handle_t  acl_handle)

Terminate an incoming or an outgoing call.

HFP_SUBEVENT_CALL_TERMINATED is sent upon call termination.

Parameters
bd_addrBluetooth address of the AG
void hfp_hf_user_busy ( hci_con_handle_t  acl_handle)

Release all held calls or sets User Determined User Busy (UDUB) for a waiting call.

Parameters
bd_addrBluetooth address of the AG