3.2.1 Abstract Data Model
This section describes a conceptual model of possible data organization that an implementation maintains to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model as long as their external behavior is consistent with that described in this document.
State: Specifies the server state which can be one of the following: IDLE, CONNECTED, WAITING_FOR_PAIRING, WAITING_FOR_CHALLENGE_RESPONSE, WAITING_FOR_CHALLENGE_REQUEST, WAITING_FOR_DISCONNECT, FATAL_ERROR, and PAUSING.
Client Address: The Bluetooth address of the connected client.
Shared Secret: A 128 byte BLOB that contains the shared secret.
Expected Response: A 32 byte BLOB that contains the expected response value.
Numeric Value: A six-digit confirmation value (PIN).
Consecutive Failure Count: An integer value representing the number of consecutive pairing attempts that have failed.