2.2.2.2.3 Bluetooth: Advertising Beacon
This is the basic beacon structure:
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.