File tree Expand file tree Collapse file tree 3 files changed +21
-1
lines changed
subsys/bluetooth/host/classic Expand file tree Collapse file tree 3 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -413,6 +413,12 @@ config BT_HFP_AG_HF_INDICATOR_BATTERY
413
413
help
414
414
This option enables HF Indicator Battery level for HFP AG
415
415
416
+ config BT_HFP_AG_REJECT_CALL
417
+ bool "Ability to reject a call for HFP AG [EXPERIMENTAL]"
418
+ default y
419
+ help
420
+ This option enables ability to reject a call for HFP AG
421
+
416
422
endif # BT_HFP_AG
417
423
418
424
config BT_AVDTP
Original file line number Diff line number Diff line change @@ -3817,6 +3817,7 @@ int bt_hfp_ag_reject(struct bt_hfp_ag_call *call)
3817
3817
int err = 0 ;
3818
3818
struct bt_hfp_ag * ag ;
3819
3819
bt_hfp_call_state_t call_state ;
3820
+ uint32_t ag_features ;
3820
3821
3821
3822
LOG_DBG ("" );
3822
3823
@@ -3837,12 +3838,18 @@ int bt_hfp_ag_reject(struct bt_hfp_ag_call *call)
3837
3838
}
3838
3839
3839
3840
call_state = call -> call_state ;
3841
+ ag_features = ag -> ag_features ;
3840
3842
hfp_ag_unlock (ag );
3841
3843
3842
3844
if (!atomic_test_bit (call -> flags , BT_HFP_AG_CALL_INCOMING )) {
3843
3845
return - EINVAL ;
3844
3846
}
3845
3847
3848
+ if (!(ag_features & BT_HFP_AG_FEATURE_REJECT_CALL )) {
3849
+ LOG_ERR ("AG has not ability to reject call" );
3850
+ return - ENOTSUP ;
3851
+ }
3852
+
3846
3853
if (atomic_test_bit (call -> flags , BT_HFP_AG_CALL_INCOMING_3WAY )) {
3847
3854
if ((call_state == BT_HFP_CALL_ALERTING ) || (call_state == BT_HFP_CALL_INCOMING )) {
3848
3855
uint8_t call_setup ;
Original file line number Diff line number Diff line change 98
98
#define BT_HFP_AG_FEATURE_HF_IND_ENABLE 0
99
99
#endif /* CONFIG_BT_HFP_HF_HF_INDICATORS */
100
100
101
+ #if defined(CONFIG_BT_HFP_AG_REJECT_CALL )
102
+ #define BT_HFP_AG_FEATURE_REJECT_CALL_ENABLE BT_HFP_AG_FEATURE_REJECT_CALL
103
+ #else
104
+ #define BT_HFP_AG_FEATURE_REJECT_CALL_ENABLE 0
105
+ #endif /* CONFIG_BT_HFP_AG_REJECT_CALL */
106
+
101
107
/* HFP AG Supported features */
102
108
#define BT_HFP_AG_SUPPORTED_FEATURES (\
103
109
BT_HFP_AG_FEATURE_3WAY_CALL_ENABLE | \
111
117
BT_HFP_AG_FEATURE_ENH_VOICE_RECG_ENABLE | \
112
118
BT_HFP_AG_FEATURE_VOICE_RECG_TEXT_ENABLE | \
113
119
BT_HFP_AG_FEATURE_VOICE_TAG_ENABLE | \
114
- BT_HFP_AG_FEATURE_HF_IND_ENABLE)
120
+ BT_HFP_AG_FEATURE_HF_IND_ENABLE | \
121
+ BT_HFP_AG_FEATURE_REJECT_CALL_ENABLE)
115
122
116
123
/* HFP AG Supported features in SDP */
117
124
#define BT_HFP_AG_SDP_SUPPORTED_FEATURES (\
You can’t perform that action at this time.
0 commit comments