1# Bluetooth Audio - Call control configuration options
2#
3# Copyright (c) 2020 Bose Corporation
4# Copyright (c) 2024 Nordic Semiconductor ASA
5#
6# SPDX-License-Identifier: Apache-2.0
7#
8
9if BT_AUDIO
10
11#####################  Telephone Bearer Service #####################
12
13config BT_TBS
14	bool "Telephone Bearer Service Support"
15	depends on BT_GATT_DYNAMIC_DB
16	depends on UTF8
17	help
18	  This option enables support for Telephone Bearer Service. By default this only
19	  initializes the GTBS service. If specific TBS services are wanted, they need to be
20	  enabled by setting BT_TBS_BEARER_COUNT to a non-zero value.
21
22if BT_TBS
23
24config BT_TBS_SUPPORTED_FEATURES
25	int "Telephone Bearer Service Supported Features"
26	default 1
27	range 0 3
28	help
29	  Bitfield to set supported features of the bearer.
30	  Bit 0: Local Hold and Retrieve
31	  Bit 1: Join calls within Telephone Bearer Service
32
33config BT_TBS_MAX_CALLS
34	int "Telephone Bearer Service Maximum Number Of Calls Supported"
35	default 3
36	range 1 16
37	help
38	  Sets the maximum number of calls the service supports per bearer.
39
40config BT_TBS_BEARER_COUNT
41	int "How many bearer instances the device instantiates"
42	default 0
43	range 0 $(UINT8_MAX)
44	help
45	  Sets the number of TBS instances that are instantiated
46
47config BT_TBS_MAX_SCHEME_LIST_LENGTH
48	int "The maximum length of the URI scheme list"
49	default 30
50	range 0 512
51	help
52	  Sets the maximum length of the URI scheme list.
53
54endif # BT_TBS
55
56
57##################### Call Control Client #####################
58
59config BT_TBS_CLIENT_GTBS
60	bool "Generic Telephone Bearer Service client support"
61	depends on UTF8
62	help
63	  This option enables support for the GTBS-oriented Call Control client.
64
65config BT_TBS_CLIENT_TBS
66	bool "Telephone Bearer Service client support"
67	depends on UTF8
68	help
69	  This option enables support for the TBS-oriented Call Control client.
70
71config BT_TBS_CLIENT
72	def_bool BT_TBS_CLIENT_GTBS || BT_TBS_CLIENT_TBS
73	depends on BT_GATT_CLIENT
74	depends on BT_GATT_AUTO_DISCOVER_CCC
75
76if BT_TBS_CLIENT
77
78config BT_TBS_CLIENT_MAX_CALLS
79	int "Maximum Number Of Calls Supported"
80	default 1
81	help
82	  Sets the maximum number of calls the client supports per TBS instance.
83
84config BT_TBS_CLIENT_MAX_TBS_INSTANCES
85	int "Maximum number of TBS instances to setup"
86	depends on BT_TBS_CLIENT_TBS
87	default 1
88	range 1 3
89	help
90	  Sets the maximum number of Telephone Bearer Service (TBS)
91	  instances to setup and use.
92
93config BT_TBS_CLIENT_MINIMAL
94	bool "Minimal TBS Client without optional procedures"
95	default n
96	help
97	  This option disables all optional procedures in the TBS Client.
98
99config BT_TBS_CLIENT_BEARER_PROVIDER_NAME
100	bool "Support reading Bearer Provider Name"
101	default !BT_TBS_CLIENT_MINIMAL
102	help
103	  This option enables support for reading Bearer Provider Name.
104
105config BT_TBS_CLIENT_BEARER_UCI
106	bool "Support reading Bearer UCI"
107	default !BT_TBS_CLIENT_MINIMAL
108	help
109	  This option enables support for reading Bearer UCI.
110
111config BT_TBS_CLIENT_BEARER_TECHNOLOGY
112	bool "Support reading Bearer Technology"
113	default !BT_TBS_CLIENT_MINIMAL
114	help
115	  This option enables support for reading Bearer Technology.
116
117config BT_TBS_CLIENT_BEARER_URI_SCHEMES_SUPPORTED_LIST
118	bool "Support reading Bearer URI Schemes Supported List"
119	default !BT_TBS_CLIENT_MINIMAL
120	help
121	  This option enables support for reading Bearer URI Schemes Supported
122	  List.
123
124config BT_TBS_CLIENT_BEARER_SIGNAL_STRENGTH
125	bool "Support reading Bearer Signal Strength"
126	default !BT_TBS_CLIENT_MINIMAL
127	help
128	  This option enables support for reading Bearer Signal Strength.
129
130config BT_TBS_CLIENT_READ_BEARER_SIGNAL_INTERVAL
131	bool "Support reading Bearer Signal Strength Reporting Interval"
132	default !BT_TBS_CLIENT_MINIMAL
133	help
134	  This option enables support for reading Bearer Signal Strength
135	  Reporting Interval.
136
137config BT_TBS_CLIENT_SET_BEARER_SIGNAL_INTERVAL
138	bool "Support setting Bearer Signal Strength Reporting Interval"
139	default !BT_TBS_CLIENT_MINIMAL
140	help
141	  This option enables support for setting Bearer Signal Strength
142	  Reporting Interval.
143
144config BT_TBS_CLIENT_BEARER_LIST_CURRENT_CALLS
145	bool "Support reading Bearer List Current Calls"
146	default !BT_TBS_CLIENT_MINIMAL
147	help
148	  This option enables support for reading Bearer List Current Calls.
149
150config BT_TBS_CLIENT_CCID
151	bool "Support reading Content Control ID"
152	default !BT_TBS_CLIENT_MINIMAL
153	help
154	  This option enables support for reading Content Control ID.
155
156config BT_TBS_CLIENT_INCOMING_URI
157	bool "Support reading Incoming Call Target Bearer URI"
158	default !BT_TBS_CLIENT_MINIMAL
159	help
160	  This option enables support for reading Incoming Call Target Bearer
161	  URI.
162
163config BT_TBS_CLIENT_STATUS_FLAGS
164	bool "Support reading Status Flags"
165	default !BT_TBS_CLIENT_MINIMAL
166	help
167	  This option enables support for reading Status Flags.
168
169config BT_TBS_CLIENT_CP_PROCEDURES
170	def_bool y
171	depends on (BT_TBS_CLIENT_ACCEPT_CALL || \
172		    BT_TBS_CLIENT_TERMINATE_CALL || \
173		    BT_TBS_CLIENT_HOLD_CALL || \
174		    BT_TBS_CLIENT_RETRIEVE_CALL || \
175		    BT_TBS_CLIENT_ORIGINATE_CALL || \
176		    BT_TBS_CLIENT_JOIN_CALLS)
177	help
178	  This hidden option indicates that there are at least one control
179	  point procedure available.
180	  When this option is disabled it indicates that the control point can
181	  be optimized away.
182
183config BT_TBS_CLIENT_ACCEPT_CALL
184	bool "Support Accept Call"
185	default !BT_TBS_CLIENT_MINIMAL
186	help
187	  This option enables support for answering an incoming call.
188
189config BT_TBS_CLIENT_TERMINATE_CALL
190	bool "Support Terminate Call"
191	default !BT_TBS_CLIENT_MINIMAL
192	help
193	  This option enables support for terminating a call.
194
195config BT_TBS_CLIENT_HOLD_CALL
196	bool "Support Hold Call"
197	default !BT_TBS_CLIENT_MINIMAL
198	help
199	  This option enables support for putting a call on hold.
200
201config BT_TBS_CLIENT_RETRIEVE_CALL
202	bool "Support Retrieve Call"
203	default !BT_TBS_CLIENT_MINIMAL
204	help
205	  This option enables support for retrieving a call on hold.
206
207config BT_TBS_CLIENT_ORIGINATE_CALL
208	bool "Support Originate Call"
209	default !BT_TBS_CLIENT_MINIMAL
210	help
211	  This option enables support for originating a call.
212
213config BT_TBS_CLIENT_JOIN_CALLS
214	bool "Support Join Calls"
215	depends on BT_TBS_CLIENT_MAX_CALLS > 1
216	default !BT_TBS_CLIENT_MINIMAL
217	help
218	  This option enables support for joining calls.
219
220config BT_TBS_CLIENT_OPTIONAL_OPCODES
221	bool "Support reading Optional Opcodes"
222	default !BT_TBS_CLIENT_MINIMAL
223	help
224	  This option enables support for reading Optional Opcodes.
225
226config BT_TBS_CLIENT_INCOMING_CALL
227	bool "Support reading Incoming Call"
228	default !BT_TBS_CLIENT_MINIMAL
229	help
230	  This option enables support for reading Incoming Call.
231
232config BT_TBS_CLIENT_CALL_FRIENDLY_NAME
233	bool "Support reading Call Friendly Name"
234	default !BT_TBS_CLIENT_MINIMAL
235	help
236	  This option enables support for reading Call Friendly Name.
237
238endif # BT_TBS_CLIENT
239
240if BT_TBS || BT_TBS_CLIENT
241
242config BT_TBS_MAX_URI_LENGTH
243	int "The maximum length of the call URI supported"
244	default 30
245	range 4 253
246	help
247	  Sets the maximum length of the call URI supported. Note that if this
248	  value is lower than a call URI, the call request will be rejected.
249
250config BT_TBS_MAX_PROVIDER_NAME_LENGTH
251	int "The maximum length of the bearer provider name"
252	default 30
253	range 0 512
254	help
255	  Sets the maximum length of the bearer provider name.
256
257endif # BT_TBS || BT_TBS_CLIENT
258
259endif # BT_AUDIO
260