http://www.bluetooth.org/Technical/AssignedNumbers/baseband.htm
Bluetooth Baseband
The General- and Device-Specific Inquiry Access Codes (DIACs)
The Inquiry Access Code is the first level of filtering when finding Bluetooth devices and services. The main purpose of defining multiple IACs is to limit the number of responses that are received when scanning devices within range.
# | LAP value | Usage |
---|---|---|
0 | 0x9E8B33 | General/Unlimited Inquiry Access Code (GIAC) |
1 | 0x9E8B00 | Limited Dedicated Inquiry Access Code (LIAC) |
2‑63 | 0x9E8B01-0x9E8B32, 0x9E8B34-0x9E8B3F | RESERVED FOR FUTURE USE |
Table 1: The Inquiry Access Codes
The Limited Inquiry Access Code (LIAC) is only intended to be used for limited time periods in scenarios where both sides have been explicitly caused to enter this state, usually by user action. For further explanation of the use of the LIAC, please refer to the Generic Access Profile.
In contrast it is allowed to be continuously scanning for the General Inquiry Access Code (GIAC) and respond whenever inquired.
The Class of Device/Service field
The Class of Device/Service (CoD) field has a variable format. The format is indicated using the 'Format Type field' within the CoD. The length of the Format Type field is variable and ends with two bits different from '11'. The version field starts at the least significant bit of the CoD and may extend upwards.
In the 'format #1' of the CoD (Format Type field = 00), 11 bits are assigned as a bit-mask (multiple bits can be set) each bit corresponding to a high level generic category of service class. Currently 7 categories are defined. These are primarily of a 'public service' nature. The remaining 11 bits are used to indicate device type category and other device-specific characteristics.
Any reserved but otherwise unassigned bits, such as in the Major Service Class field, should be set to 0.
Figure 1: The Class of Device/Service field (first format type). Please note the order in which the octets are sent on the air and stored in memory. Bit number 0 is sent first on the air.
Major Service Classes
The Major and Minor classes are intended to define a general family of devices with which any particular implementation wishes to be associated. No assumptions should be made about specific functionality or characteristics of any application based solely on the assignment of the Major or Minor device class.
Bit no | Major Service Class |
---|---|
13 | Limited Discoverable Mode [Ref #1] |
14 | (reserved) |
15 | (reserved) |
16 | Positioning (Location identification) |
17 | Networking (LAN, Ad hoc, ...) |
18 | Rendering (Printing, Speaker, ...) |
19 | Capturing (Scanner, Microphone, ...) |
20 | Object Transfer (v-Inbox, v-Folder, ...) |
21 | Audio (Speaker, Microphone, Headset service, ...) |
22 | Telephony (Cordless telephony, Modem, Headset service, ...) |
23 | Information (WEB-server, WAP-server, ...) |
Table 2: Major Service Classes
[Ref #1 See Generic Access Profile (Please refer to the Generic Access Profile within the respective Core Specification)]
Major Device Classes
The Major Class segment is the highest level of granularity for defining a Bluetooth Device. The main function of a device is used to determine the major class grouping. There are 32 different possible major classes. The assignment of this Major Class field is defined in Table 1.3.
12 | 11 | 10 | 9 | 8 | Major Device Class |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | Miscellaneous [Ref #2] |
0 | 0 | 0 | 0 | 1 | Computer (desktop,notebook, PDA, organizers, .... ) |
0 | 0 | 0 | 1 | 0 | Phone (cellular, cordless, payphone, modem, ...) |
0 | 0 | 0 | 1 | 1 | LAN /Network Access point |
0 | 0 | 1 | 0 | 0 | Audio/Video (headset,speaker,stereo, video display, vcr..... |
0 | 0 | 1 | 0 | 1 | Peripheral (mouse, joystick, keyboards, ..... ) |
0 | 0 | 1 | 1 | 0 | Imaging (printing, scanner, camera, display, ...) |
0 | 0 | 1 | 1 | 1 | Wearable |
0 | 1 | 0 | 0 | 0 | Toy |
0 | 1 | 0 | 0 | 1 | Health |
1 | 1 | 1 | 1 | 1 | Uncategorized, specific device code not specified |
X | X | X | X | X | All other values reserved |
Table 3: Major Device Classes
[Ref #2: Used where a more specific Major Device Class code is not suited (but only as specified in this document). Devices that do not have a major class code assigned can use the all-1 code until 'classified']
The Minor Device Class field
The 'Minor Device Class field' (bits 7 to 2 in the CoD), are to be interpreted only in the context of the Major Device Class (but independent of the Service Class field). Thus the meaning of the bits may change, depending on the value of the 'Major Device Class field'. When the Minor Device Class field indicates a device class, then the primary device class should be reported, e.g. a cellular phone that can also work as a cordless handset should use 'Cellular' in the minor device class field.
Minor Device Class field - Computer Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Uncategorized, code for device not assigned |
0 | 0 | 0 | 0 | 0 | 1 | Desktop workstation |
0 | 0 | 0 | 0 | 1 | 0 | Server-class computer |
0 | 0 | 0 | 0 | 1 | 1 | Laptop |
0 | 0 | 0 | 1 | 0 | 0 | Handheld PC/PDA (clam shell) |
0 | 0 | 0 | 1 | 0 | 1 | Palm sized PC/PDA |
0 | 0 | 0 | 1 | 1 | 0 | Wearable computer (Watch sized) |
X | X | X | X | X | X | All other values reserved |
Table 4: Sub Device Class field for the 'Computer' Major Class
Minor Device Class field - Phone Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Uncategorized, code for device not assigned |
0 | 0 | 0 | 0 | 0 | 1 | Cellular |
0 | 0 | 0 | 0 | 1 | 0 | Cordless |
0 | 0 | 0 | 0 | 1 | 1 | Smart phone |
0 | 0 | 0 | 1 | 0 | 0 | Wired modem or voice gateway |
0 | 0 | 0 | 1 | 0 | 1 | Common ISDN Access |
X | X | X | X | X | X | All other values reserved |
Table 5: Sub Device Classes for the 'Phone' Major Class
Minor Device Class field - LAN/Network Access Point Major Class
7 | 6 | 5 | Minor Device Class bit no of CoD |
---|---|---|---|
0 | 0 | 0 | Fully available |
0 | 0 | 1 | 1 - 17% utilized |
0 | 1 | 0 | 17 - 33% utilized |
0 | 1 | 1 | 33 - 50% utilized |
1 | 0 | 0 | 50 - 67% utilized |
1 | 0 | 1 | 67 - 83% utilized |
1 | 1 | 0 | 83 - 99% utilized |
1 | 1 | 1 | No service available |
X | X | X | All other values reserved |
Table 6: The LAN/Network Access Point Load Factor field
The exact loading formula is not standardized. It is up to each LAN/Network Access Point implementation to determine what internal conditions to report as a utilization percentage. The only requirement is that the number reflects an ever-increasing utilization of communication resources within the box. As a recommendation, a client that locates multiple LAN/Network Access Points should attempt to connect to the one reporting the lowest load.
4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|
0 | 0 | 0 | Uncategorized (use this value if no other apply) |
X | X | X | All other values reserved |
Table 7: Reserved sub-field for the LAN/Network Access Point
Minor Device Class field - Audio/Video Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Uncategorized, code not assigned |
0 | 0 | 0 | 0 | 0 | 1 | Wearable Headset Device |
0 | 0 | 0 | 0 | 1 | 0 | Hands-free Device |
0 | 0 | 0 | 0 | 1 | 1 | (Reserved) |
0 | 0 | 0 | 1 | 0 | 0 | Microphone |
0 | 0 | 0 | 1 | 0 | 1 | Loudspeaker |
0 | 0 | 0 | 1 | 1 | 0 | Headphones |
0 | 0 | 0 | 1 | 1 | 1 | Portable Audio |
0 | 0 | 1 | 0 | 0 | 0 | Car audio |
0 | 0 | 1 | 0 | 0 | 1 | Set-top box |
0 | 0 | 1 | 0 | 1 | 0 | HiFi Audio Device |
0 | 0 | 1 | 0 | 1 | 1 | VCR |
0 | 0 | 1 | 1 | 0 | 0 | Video Camera |
0 | 0 | 1 | 1 | 0 | 1 | Camcorder |
0 | 0 | 1 | 1 | 1 | 0 | Video Monitor |
0 | 0 | 1 | 1 | 1 | 1 | Video Display and Loudspeaker |
0 | 1 | 0 | 0 | 0 | 0 | Video Conferencing |
0 | 1 | 0 | 0 | 0 | 1 | (Reserved) |
0 | 1 | 0 | 0 | 1 | 0 | Gaming/Toy |
X | X | X | X | X | X | All other values reserved |
Table 8: Sub Device Classes for the 'Audio/Video' Major Class
Minor Device Class field - Peripheral Major Class
7 | 6 | Minor Device Class bit no of CoD |
---|---|---|
0 | 0 | Not Keyboard / Not Pointing Device |
0 | 1 | Keyboard |
1 | 0 | Pointing device |
1 | 1 | Combo keyboard/pointing device |
Table 9: The Peripheral Major Class keyboard/pointing device field
Bits 6 and 7 independently specify mouse, keyboard or combo mouse/keyboard devices. These may be combined with the lower bits in a multifunctional device.
5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|
0 | 0 | 0 | 0 | Uncategorized device |
0 | 0 | 0 | 1 | Joystick |
0 | 0 | 1 | 0 | Gamepad |
0 | 0 | 1 | 1 | Remote control |
0 | 1 | 0 | 0 | Sensing device |
0 | 1 | 0 | 1 | Digitizer tablet |
0 | 1 | 1 | 0 | Card Reader (e.g. SIM Card Reader) |
0 | 1 | 1 | 1 | Digital Pen |
1 | 0 | 0 | 0 | Handheld scanner for bar-codes, RFID, etc. |
1 | 0 | 0 | 1 | Handheld gestural input device (e.g., "wand" form factor) |
X | X | X | X | All other values reserved |
Table 10: Minor Class bits 2 to 5 for Peripheral Major Class
Minor Device Class field - Imaging Major Class
7 | 6 | 5 | 4 | Minor Device Class bit no of CoD |
---|---|---|---|---|
X | X | X | 1 | Display |
X | X | 1 | X | Camera |
X | 1 | X | X | Scanner |
1 | X | X | X | Printer |
X | X | X | X | All other values reserved |
Table 11: The Imaging Major Class bits 4 to 7
Bits 4 to 7 independantly specify display, camera, scanner or printer. These may be combined in a multifunctional device.
3 | 2 | Minor Device Class bit no of CoD |
---|---|---|
0 | 0 | Uncategorized, default |
X | X | All other values reserved |
Table 12: The Imaging Major Class bits 2 and 3
Bits 2 and 3 are reserved
Minor Device Class field - Wearable Major Class
The Minor Class segment is the lowest level of granularity for defining a Bluetooth Device. There are 64 different possible minor classes.
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | Wrist Watch |
0 | 0 | 0 | 0 | 1 | 0 | Pager |
0 | 0 | 0 | 0 | 1 | 1 | Jacket |
0 | 0 | 0 | 1 | 0 | 0 | Helmet |
0 | 0 | 0 | 1 | 0 | 1 | Glasses |
X | X | X | X | X | X | All other values reserved |
Minor Device Class field - Toy Major Class
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 1 | Robot |
0 | 0 | 0 | 0 | 1 | 0 | Vehicle |
0 | 0 | 0 | 0 | 1 | 1 | Doll / Action Figure |
0 | 0 | 0 | 1 | 0 | 0 | Controller |
0 | 0 | 0 | 1 | 0 | 1 | Game |
X | X | X | X | X | X | All other values reserved |
Minor Device Class field - Health
7 | 6 | 5 | 4 | 3 | 2 | Minor Device Class bit no of CoD |
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | Undefined |
0 | 0 | 0 | 0 | 0 | 1 | Blood Pressure Monitor |
0 | 0 | 0 | 0 | 1 | 0 | Thermometer |
0 | 0 | 0 | 0 | 1 | 1 | Weighing Scale |
0 | 0 | 0 | 1 | 0 | 0 | Glucose Meter |
0 | 0 | 0 | 1 | 0 | 1 | Pulse Oximeter |
0 | 0 | 0 | 1 | 1 | 0 | Heart/Pulse Rate Monitor |
0 | 0 | 0 | 1 | 1 | 1 | Health Data Display |
0 | 0 | 1 | 0 | 0 | 0 | Step Counter |
0 | 0 | 1 | 0 | 0 | 1 | Body Composition Analyzer |
0 | 0 | 1 | 0 | 1 | 0 | Peak Flow Monitor |
0 | 0 | 1 | 0 | 1 | 1 | Medication Monitor |
0 | 0 | 1 | 1 | 0 | 0 | Knee Prosthesis |
0 | 0 | 1 | 1 | 0 | 1 | Ankle Prosthesis |
0 | 0 | 1 | 1 | 1 | 0 | Generic Health Manager |
0 | 0 | 1 | 1 | 1 | 1 | Personal Mobility Device |
X | X | X | X | X | X | All other values reserved |