2.2.2.2.3 Bluetooth: Advertising Beacon

This is the basic beacon structure:


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Length

0xFF

Microsoft ID

Beacon Data (24 bytes)

...

...

Length (1 byte): Set to 30 (0x1E).

0xFF (1 byte): Fixed value 0xFF.

Microsoft ID (2 bytes): Set to 0006

Beacon Data (24 bytes): The beacon data section is further broken down. Note that the Scenario and Subtype Specific Data section requirements will differ based on the Scenario and Subtype.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Scenario Type

Version and Device Type

Version and Flags

Reserved

Salt

Device Hash (16 bytes)

...

...

Scenario Type (1 byte): Set to 1

Version and Device Type (1 byte): The high two bits are set to 00 for the version number; the lower6 bits are set to Device Type values as in section 2.2.2.2.2:

Value

Meaning

1

Xbox One

6

Apple iPhone

7

Apple iPad

8

Android device

9

Windows 10 Desktop

11

Windows 10 Phone

12

Linus device

13

Windows IoT

14

Surface Hub

Version and Flags (1 byte): The high 3 bits are set to 001; the lower 3 bits to 00000.

Reserved (1 byte): Currently set to zero.

Salt (4 bytes): Four random bytes.

Device Hash (16 bytes): SHA256 Hash of Salt plus Device Thumbprint. Truncated to 16 bytes.