Questions on CCCD and WRITE property for GATT Server

Hello Nordic Team,

From the below link and few other sources

nRF52840 SDK16 - BLE Descriptors and Notifications - Nordic Q&A - Nordic DevZone - Nordic DevZone (nordicsemi.com)

I can understand that Notification enabling and transfer from BLR Peripheral can be done only thorugh CCCD approach.

I have a BLE Central (Own Android Custom BLE Mobile Application) and BLE Peripheral(nRF52833 DK).

Here as normal, GATT Client is our Android Custom BLE Mobile Application and GATT Server is our nRF DK

nRF DK runs with Light switch Client application with own Service and Characteristic with NOTFIY, READ and WRITE properties as shown below

I have 3 questions,

1. UUID of CCCD has to be only 2902 always, is there any custom UUID can be assigned to it ? I feel its not possible in nRF SD but please confirm on the same because we have our own BLE Central Application which has to work with custom UUID for descriptors.

2. I have done adding a custom descriptor to my Custom Characteristic. But I see there is no option to enable Notify option for Descriptors. This is normal according to Spec right ?

3. For Sending data through Characteristic from BLE Server since there is WRITE Property enabled, how can I transfer packet through Characteristic to GATT client instead of notification.

Please provide your feedback on the above points at earliest 

Thanks and Regards,

Sarjoon.

Parents
  • Hello,

    1. The CCCD is always identified with 0x2902 as required by the specification. Your custom UUIDs are for the service and characteristic declarations.

    2. You can't enable notifications no. The CCCD value should only change if the client is writing to it. The Server should not update it by itself.

    3. Only GATT Clients can issue write commands. A GATT server can only send notifications/indications or respond to requests from the client.

    Best regards,

    Vidar

Reply
  • Hello,

    1. The CCCD is always identified with 0x2902 as required by the specification. Your custom UUIDs are for the service and characteristic declarations.

    2. You can't enable notifications no. The CCCD value should only change if the client is writing to it. The Server should not update it by itself.

    3. Only GATT Clients can issue write commands. A GATT server can only send notifications/indications or respond to requests from the client.

    Best regards,

    Vidar

Children
No Data
Related