This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2640R2F: Service Discovery Response

Part Number: CC2640R2F

Dear Experts,

assuming we are GATT server and get a Service Discovery Request from GATT client.

Is there something we need to take care of or is the Service Discovery Response sent by the BLE stack automatically with the previously configured profile/service/char/attribute table?

Is there a way to deny the response or only answer with a pre-defined subset of services?

Or maybe something like a white-list for service discovery response?

We would like to prevent every previously unknown device to get a view on all of the supported services. Only after a successful authentication we would like to allow the full view of supported services.


I checked the CoreSpec, but could not find any hints, if something like that is possible ... rather the opposite.

Many thanks and best regards,

Rogerg

  • Hello Rogerg,

    It is not possible to inhibit GATT service discovery in BLE. You can protect read/write access to underlying characteristic data to authorized clients though.

    See BLUETOOTH SPECIFICATION Version 4.2 [Vol 3, Part G], Generic Attribute Profile (GATT), 3.1 SERVICE DEFINITION:
    "The Attribute Permissions shall be read-only and shall not require authentication or authorization."

    My advice would be to use 128-bit random UUIDs and limit the use of Characteristic Descriptors in your service.

    Best wishes