3.1.1.1 State Machine

The following figure shows the state machine for a CBCP caller.

Callback state diagram--caller states

Figure 3: Callback state diagram--caller states

The caller state machine has the following states as represented by the Current State variable.

State name

Description

CBCP_STATE_WAIT_FOR_REQUEST

This will be the initial state when the Caller state machine is initialized. In this state, the caller will wait for the Callback Request message to be received from the answerer. When the Callback Request message is received, the caller will select the appropriate callback option and send the Callback Response message and proceed to CBCP_STATE_WAIT_FOR_ACK state. The Current State will be set to CBCP_STATE_WAIT_FOR_ACK.

CBCP_STATE_WAIT_FOR_ACK

The caller has sent the Callback Response message as a response to the Callback Request message. This is the state in which the caller will wait for the Callback Acknowledgment message to be received from the answerer. Reception of the Callback Acknowledgment message signifies the completion of the CBCP phase and that the callback settings are negotiated. The CBCP will indicate the successful completion of the CBCP phase using the CBCP Done event (section 3.1.7.3) with a success status.

The preceding description covers the state transitions for a successful CBCP negotiation. Failure transitions are covered in the state machine diagram earlier in this section and are also covered in section 3.1.5.