hfp: report status code

This commit is contained in:
Milanka Ringwald 2021-06-29 10:11:27 +02:00
parent 2effbd4fb0
commit ac6f828ea6
3 changed files with 112 additions and 85 deletions

View File

@ -165,7 +165,7 @@ static void show_usage(void){
printf("l - Clear last number | L - Set last number\n");
printf("m - simulate incoming call from 7654321\n");
// printf("M - simulate call from 7654321 dropped\n");
printf("n - Disable Voice Regocnition | N - Enable Voice Recognition\n");
printf("n - Disable Voice Recognition | N - Enable Voice Recognition\n");
printf("o - Set speaker volume to 0 (minimum) | O - Set speaker volume to 9 (default)\n");
printf("p - Set speaker volume to 12 (higher) | P - Set speaker volume to 15 (maximum)\n");
printf("q - Set microphone gain to 0 (minimum) | Q - Set microphone gain to 9 (default)\n");
@ -180,31 +180,33 @@ static void show_usage(void){
}
static void stdin_process(char cmd){
uint8_t status = ERROR_CODE_SUCCESS;
switch (cmd){
case 'a':
log_info("USER:\'%c\'", cmd);
printf("Establish HFP service level connection to %s...\n", bd_addr_to_str(device_addr));
hfp_ag_establish_service_level_connection(device_addr);
status = hfp_ag_establish_service_level_connection(device_addr);
break;
case 'A':
log_info("USER:\'%c\'", cmd);
printf("Release HFP service level connection.\n");
hfp_ag_release_service_level_connection(acl_handle);
status = hfp_ag_release_service_level_connection(acl_handle);
break;
case 'Z':
log_info("USER:\'%c\'", cmd);
printf("Release HFP service level connection to %s...\n", bd_addr_to_str(device_addr));
hfp_ag_release_service_level_connection(acl_handle);
status = hfp_ag_release_service_level_connection(acl_handle);
break;
case 'b':
log_info("USER:\'%c\'", cmd);
printf("Establish Audio connection %s...\n", bd_addr_to_str(device_addr));
hfp_ag_establish_audio_connection(acl_handle);
status = hfp_ag_establish_audio_connection(acl_handle);
break;
case 'B':
log_info("USER:\'%c\'", cmd);
printf("Release Audio connection.\n");
hfp_ag_release_audio_connection(acl_handle);
status = hfp_ag_release_audio_connection(acl_handle);
break;
case 'c':
log_info("USER:\'%c\'", cmd);
@ -230,7 +232,7 @@ static void stdin_process(char cmd){
case 'd':
log_info("USER:\'%c\'", cmd);
printf("Report AG failure\n");
hfp_ag_report_extended_audio_gateway_error_result_code(acl_handle, HFP_CME_ERROR_AG_FAILURE);
status = hfp_ag_report_extended_audio_gateway_error_result_code(acl_handle, HFP_CME_ERROR_AG_FAILURE);
break;
case 'e':
log_info("USER:\'%c\'", cmd);
@ -245,42 +247,42 @@ static void stdin_process(char cmd){
case 'f':
log_info("USER:\'%c\'", cmd);
printf("Disable cellular network\n");
hfp_ag_set_registration_status(0);
status = hfp_ag_set_registration_status(0);
break;
case 'F':
log_info("USER:\'%c\'", cmd);
printf("Enable cellular network\n");
hfp_ag_set_registration_status(1);
status = hfp_ag_set_registration_status(1);
break;
case 'g':
log_info("USER:\'%c\'", cmd);
printf("Set signal strength to 0\n");
hfp_ag_set_signal_strength(0);
status = hfp_ag_set_signal_strength(0);
break;
case 'G':
log_info("USER:\'%c\'", cmd);
printf("Set signal strength to 5\n");
hfp_ag_set_signal_strength(5);
status = hfp_ag_set_signal_strength(5);
break;
case 'h':
log_info("USER:\'%c\'", cmd);
printf("Disable roaming\n");
hfp_ag_set_roaming_status(0);
status = hfp_ag_set_roaming_status(0);
break;
case 'H':
log_info("USER:\'%c\'", cmd);
printf("Enable roaming\n");
hfp_ag_set_roaming_status(1);
status = hfp_ag_set_roaming_status(1);
break;
case 'i':
log_info("USER:\'%c\'", cmd);
printf("Set battery level to 3\n");
hfp_ag_set_battery_level(3);
status = hfp_ag_set_battery_level(3);
break;
case 'I':
log_info("USER:\'%c\'", cmd);
printf("Set battery level to 5\n");
hfp_ag_set_battery_level(5);
status = hfp_ag_set_battery_level(5);
break;
case 'j':
log_info("USER:\'%c\'", cmd);
@ -315,52 +317,52 @@ static void stdin_process(char cmd){
case 'n':
log_info("USER:\'%c\'", cmd);
printf("Disable Voice Recognition\n");
hfp_ag_activate_voice_recognition(acl_handle, 0);
status = hfp_ag_activate_voice_recognition(acl_handle, 0);
break;
case 'N':
log_info("USER:\'%c\'", cmd);
printf("Enable Voice Recognition\n");
hfp_ag_activate_voice_recognition(acl_handle, 1);
status = hfp_ag_activate_voice_recognition(acl_handle, 1);
break;
case 'o':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 0 (minimum)\n");
hfp_ag_set_speaker_gain(acl_handle, 0);
status = hfp_ag_set_speaker_gain(acl_handle, 0);
break;
case 'O':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 9 (default)\n");
hfp_ag_set_speaker_gain(acl_handle, 9);
status = hfp_ag_set_speaker_gain(acl_handle, 9);
break;
case 'p':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 12 (higher)\n");
hfp_ag_set_speaker_gain(acl_handle, 12);
status = hfp_ag_set_speaker_gain(acl_handle, 12);
break;
case 'P':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 15 (maximum)\n");
hfp_ag_set_speaker_gain(acl_handle, 15);
status = hfp_ag_set_speaker_gain(acl_handle, 15);
break;
case 'q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 0\n");
hfp_ag_set_microphone_gain(acl_handle, 0);
status = hfp_ag_set_microphone_gain(acl_handle, 0);
break;
case 'Q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 9\n");
hfp_ag_set_microphone_gain(acl_handle, 9);
status = hfp_ag_set_microphone_gain(acl_handle, 9);
break;
case 's':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 12\n");
hfp_ag_set_microphone_gain(acl_handle, 12);
status = hfp_ag_set_microphone_gain(acl_handle, 12);
break;
case 'S':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 15\n");
hfp_ag_set_microphone_gain(acl_handle, 15);
status = hfp_ag_set_microphone_gain(acl_handle, 15);
break;
case 'R':
log_info("USER:\'%c\'", cmd);
@ -400,6 +402,10 @@ static void stdin_process(char cmd){
show_usage();
break;
}
if (status != ERROR_CODE_SUCCESS){
printf("Could not perform command, status 0x%02x\n", status);
}
}
#endif
@ -455,7 +461,7 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * even
case HFP_SUBEVENT_SERVICE_LEVEL_CONNECTION_ESTABLISHED:
status = hfp_subevent_service_level_connection_established_get_status(event);
if (status != ERROR_CODE_SUCCESS){
printf("Connection failed, staus 0x%02x\n", status);
printf("Connection failed, status 0x%02x\n", status);
break;
}
acl_handle = hfp_subevent_service_level_connection_established_get_acl_handle(event);
@ -511,10 +517,10 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * even
if ( strcmp("1234567", hfp_subevent_place_call_with_number_get_number(event)) == 0
|| strcmp("7654321", hfp_subevent_place_call_with_number_get_number(event)) == 0
|| (memory_1_enabled && strcmp(">1", hfp_subevent_place_call_with_number_get_number(event)) == 0)){
printf("Dialstring valid: accept call\n");
printf("Dial string valid: accept call\n");
hfp_ag_outgoing_call_accepted();
} else {
printf("Dialstring invalid: reject call\n");
printf("Dial string invalid: reject call\n");
hfp_ag_outgoing_call_rejected();
}
break;
@ -530,6 +536,13 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * even
case HFP_SUBEVENT_CALL_ANSWERED:
printf("Call answered by HF\n");
break;
case HFP_SUBEVENT_VOICE_RECOGNITION_STATUS:
if (hfp_subevent_voice_recognition_status_get_activated(event) > 0){
printf("Voice recognition status activated\n");
} else {
printf("Voice recognition status disabled\n");
}
break;
default:
break;
}
@ -609,7 +622,7 @@ int btstack_main(int argc, const char * argv[]){
// register for HFP events
hfp_ag_register_packet_handler(&packet_handler);
// parse humand readable Bluetooth address
// parse human readable Bluetooth address
sscanf_bd_addr(device_addr_string, device_addr);
#ifdef HAVE_BTSTACK_STDIN

View File

@ -151,7 +151,7 @@ static void show_usage(void){
printf("n/N - deactivate/activate voice recognition\n");
printf("0123456789#*-+ - send DTMF dial tones\n");
printf("x - request phone number for voice tag | X - current call status (ECS)\n");
printf("y - release call with index 2 (ECC) | Y - private consulation with call 2(ECC)\n");
printf("y - release call with index 2 (ECC) | Y - private consultation with call 2(ECC)\n");
printf("[ - Query Response and Hold status (RHH ?) | ] - Place call in a response and held state(RHH 0)\n");
printf("{ - Accept held call(RHH 1) | } - Reject held call(RHH 2)\n");
printf("? - Query Subscriber Number (NUM)\n");
@ -160,11 +160,13 @@ static void show_usage(void){
}
static void stdin_process(char c){
uint8_t status = ERROR_CODE_SUCCESS;
cmd = c; // used in packet handler
if (cmd >= '0' && cmd <= '9'){
printf("DTMF Code: %c\n", cmd);
hfp_hf_send_dtmf_code(acl_handle, cmd);
status = hfp_hf_send_dtmf_code(acl_handle, cmd);
return;
}
@ -175,77 +177,77 @@ static void stdin_process(char c){
case '*':
log_info("USER:\'%c\'", cmd);
printf("DTMF Code: %c\n", cmd);
hfp_hf_send_dtmf_code(acl_handle, cmd);
status = hfp_hf_send_dtmf_code(acl_handle, cmd);
break;
case 'a':
log_info("USER:\'%c\'", cmd);
printf("Establish Service level connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr));
hfp_hf_establish_service_level_connection(device_addr);
status = hfp_hf_establish_service_level_connection(device_addr);
break;
case 'A':
log_info("USER:\'%c\'", cmd);
printf("Release Service level connection.\n");
hfp_hf_release_service_level_connection(acl_handle);
status = hfp_hf_release_service_level_connection(acl_handle);
break;
case 'b':
log_info("USER:\'%c\'", cmd);
printf("Establish Audio connection to device with Bluetooth address %s...\n", bd_addr_to_str(device_addr));
hfp_hf_establish_audio_connection(acl_handle);
status = hfp_hf_establish_audio_connection(acl_handle);
break;
case 'B':
log_info("USER:\'%c\'", cmd);
printf("Release Audio service level connection.\n");
hfp_hf_release_audio_connection(acl_handle);
status = hfp_hf_release_audio_connection(acl_handle);
break;
case 'C':
log_info("USER:\'%c\'", cmd);
printf("Enable registration status update for all AG indicators.\n");
hfp_hf_enable_status_update_for_all_ag_indicators(acl_handle);
status = hfp_hf_enable_status_update_for_all_ag_indicators(acl_handle);
break;
case 'c':
log_info("USER:\'%c\'", cmd);
printf("Disable registration status update for all AG indicators.\n");
hfp_hf_disable_status_update_for_all_ag_indicators(acl_handle);
status = hfp_hf_disable_status_update_for_all_ag_indicators(acl_handle);
break;
case 'D':
log_info("USER:\'%c\'", cmd);
printf("Set HFP AG registration status update for individual indicators (0111111).\n");
hfp_hf_set_status_update_for_individual_ag_indicators(acl_handle, 63);
status = hfp_hf_set_status_update_for_individual_ag_indicators(acl_handle, 63);
break;
case 'd':
log_info("USER:\'%c\'", cmd);
printf("Query network operator.\n");
hfp_hf_query_operator_selection(acl_handle);
status = hfp_hf_query_operator_selection(acl_handle);
break;
case 'E':
log_info("USER:\'%c\'", cmd);
printf("Enable reporting of the extended AG error result code.\n");
hfp_hf_enable_report_extended_audio_gateway_error_result_code(acl_handle);
status = hfp_hf_enable_report_extended_audio_gateway_error_result_code(acl_handle);
break;
case 'e':
log_info("USER:\'%c\'", cmd);
printf("Disable reporting of the extended AG error result code.\n");
hfp_hf_disable_report_extended_audio_gateway_error_result_code(acl_handle);
status = hfp_hf_disable_report_extended_audio_gateway_error_result_code(acl_handle);
break;
case 'f':
log_info("USER:\'%c\'", cmd);
printf("Answer incoming call.\n");
hfp_hf_answer_incoming_call(acl_handle);
status = hfp_hf_answer_incoming_call(acl_handle);
break;
case 'F':
log_info("USER:\'%c\'", cmd);
printf("Hangup call.\n");
hfp_hf_terminate_call(acl_handle);
status = hfp_hf_terminate_call(acl_handle);
break;
case 'G':
log_info("USER:\'%c\'", cmd);
printf("Reject incoming call.\n");
hfp_hf_reject_incoming_call(acl_handle);
status = hfp_hf_reject_incoming_call(acl_handle);
break;
case 'g':
log_info("USER:\'%c\'", cmd);
printf("Query operator.\n");
hfp_hf_query_operator_selection(acl_handle);
status = hfp_hf_query_operator_selection(acl_handle);
break;
case 't':
log_info("USER:\'%c\'", cmd);
@ -255,187 +257,191 @@ static void stdin_process(char c){
case 'i':
log_info("USER:\'%c\'", cmd);
printf("Dial 1234567\n");
hfp_hf_dial_number(acl_handle, "1234567");
status = hfp_hf_dial_number(acl_handle, "1234567");
break;
case 'I':
log_info("USER:\'%c\'", cmd);
printf("Dial 7654321\n");
hfp_hf_dial_number(acl_handle, "7654321");
status = hfp_hf_dial_number(acl_handle, "7654321");
break;
case 'j':
log_info("USER:\'%c\'", cmd);
printf("Dial #1\n");
hfp_hf_dial_memory(acl_handle,1);
status = hfp_hf_dial_memory(acl_handle,1);
break;
case 'J':
log_info("USER:\'%c\'", cmd);
printf("Dial #99\n");
hfp_hf_dial_memory(acl_handle,99);
status = hfp_hf_dial_memory(acl_handle,99);
break;
case 'k':
log_info("USER:\'%c\'", cmd);
printf("Deactivate call waiting notification\n");
hfp_hf_deactivate_call_waiting_notification(acl_handle);
status = hfp_hf_deactivate_call_waiting_notification(acl_handle);
break;
case 'K':
log_info("USER:\'%c\'", cmd);
printf("Activate call waiting notification\n");
hfp_hf_activate_call_waiting_notification(acl_handle);
status = hfp_hf_activate_call_waiting_notification(acl_handle);
break;
case 'l':
log_info("USER:\'%c\'", cmd);
printf("Deactivate calling line notification\n");
hfp_hf_deactivate_calling_line_notification(acl_handle);
status = hfp_hf_deactivate_calling_line_notification(acl_handle);
break;
case 'L':
log_info("USER:\'%c\'", cmd);
printf("Activate calling line notification\n");
hfp_hf_activate_calling_line_notification(acl_handle);
status = hfp_hf_activate_calling_line_notification(acl_handle);
break;
case 'm':
log_info("USER:\'%c\'", cmd);
printf("Deactivate echo canceling and noise reduction\n");
hfp_hf_deactivate_echo_canceling_and_noise_reduction(acl_handle);
status = hfp_hf_deactivate_echo_canceling_and_noise_reduction(acl_handle);
break;
case 'M':
log_info("USER:\'%c\'", cmd);
printf("Activate echo canceling and noise reduction\n");
hfp_hf_activate_echo_canceling_and_noise_reduction(acl_handle);
status = hfp_hf_activate_echo_canceling_and_noise_reduction(acl_handle);
break;
case 'n':
log_info("USER:\'%c\'", cmd);
printf("Deactivate voice recognition\n");
hfp_hf_deactivate_voice_recognition_notification(acl_handle);
status = hfp_hf_deactivate_voice_recognition_notification(acl_handle);
break;
case 'N':
log_info("USER:\'%c\'", cmd);
printf("Activate voice recognition %s\n", bd_addr_to_str(device_addr));
hfp_hf_activate_voice_recognition_notification(acl_handle);
status = hfp_hf_activate_voice_recognition_notification(acl_handle);
break;
case 'o':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 0 (minimum)\n");
hfp_hf_set_speaker_gain(acl_handle, 0);
status = hfp_hf_set_speaker_gain(acl_handle, 0);
break;
case 'O':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 9 (default)\n");
hfp_hf_set_speaker_gain(acl_handle, 9);
status = hfp_hf_set_speaker_gain(acl_handle, 9);
break;
case 'p':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 12 (higher)\n");
hfp_hf_set_speaker_gain(acl_handle, 12);
status = hfp_hf_set_speaker_gain(acl_handle, 12);
break;
case 'P':
log_info("USER:\'%c\'", cmd);
printf("Set speaker gain to 15 (maximum)\n");
hfp_hf_set_speaker_gain(acl_handle, 15);
status = hfp_hf_set_speaker_gain(acl_handle, 15);
break;
case 'q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 0\n");
hfp_hf_set_microphone_gain(acl_handle, 0);
status = hfp_hf_set_microphone_gain(acl_handle, 0);
break;
case 'Q':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 9\n");
hfp_hf_set_microphone_gain(acl_handle, 9);
status = hfp_hf_set_microphone_gain(acl_handle, 9);
break;
case 's':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 12\n");
hfp_hf_set_microphone_gain(acl_handle, 12);
status = hfp_hf_set_microphone_gain(acl_handle, 12);
break;
case 'S':
log_info("USER:\'%c\'", cmd);
printf("Set microphone gain to 15\n");
hfp_hf_set_microphone_gain(acl_handle, 15);
status = hfp_hf_set_microphone_gain(acl_handle, 15);
break;
case 'u':
log_info("USER:\'%c\'", cmd);
printf("Send 'user busy' (Three-Way Call 0)\n");
hfp_hf_user_busy(acl_handle);
status = hfp_hf_user_busy(acl_handle);
break;
case 'U':
log_info("USER:\'%c\'", cmd);
printf("End active call and accept waiting/held call (Three-Way Call 1)\n");
hfp_hf_end_active_and_accept_other(acl_handle);
status = hfp_hf_end_active_and_accept_other(acl_handle);
break;
case 'v':
log_info("USER:\'%c\'", cmd);
printf("Swap active call and hold/waiting call (Three-Way Call 2)\n");
hfp_hf_swap_calls(acl_handle);
status = hfp_hf_swap_calls(acl_handle);
break;
case 'V':
log_info("USER:\'%c\'", cmd);
printf("Join hold call (Three-Way Call 3)\n");
hfp_hf_join_held_call(acl_handle);
status = hfp_hf_join_held_call(acl_handle);
break;
case 'w':
log_info("USER:\'%c\'", cmd);
printf("Connect calls (Three-Way Call 4)\n");
hfp_hf_connect_calls(acl_handle);
status = hfp_hf_connect_calls(acl_handle);
break;
case 'W':
log_info("USER:\'%c\'", cmd);
printf("Redial\n");
hfp_hf_redial_last_number(acl_handle);
status = hfp_hf_redial_last_number(acl_handle);
break;
case 'x':
log_info("USER:\'%c\'", cmd);
printf("Request phone number for voice tag\n");
hfp_hf_request_phone_number_for_voice_tag(acl_handle);
status = hfp_hf_request_phone_number_for_voice_tag(acl_handle);
break;
case 'X':
log_info("USER:\'%c\'", cmd);
printf("Query current call status\n");
hfp_hf_query_current_call_status(acl_handle);
status = hfp_hf_query_current_call_status(acl_handle);
break;
case 'y':
log_info("USER:\'%c\'", cmd);
printf("Release call with index 2\n");
hfp_hf_release_call_with_index(acl_handle, 2);
status = hfp_hf_release_call_with_index(acl_handle, 2);
break;
case 'Y':
log_info("USER:\'%c\'", cmd);
printf("Private consulation with call 2\n");
hfp_hf_private_consultation_with_call(acl_handle, 2);
printf("Private consultation with call 2\n");
status = hfp_hf_private_consultation_with_call(acl_handle, 2);
break;
case '[':
log_info("USER:\'%c\'", cmd);
printf("Query Response and Hold status (RHH ?)\n");
hfp_hf_rrh_query_status(acl_handle);
status = hfp_hf_rrh_query_status(acl_handle);
break;
case ']':
log_info("USER:\'%c\'", cmd);
printf("Place call in a response and held state (RHH 0)\n");
hfp_hf_rrh_hold_call(acl_handle);
status = hfp_hf_rrh_hold_call(acl_handle);
break;
case '{':
log_info("USER:\'%c\'", cmd);
printf("Accept held call (RHH 1)\n");
hfp_hf_rrh_accept_held_call(acl_handle);
status = hfp_hf_rrh_accept_held_call(acl_handle);
break;
case '}':
log_info("USER:\'%c\'", cmd);
printf("Reject held call (RHH 2)\n");
hfp_hf_rrh_reject_held_call(acl_handle);
status = hfp_hf_rrh_reject_held_call(acl_handle);
break;
case '?':
log_info("USER:\'%c\'", cmd);
printf("Query Subscriber Number\n");
hfp_hf_query_subscriber_number(acl_handle);
status = hfp_hf_query_subscriber_number(acl_handle);
break;
case '!':
log_info("USER:\'%c\'", cmd);
printf("Update HF indicator with assigned number 1 (HFI)\n");
hfp_hf_set_hf_indicator(acl_handle, 1, 1);
status = hfp_hf_set_hf_indicator(acl_handle, 1, 1);
break;
default:
show_usage();
break;
}
if (status != ERROR_CODE_SUCCESS){
printf("Could not perform command, status 0x%02x\n", status);
}
}
#endif
@ -555,6 +561,13 @@ static void packet_handler(uint8_t packet_type, uint16_t channel, uint8_t * even
printf(" - type : %d \n", hfp_subevent_enhanced_call_status_get_bnip_type(event));
printf(" - number : %s \n", hfp_subevent_enhanced_call_status_get_bnip_number(event));
break;
case HFP_SUBEVENT_VOICE_RECOGNITION_STATUS:
if (hfp_subevent_voice_recognition_status_get_activated(event) > 0){
printf("Voice recognition status activated\n");
} else {
printf("Voice recognition status disabled\n");
}
break;
default:
break;
}
@ -601,6 +614,7 @@ int btstack_main(int argc, const char * argv[]){
(1<<HFP_HFSF_HF_INDICATORS) |
(1<<HFP_HFSF_CODEC_NEGOTIATION) |
(1<<HFP_HFSF_ENHANCED_CALL_STATUS) |
(1<<HFP_HFSF_VOICE_RECOGNITION_FUNCTION) |
(1<<HFP_HFSF_REMOTE_VOLUME_CONTROL);
int wide_band_speech = 1;

View File

@ -1330,7 +1330,7 @@ static void hfp_ag_call_sm(hfp_ag_call_event_t event, hfp_connection_t * hfp_con
hfp_ag_response_and_hold_active = 1;
hfp_ag_response_and_hold_state = HFP_RESPONSE_AND_HOLD_INCOMING_ON_HOLD;
hfp_ag_send_response_and_hold_state(hfp_ag_response_and_hold_state);
// as with regualr call
// as with regular call
hfp_ag_set_call_indicator();
hfp_ag_set_callsetup_indicator();
hfp_ag_ag_accept_call();
@ -1354,7 +1354,7 @@ static void hfp_ag_call_sm(hfp_ag_call_event_t event, hfp_connection_t * hfp_con
hfp_ag_response_and_hold_active = 1;
hfp_ag_response_and_hold_state = HFP_RESPONSE_AND_HOLD_INCOMING_ON_HOLD;
hfp_ag_send_response_and_hold_state(hfp_ag_response_and_hold_state);
// as with regualr call
// as with regular call
hfp_ag_set_call_indicator();
hfp_ag_set_callsetup_indicator();
hfp_ag_hf_accept_call(hfp_connection);