Callback Negotiation with the Callback Control Protocol

Callback Control Protocol (CBCP) negotiates the use of callback where the remote access server, after authenticating the remote access client, terminates the physical connection, waits a specified amount of time, and then calls the remote access client back at either a static or dynamically configured phone number. Common CBCP options include the phone number being used by the remote access server to call the remote access client back. For more information about CBCP, see "Proposal for Callback Control Protocol (CBCP)" at the Internet Working Group link on the Web Resources pages at https://windows.microsoft.com/windows2000/reskit/webresources .

Packet Structure

CBCP uses the PPP Protocol ID of 0xC0-29. The packet structure of CBCP is exactly the same for LCP; however, only the Callback-Request (type 1), Callback-Response (type 2), and Callback-Ack (type 3) types are used. For all CBCP packet types, the CBCP data portion of the CBCP packet consists of one or more CBCP options. Each CBCP option consists of an option Type field, an option Length field indicating the total length in bytes of the option, and the data associated with the option.

Negotiated Options

Table 7.9 lists the CBCP options negotiated by Microsoft PPP peers.

Table   7.9 CBCP Options

Option Name

Option Type

Option Length

Description

No callback

1

2

Specifies that no callback is used for the connection.

Callback to a user-specified number

2

variable

The user of the remote access client computer determines the callback number.

Callback to an administrator-defined number

3

variable

Settings on the remote access server determine the callback number.

Callback to any of a list of numbers

4

variable

The remote access server callbacks to one of a list of phone numbers.