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.

Current State: An enumeration value that represents the current state of the CBCP protocol state machine for the answerer as specified in section 3.2.1.1. This variable will be initialized to CBCP_STATE_WAIT_FOR_RESPONSE after sending the Callback Request message when the state machine is initialized (section 3.2.3). The following are the acceptable values for this variable:

  • CBCP_STATE_WAIT_FOR_RESPONSE

  • CBCP_STATE_DONE

Next Identifier: An integer variable of size 1 byte. This represents the identifier to be sent as a part of the CBCP messages. This variable will be initialized to 1 for the first Callback Request message and will be subsequently incremented with each Callback Request message retransmission.

Acceptable Callback Types: An array of acceptable callback types that the caller can choose from. This is initialized as a part of the CBCP initialization phase and is mostly determined based on the callback policy applicable to the user. The acceptable callback types are given below.

Callback type

Description

1

No Callback.

2

Callback to a user-specifiable number.

3

Callback to a pre-specified or administrator-specified number.

Result Callback Type: This variable specifies the Callback type accepted by the caller through the Callback Response message and acknowledged by the answerer through the Callback Acknowledgment message. This will be set only when the CBCP negotiation is complete and the CBCP Done event is notified with success result to PPP. This will take one of the values specified as acceptable callback types defined under Acceptable Callback Types.

Result Phone Number: This variable specifies the phone number as a null-terminated ASCII string, specified by the caller through the Callback Response message if the answerer had provided the "Callback to a user-specifiable number" as a callback type possible and the caller had chosen the same. After the answerer acknowledges the callback type through the Callback Acknowledgment message, this option will be set. This is valid only when the Callback type 2 is chosen by the caller. If the callback option specified is "Callback to a pre-specified or administrator-specified number" the number to be used will be based on the policy or administrator configuration and is implementation-specific.

Result Callback Delay: An integer field of size 1-byte. This specifies the callback delay specified by the caller as a part of the Callback Response message in the callback type options. This specifies the time, in seconds, the answerer waits before the callback can be initiated to the caller. This value is valid only when the Callback type 2 or 3 is chosen by the caller.