3.2.7.3 Pairing indication

When the Bluetooth layer indicates that a pairing attempt has to be authenticated, the server compares its state to the WAITING_FOR_PAIRING state, compares the indicated peer address with the Client Address (section 3.2.1), and compares the indicated authentication method to the numeric comparison value. If all values match, the server MUST store the indicated Numeric Value (section 3.2.1). The server MUST then create a random challenge value and send a Challenge message (section 2.2.3.1) to the client containing the challenge value. The server MUST compute and store the Expected Response (section 3.2.1) for this challenge value using the challenge value, the Shared Secret (section 3.2.1), and the Numeric Value. The server MUST restart the GuardTimer (section 3.2.2) and transition to the WAITING_FOR_CHALLENGE_RESPONSE state.

If some of the value does not match, the server MUST ignore the indication from the Bluetooth layer.