GATT Service Discovery Failure on SIG BASE UUID

Support,

I've encountered a challenge while integrating my product with device from a third-party. Unfortunately, they've utilized the SIG base UUID for their unregistered vendor services, and with their product already on the market for a few years, they've expressed no intention to revise this approach. I'm integrating with two of their devices, which I'll distinguish as device A and device B for our discussion. Establishing a connection with device A poses no issue, as its service characteristics are easily discoverable due to the use of 16-bit UUIDs. However, with device B, their oldest product, I'm not as fortunate. During the discovery process on device B, I encounter the error BLE_GATT_STATUS_ATTERR_ATTRIBUTE_NOT_FOUND. Research conducted using tools such as nRF Connect for both iOS and desktop reveals differences in how devices A and B present their services and characteristics. I have attached screenshots and logs from these tools for reference. From what I've gathered from another topic on this support site, the Softdevice manages the SIG Base UUID internally in a manner that I haven't fully grasped yet. It seems like I need to adopt an approach where I utilize the full 128-bit UUID instead of the 16-bit UUID for service discovery. From the log screenshots below, you can clearly see the differences between the to devices.  However, I'm uncertain how to implement this when the SIG base UUID is in use, which is causing some confusion in getting this to work. I've reached the limits of my knowledge in resolving this issue and need assistance from support to guide me toward a solution. Are there questions I'm overlooking, and do you fully grasp my problem? If so, is there a viable path to resolving it? Thank you.

This screenshot merges the log outputs from nRF Connect for iOS. As evident, the implementation of the SIG Base UUID appears to vary slightly in the way it's being published. I'm having difficulty comprehending these two differences: the utilization of 128-bit and 16-bit UUIDs.

Here's a screenshot of the device connect to nRF Connect for Desktop

   

As always, thank you for the amazing support!

Related