Supplement To The Bluetooth Core Specification
Supplement To The Bluetooth Core Specification
Supplement To The Bluetooth Core Specification
▪ Revision: v9
▪ Revision Date: 2019-12-31
▪ Group Prepared By: Core Specification Working Group
▪ Feedback Email: core-main@bluetooth.org
Abstract:
This supplement contains information related to data types, common Profile and Service error
codes, and enumerates the services permitted to use Security Mode 4 Level 0.
TABLE OF CONTENTS
Part A
DATA TYPES SPECIFICATION
1 Data Types definitions and formats ................................................... 9
1.1 Service UUID ............................................................................. 10
1.1.1 Description .................................................................... 10
1.1.2 Format........................................................................... 11
1.2 Local name ................................................................................ 11
1.2.1 Description .................................................................... 11
1.2.2 Format .......................................................................... 11
1.3 Flags .......................................................................................... 12
1.3.1 Description .................................................................... 12
1.3.2 Format........................................................................... 12
1.4 Manufacturer Specific Data ....................................................... 13
1.4.1 Description .................................................................... 13
1.4.2 Format........................................................................... 13
1.5 TX Power Level ......................................................................... 13
1.5.1 Description .................................................................... 13
1.5.2 Format........................................................................... 14
1.6 Secure Simple Pairing Out of Band (OOB)................................ 14
1.6.1 Description .................................................................... 14
1.6.2 Format........................................................................... 14
1.7 Security Manager Out of Band (OOB) ....................................... 15
1.7.1 Description .................................................................... 15
1.7.2 Format........................................................................... 15
1.8 Security Manager TK Value ....................................................... 16
1.8.1 Description .................................................................... 16
1.8.2 Format........................................................................... 16
1.9 Slave Connection Interval Range .............................................. 16
1.9.1 Description .................................................................... 16
1.9.2 Format........................................................................... 17
1.10 Service Solicitation .................................................................... 17
1.10.1 Description .................................................................... 17
1.10.2 Format........................................................................... 17
1.11 Service Data .............................................................................. 18
1.11.1 Description .................................................................... 18
1.11.2 Format........................................................................... 18
1.12 Appearance ............................................................................... 18
Part B
COMMON PROFILE AND SERVICE ERROR CODES
1 Overview of Common Profile and Service Error Codes................. 32
1.1 Usage Descriptions ................................................................... 32
1.2 List of Error Codes..................................................................... 32
2 Common Profile and Service Error Code Descriptions ................. 33
2.1 Out of Range (0xFF).................................................................. 33
2.2 Procedure Already in Progress (0xFE) ...................................... 33
2.3 Client Characteristic Configuration Descriptor Improperly
Configured (0xFD) ..................................................................... 33
2.4 Write Request Rejected (0xFC)................................................. 33
Part C
SERVICES PERMITTED TO USE SECURITY MODE 4 LEVEL 0
1 Services Permitted to use Security Mode 4 Level 0 ....................... 36
1.1 Security Mode 4 Level 0 over L2CAP Connection-oriented
Channels ................................................................................... 36
1.2 Security Mode 4 Level 0 over the L2CAP Connectionless Data
Channel ..................................................................................... 36
CONTENTS
This part defines the basic data types used for Extended Inquiry Response
(EIR), Advertising Data (AD), Scan Response Data (SRD), Additional
Controller Advertising Data (ACAD), and OOB data blocks. Additional data
types may be defined in profile specifications.
Each data type shall only be used in accordance with the requirements
specified in Table 1.1.
Context
The values for the data types are listed in Assigned Numbers.
All numerical multi-byte entities and values associated with the following data
types shall use little-endian byte order.
1.1.1 Description
The Service UUID data type is used to include a list of Service or Service Class
UUIDs.
There are six data types defined for the three sizes of Service UUIDs that may
be returned:
• 16-bit Bluetooth Service UUIDs
• 32-bit Bluetooth Service UUIDs
• Global 128-bit Service UUIDs
Two Service UUID data types are assigned to each size of Service UUID. One
Service UUID data type indicates that the Service UUID list is incomplete and
the other indicates the Service UUID list is complete.
A packet or data block shall not contain more than one instance for each
Service UUID data size. If a device has no Service UUIDs of a certain size,
16-, 32-, or 128-bit, the corresponding field in the extended inquiry response or
advertising data packet shall be marked as complete with no Service UUIDs.
An omitted Service UUID data type shall be interpreted as an empty
incomplete-list.
16-bit and 32-bit UUIDs shall only be used if they are assigned by the
Bluetooth SIG. The Bluetooth SIG may assign 16-bit and 32-bit UUIDs to
member companies or organizations.
1.1.2 Format
«Incomplete List of 16-bit Service UUIDs» More 16-bit Service UUIDs available
«Complete List of 16-bit Service UUIDs» Complete list of 16-bit Service UUIDs
«Incomplete List of 32-bit Service UUIDs» More 32-bit Service UUIDs available
«Complete List of 32-bit Service UUIDs» Complete list of 32-bit Service UUIDs
«Incomplete List of 128-bit Service UUIDs» More 128-bit Service UUIDs available
«Complete List of 128-bit Service UUIDs» Complete list of 128-bit Service UUIDs
1.2.1 Description
The Local Name data type shall be the same as, or a shortened version of, the
local name assigned to the device. The Local Name data type value indicates if
the name is complete or shortened. If the name is shortened, the complete
name can be read using the remote name request procedure over BR/EDR or
by reading the device name characteristic after the connection has been
established using GATT.
A shortened name shall only contain contiguous characters from the beginning
of the full name. For example, if the device name is ‘BT_Device_Name’ then
the shortened name could be ‘BT_Device’ or ‘BT_Dev’.
1.2.2 Format
1.3 FLAGS
1.3.1 Description
The Flags data type contains one bit Boolean flags. The Flags data type shall
be included when any of the Flag bits are non-zero and the advertising packet
is connectable, otherwise the Flags data type may be omitted. All 0x00 octets
after the last non-zero octet shall be omitted from the value transmitted.
1.3.2 Format
The Flags field may be zero or more octets long. This allows the Flags field to
be extended while using the minimum number of octets within the data packet.
1.4.1 Description
The Manufacturer Specific data type is used for manufacturer specific data.
The first two data octets shall contain a company identifier from Assigned
Numbers. The interpretation of any other octets within the data shall be defined
by the manufacturer specified by the company identifier.
1.4.2 Format
1.5.1 Description
The TX Power Level data type indicates the transmitted power level of the
packet containing the data type. The TX Power Level should be the radiated
power level. The TX Power Level data type may be used to calculate path loss
on a received packet using the following equation:
where “RSSI” is the received signal strength, in dBm, of the packet received.
For example, if Tx Power Level = +4 (dBm) and the RSSI on the received
packet is -60 (dBm) then the total path loss is +4 – (-60) = +64 dB. If a second
packet were received at -40 dBm with a Tx Power Level data type = +15 dBm
the resulting pathloss would be +55 dB. An application could use these
pathloss values to choose which device it thinks might be closer (the one with
the lower pathloss value).
Note: When the TX Power Level data type is not present, the TX power level of
the packet is unknown.
1.5.2 Format
1.6.1 Description
The Secure Simple Pairing Out of Band data types enable an out of band
mechanism to communicate discovery information as well as other information
related to the pairing process.
1.6.2 Format
The Secure Simple Pairing Out of Band data types shall be encapsulated in a
OOB data block as defined in [Vol 3] Part C, Section 5.2.2.7. The OOB data
block consists of the mandatory part with fields SSP OOB Length and
BD_ADDR as described in Table 1.7, followed by optional data types described
in Table 1.8.
Field Description
Table 1.8: Data types for OOB data block optional parts
Table 1.8: Data types for OOB data block optional parts
1.7.1 Description
The Security Manager Out of Band data type allows an out of band mechanism
to be used by the Security Manager to communicate discovery information as
well as other information related to the pairing process.
1.7.2 Format
1.8.1 Description
The Security Manager TK Value data type allows an out of band mechanism to
be used by the Security Manager to communicate the TK value.
1.8.2 Format
1.9.1 Description
The Slave Connection Interval Range data type contains the Peripheral’s
preferred connection interval range, for all logical connections. See [Vol 3] Part
C, Section 12.3.
The Central should use the information from the Peripheral’s Slave Connection
Interval Range data type when establishing a connection.
Note: Central and Peripheral are GAP roles as defined in [Vol 3] Part C,
Section 2.2.2.
1.9.2 Format
1.10.1 Description
A Peripheral device may send the Service Solicitation data type to invite Central
devices that expose one or more of the services specified in the Service
Solicitation data to connect. The Peripheral device should be in the undirected
connectable mode and in one of the discoverable modes. This enables a Central
device providing one or more of these services to connect to the Peripheral
device, so that the Peripheral device can use the services on the Central device.
Note: Central and Peripheral are GAP roles as defined in [Vol 3] Part C,
Section 2.2.2.
1.10.2 Format
«List of 16 bit Service Solicitation UUIDs» List of 16 bit Service Solicitation UUIDs
«List of 32 bit Service Solicitation UUIDs» List of 32 bit Service Solicitation UUIDs
«List of 128 bit Service Solicitation UUIDs» List of 128 bit Service Solicitation UUIDs
1.11.1 Description
The Service Data data type consists of a service UUID with the data associated
with that service.
1.11.2 Format
1.12 APPEARANCE
1.12.1 Description
The Appearance data type defines the external appearance of the device.
1.12.2 Format
1.13.1 Description
The Public Target Address data type defines the address of one or more
intended recipients of an advertisement when one or more devices were
bonded using a public address. This data type is intended to be used to avoid a
situation where a bonded device unnecessarily responds to an advertisement
intended for another bonded device.
1.13.2 Format
1.14.1 Description
The Random Target Address data type defines the address of one or more
intended recipients of an advertisement when one or more devices were
bonded using a random address. This data type is intended to be used to avoid
a situation where a bonded device unnecessarily responds to an advertisement
intended for another bonded device.
1.14.2 Format
1.15.1 Description
The Advertising Interval data type contains the advInterval value as defined in
[Vol 6] Part B, Section 4.4.2.2.
1.15.2 Format
1.16.1 Description
The LE Bluetooth Device Address data type defines the device address of the
local device and the address type on the LE transport.
1.16.2 Format
1.17 LE ROLE
1.17.1 Description
The LE Role data type defines the LE role capabilities of the device.
1.17.2 Format
1.18.1 Description
The URI data type allows the representation of a URI, as defined in IETF STD
66. The URI data type is encoded using UTF-8. To help with compression, the
first UTF-8 code point in the URI data type value represents a scheme name
string, as defined below. All other UTF-8 code points in the URI data type shall
be appended to the decompressed scheme name string and the result forms
the URI.
The code point of U+0001 shall be used when the scheme used is not defined
as either a permanent or provisional scheme. This code point maps to the
empty scheme name string.
When U+0001 is used, the actual scheme and ":" shall be included in the
remaining UTF-8 code points. Except for the special case of U+0001, the
decompressed scheme name string includes the “:” that separates the scheme
from the remainder (the “hier-part”) of the URI.
1.18.2 Format
1.19.1 Description
The LE Supported Features data type defines the LE features supported by the
device. All 0x00 octets after the last non-zero octet shall be omitted from the
value transmitted.
1.19.2 Format
The LE Supported Features data type size is zero or more octets long. This
allows the LE Supported Features to be represented while using the minimum
number of octets within the data packet.
«LE Supported Features» The format is the same as the FeatureSet defined in
[Vol 6] Part B, Section 4.6.
1.20.1 Description
The channel map used before the instant is known as channelMapOLD. The
channel map contained in the Channel Map Update Indication data type and
used at the instant and after, is known as channelMapNEW.
The Instant field shall be used to indicate the paEventCount value when
channelMapNEW shall apply; this value is called the instant.
Upon first transmission of the data type the advertiser should allow a minimum
of 6 AUX_SYNC_IND PDUs before the instant occurs.
The advertiser shall not send a new Channel Map Update Indication data type
before the instant.
1.20.2 Format
5-6 Instant
The ChM field shall contain the channel map indicating Used and Unused data
channels. The format of this field is identical to the ChM field in the
CONNECT_IND PDU (see [Vol 6] Part B, Section 2.3.3.1).
The Instant field shall be set to indicate the instant as described in Section
1.20.1.
1.21 BIGINFO
1.21.1 Description
The BIGInfo data type contains the necessary information for a Synchronized
Receiver to synchronize to a BIG that is being broadcast by an Isochronous
Broadcaster.
1.21.2 Format
1.22 BROADCAST_CODE
1.22.1 Description
1.22.2 Format
2 EXAMPLES
The following sections include examples of EIR and Advertising Data Types.
This is an example extended inquiry response for a phone with PANU and
Hands-free Audio Gateway:
Value Notes
0x50 'P'
0x68 'h'
0x6F 'o'
0x6E 'n'
0x65 'e'
0x11
0x11
Value Notes
0x01 «Flags»
0x50 ‘P’
0x65 ‘e’
0x64 ‘d’
0x6F ‘o’
0x6D ‘m’
0x65 ‘e’
0x74 ‘t’
0x65 ‘e’
0x72 ‘r’
Value Notes
0x24 «URI»
0x2F ‘/’
0x2F ‘/’
0x77 ‘w’
0x77 ‘w’
0x77 ‘w’
0x2E ‘.’
0x62 ‘b’
0x6C ‘l’
0x75 ‘u’
0x65 ‘e’
0x74 ‘t’
0x6F ‘o’
0x6F ‘o’
0x74 ‘t’
0x68 ‘h’
0x2E ‘.’
0x63 ‘c’
0x6F ‘o’
0x6D ‘m’
Table 2.3: Example advertising data with a URI data type for http://www.bluetooth.com
Value Notes
0x24 «URI»
0x2F '/'
0x2F '/'
0x7A 'z'
0x2E '.'
0x63 'c'
0x6F 'o'
0x6D 'm'
0x2F '/'
0x6C 'l'
0x62 'b'
0x6F 'o'
0x72 'r'
0x67 'g'
Table 2.4: Example advertising data with a URI data type for example://z.com/Ålborg
Value Notes
0xF7
0xFF
0xFF
0x1F
0x00
CONTENTS
This document lists the common profile and service error codes sent over the
Attribute Protocol. Error codes have a size of one octet.
Values marked as “Reserved for Future Use”, can be used in future versions of
the specification.
Overview of Common Profile and Service Error Codes Revision Date: 2019-12-31
Bluetooth SIG Proprietary
Supplement to Bluetooth Core Specification | CSS v9, Part B page 33
Common Profile and Service Error Code Descriptions Revision Date: 2019-12-31
Bluetooth SIG Proprietary
Supplement to Bluetooth Core Specification
Part C
CONTENTS
The following sections enumerate the services permitted to use Security Mode
4 Level 0 as defined in Volume 3, Part C, of the Bluetooth Core Specification,
v2.1 + EDR and later.
Section 1.1 enumerates those services that are permitted to use Security Mode
4 Level 0 over L2CAP connection oriented channels and Section 1.2
enumerates those services that are permitted to use Security Mode 4 Level 0
for unicast traffic over the L2CAP connectionless data channel (CID 0x0002).
Note: Security Mode 4 does not address broadcast traffic and hence this
section is not relevant to broadcast data sent over the L2CAP connectionless
data channel.