3.1 Client Details
The client establishes an unauthenticated RFCOMM connection with the server to execute the Automatic Bluetooth Pairing Protocol.
The client executes a state machine to initiate and authenticate the Bluetooth pairing.
The client sends a PairingRequired message (section 18.104.22.168) to the server and waits for the server to respond.
After receiving a ReadyToPair message (section 22.214.171.124) from the server, the client initiates the Bluetooth pairing with a numeric comparison procedure. The client then waits for the server to initiate challenge/response authentication.
After receiving the Challenge message (section 126.96.36.199) from the server, the client computes the corresponding response value and returns the value to the server by sending a Response message (section 188.8.131.52).
The client authenticates the server by generating a random challenge and sending it to the server by using a Challenge message (section 184.108.40.206).
The client waits for the server to return a Response message (section 220.127.116.11).
After receiving the Response message, the client validates the response value. If the validation succeeds, the client completes the pairing with the server. If the validation fails, the client aborts the pairing with the server.
Figure 2: Client state diagram