Registry Coverage¶
Quick reference for Bluetooth SIG registry implementation status. Registry source files are located in bluetooth_sig/assigned_numbers/.
Implementation Summary¶
Folder |
Source Files |
Implemented |
Status |
|---|---|---|---|
|
12 |
12 |
✅ Complete |
|
16 |
5 |
🔄 Partial |
|
1 |
1 |
✅ Complete |
|
15 |
0 |
❌ Out of scope |
|
49 |
0 |
🔄 As needed |
|
28 |
0 |
❌ Out of scope |
Note
Mesh, SDP, and Classic Bluetooth registries are out of scope—this library focuses on BLE GATT. See Limitations.
Communication Registries¶
Registries used during active BLE communication: scanning, service discovery, characteristic read/write, and notifications.
GATT Operations (Required)¶
These registries are required for core GATT functionality—service discovery, characteristic parsing, and data encoding/decoding.
Registry Class |
Source File |
Runtime Usage |
|---|---|---|
|
|
Service discovery—resolves service UUIDs |
|
|
Characteristic lookup—UUID ↔ parser mapping |
|
|
Descriptor identification in GATT table |
|
|
Unit resolution for CPF descriptors and values |
|
|
CPF format field → type name ( |
Advertising & Beacons¶
Essential for passive scanning and beacon-based sensors (temperature, proximity, asset tracking).
Registry Class |
Source File |
Runtime Usage |
|---|---|---|
|
|
Validates AD structure types during scan parsing |
|
|
Decodes device appearance (watch, thermometer) |
|
|
Manufacturer ID → name (Apple, Nordic, etc.) |
|
|
Classic BT Class of Device in dual-mode ads |
Tip
Many low-power sensors broadcast data via manufacturer-specific advertising packets. The CompanyIdentifiersRegistry resolves the 16-bit manufacturer ID, enabling proper routing to vendor-specific decoders.
CPF Descriptor Resolution¶
Registry Class |
Source File |
Runtime Usage |
|---|---|---|
|
|
CPF description field → name (e.g., “left”, “first”) |
Tip
The CPF (Characteristic Presentation Format) descriptor has a description field that, when namespace=0x01 (Bluetooth SIG), resolves to human-readable names. This enables automatic resolution of position indicators like “left”, “right”, “front” or ordinals like “first”, “second” in multi-sensor devices.
URI Beacon Parsing¶
Registry Class |
Source File |
Runtime Usage |
|---|---|---|
|
|
Decodes compressed URI scheme codes in advertising data |
Tip
The Bluetooth SIG URI AD type (0x24) uses a compressed format where the first byte is a scheme code. For example, 0x16 = “http:” and 0x17 = “https:”. The UriSchemesRegistry decodes these codes, enabling Eddystone URL beacon parsing and other URI-based beacon formats.
Planned Communication Registries¶
Registry |
Source File |
Use Case |
Priority |
|---|---|---|---|
|
|
LE Audio codec negotiation (LC3, etc.) |
Medium |
Static Registries¶
Reference registries for UUID lookups, protocol identification, and metadata. Not used during active communication but useful for documentation, debugging, and completeness.
UUID Reference Tables¶
Registry Class |
Source File |
Purpose |
|---|---|---|
|
|
GATT declaration type names |
|
|
SIG member organisation UUIDs |
|
|
Protocol UUID reference |
|
|
Standards organisation IDs |
|
|
Classic BT service class UUIDs |
|
|
Object Transfer Service types |
|
|
SDP browse group identifiers |
|
|
Mesh profile UUID mappings |
Out of Scope¶
Folder |
Files |
Reason |
|---|---|---|
|
15 |
Mesh networking—different protocol stack |
|
28 |
SDP for Classic Bluetooth, not BLE |
Profile-Triggered Registries¶
Registries in profiles_and_services/ are loaded on-demand when corresponding GATT characteristics are implemented:
Profile |
Files |
Trigger Characteristics |
|---|---|---|
LE Audio |
26 |
ASCS, PACS, BAP service parsing |
ESL |
1 |
Electronic Shelf Label GATT |
TBS |
1 |
Telephone Bearer Service |
TDS |
1 |
Transport Discovery Service |
Priority Roadmap¶
LE Audio Foundation¶
Coding Format Registry — 9-entry registry for codec identification. Required foundation before implementing LE Audio characteristics (LC3, vendor codecs).
As Needed¶
Profile registries added when corresponding characteristics are implemented. No preemptive loading to minimise startup overhead.
Legend: ✅ Implemented | 🔄 Planned | ❌ Out of scope
See Also¶
Registry System Architecture — Implementation details
Supported Characteristics — Full characteristic list
Limitations — Scope boundaries