diff --git a/CHANGELOG.md b/CHANGELOG.md
index b77a4df9e..b21ba6e39 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,11 +9,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
 ## Unreleased
 
 ### Added
+- L2CAP: additional authorization_required param in l2cap_ecbm_register_service  
 - GATT Client: support GATT over Enhanced LE Bearer
 - GATT Server: support GATT over Enhanced LE Bearer
 - LE Device DB: le_device_db_dump dumps LTK
 - Port for Zephyr 3.x
- 
 ### Fixed
 - HCI: fix remove le device from whitelist
 - HFP: use 'don't care' to accept SCO connections, fixes issue on ESP32
diff --git a/src/ble/att_server.c b/src/ble/att_server.c
index b7bd70390..5819eeff4 100644
--- a/src/ble/att_server.c
+++ b/src/ble/att_server.c
@@ -1637,7 +1637,7 @@ uint8_t att_server_eatt_init(uint8_t num_eatt_bearers, uint8_t * storage_buffer,
         eatt_bearer++;
     }
     // TODO: define minimum EATT MTU
-    l2cap_ecbm_register_service(att_server_eatt_handler, BLUETOOTH_PSM_EATT, 64, 0);
+    l2cap_ecbm_register_service(att_server_eatt_handler, BLUETOOTH_PSM_EATT, 64, 0, false);
 
     return 0;
 }
diff --git a/src/l2cap.c b/src/l2cap.c
index a8d718287..aac04cc19 100644
--- a/src/l2cap.c
+++ b/src/l2cap.c
@@ -5245,6 +5245,7 @@ uint8_t l2cap_cbm_register_service(btstack_packet_handler_t packet_handler, uint
     service->mtu = 0;
     service->packet_handler = packet_handler;
     service->required_security_level = security_level;
+    service->requires_authorization = false;
 
     // add to services list
     btstack_linked_list_add(&l2cap_le_services, (btstack_linked_item_t *) service);
@@ -5406,7 +5407,8 @@ uint8_t l2cap_cbm_provide_credits(uint16_t local_cid, uint16_t credits){
 
 #ifdef ENABLE_L2CAP_ENHANCED_CREDIT_BASED_FLOW_CONTROL_MODE
 
-uint8_t l2cap_ecbm_register_service(btstack_packet_handler_t packet_handler, uint16_t psm, uint16_t min_remote_mtu, gap_security_level_t security_level){
+uint8_t l2cap_ecbm_register_service(btstack_packet_handler_t packet_handler, uint16_t psm, uint16_t min_remote_mtu,
+                                    gap_security_level_t security_level, bool authorization_required) {
 
     // check for already registered psm
     l2cap_service_t *service = l2cap_cbm_get_service(psm);
@@ -5426,6 +5428,7 @@ uint8_t l2cap_ecbm_register_service(btstack_packet_handler_t packet_handler, uin
     service->mtu = min_remote_mtu;
     service->packet_handler = packet_handler;
     service->required_security_level = security_level;
+    service->requires_authorization = authorization_required;
 
     // add to services list
     btstack_linked_list_add(&l2cap_enhanced_services, (btstack_linked_item_t *) service);
diff --git a/src/l2cap.h b/src/l2cap.h
index 15b62fa40..0c2695ebe 100644
--- a/src/l2cap.h
+++ b/src/l2cap.h
@@ -418,6 +418,9 @@ typedef struct {
     // required security level
     gap_security_level_t required_security_level;
 
+    // requires authorization
+    bool requires_authorization;
+
 } l2cap_service_t;
 
 
@@ -709,9 +712,11 @@ uint8_t l2cap_cbm_provide_credits(uint16_t local_cid, uint16_t credits);
  * @param psm
  * @param min_remote_mtu
  * @param security_level
+ * @oaram authorization_required
  * @return status
  */
-uint8_t l2cap_ecbm_register_service(btstack_packet_handler_t packet_handler, uint16_t psm, uint16_t min_remote_mtu, gap_security_level_t security_level);
+uint8_t l2cap_ecbm_register_service(btstack_packet_handler_t packet_handler, uint16_t psm, uint16_t min_remote_mtu,
+                                    gap_security_level_t security_level, bool authorization_required);
 
 /**
  * @brief Unregister L2CAP service in Enhanced Credit-Based Flow-Control Mode