3.2.3 Initialization

The answerer MUST initialize the CBCP if either the caller or the answerer has successfully negotiated for operation 0x06 of LCP configuration option 0x0D during the LCP negotiation. The negotiation of LCP options is defined in [RFC1661]. LCP Callback configuration option 0xOD is defined as LCP Extension in [RFC1570] section 2.3. The operation 0x06 as defined in [IANAPPPNUM] MUST be used to specify the usage of CBCP to negotiate callback settings. The message syntax of the LCP Callback configuration option with the operation 0x06 is defined in section 2.2.1.

The CBCP MUST be initialized only after the Authentication Phase is complete. The Next Identifier will be initialized to 1. The Acceptable Callback Types will be initialized with the list of callback types that are allowed for the caller to choose from using the UserPrivilege field of the userParameters (section 2.3.1) structure.

The Result Phone Number will be initialized using the CallbackPhoneNumber field of the userParameters (section 2.3.1) structure

The answerer MUST send a Callback Request message as specified below as a part of the initialization and the Current State MUST be set to CBCP_STATE_WAIT_FOR_RESPONSE:

  1. The Callback Request message MUST be sent as specified in section 2.2.4.1. The Callback Configuration option list for selection by the caller MUST contain the Callback Types in the Acceptable Callback Types array.

  2. The Identifier field is set to Next Identifier value (which is initialized to 1).

  3. The Length field MUST be calculated as specified in section 2.2.3.

  4. The CBCP Packet Send Event (section 3.2.7.2) MUST be used for transmission of the Callback Request message. After successful transmission of the Callback Request message, the answerer MUST change Current State to CBCP_STATE_WAIT_FOR_RESPONSE.

  5. The retransmission timer (section 3.2.2) MUST be restarted.