Internet DRAFT - draft-gidwani-ppp-callback-cp
draft-gidwani-ppp-callback-cp
HTTP/1.1 200 OK
Date: Tue, 09 Apr 2002 00:06:25 GMT
Server: Apache/1.3.20 (Unix)
Last-Modified: Tue, 04 Jun 1996 16:45:41 GMT
ETag: "304c8c-3a6a-31b46835"
Accept-Ranges: bytes
Content-Length: 14954
Connection: close
Content-Type: text/plain
Network Working Group N. Gidwani
INTERNET-DRAFT Microsoft
Category: Informational April 22, 1996
Expire in six months
PPP Callback Control Protocol
<draft-gidwani-ppp-callback-cp-00.txt>
Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its
areas, and its working groups. Note that other groups may also
distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-
Drafts as reference material or to cite them other than as
``work in progress.''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the Internet-
Drafts Shadow Directories on ftp.is.co.za (Africa),
nic.nordu.net (Europe), munnari.oz.au (Pacific Rim),
ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast).
Abstract
The Point-to-Point Protocol (PPP) provides a standard method for
transporting multi-protocol datagrams over point-to-point links. PPP
is comprised of three main components:
1. A method for encapsulating multi-protocol datagrams.
2. A Link Control Protocol (LCP) for establishing, configuring,
and testing the data-link connection.
3. A family of Network Control Protocols (NCPs) for establishing
and configuring different network-layer protocols.
This document defines an interoperable method for negotiating
dial-up callback over PPP links.
Gidwani Informational [Page 1]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
1. Introduction
Up-to-date values of the LCP Option Type field are specified in the
most recent "Assigned Numbers" RFC [2]. This document concerns the
following values:
13 Callback
In "PPP LCP Extensions" [3], callback may be negotiated as part of
the LCP negotiation phase.
There are two problems with the current scheme:
a) There is a potential security hole. The callee has to agree or
disagree to do the callback BEFORE authenticating the caller.
b) The current scheme is too loosely defined to be truly
interoperable.
It is proposed that a new Callback Control Protocol be defined as a
method to implement the Callback functionality in a secure,
interoperable and flexible fashion.
1.1. Specification Requirements
In this document, several words are used to signify the requirements
of the specification. These words are often capitalized.
MUST This word, or the adjective "required", means that the
definition is an absolute requirement of the specification.
MUST NOT This phrase means that the definition is an absolute
prohibition of the specification.
SHOULD This word, or the adjective "recommended", means that there
may exist valid reasons in particular circumstances to
ignore this item, but the full implications must be
understood and carefully weighed before choosing a
different course.
MAY This word, or the adjective "optional", means that this
item is one of an allowed set of alternatives. An
implementation which does not include this option MUST be
prepared to interoperate with another implementation which
does include the option.
Gidwani Informational [Page 2]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
1.2 Terminology
This document frequently uses the following terms:
caller The end of the link that initiated the connection.
answerer The end of the link that accepted the connection.
peer The other end of the point-to-point link.
silently discard
The implementation discards the packet without further
processing. The implementation SHOULD provide the
capability of logging the error, including the contents of
the silently discarded packet, and SHOULD record the event
in a statistics counter.
2.0 Overview
In the current scheme, callback is negotiated as part of the LCP
phase. We will extend this scheme by adding a new operation field
value 6 to the existing Callback Configuration Option.
If an implementation responds with a Configure-Ack to the Callback
Configuration Option with the operation field value set to 6,
then it is agreeing to negotiate Callback Control Protocol.
The Callback Control Protocol is run immediately after the
Authentication Phase if authentication was negotiated. If
authentication was not negotiated then the implementation MUST
proceed directly to the Callback phase after the Link Establishment
phase. During the Callback phase all NCP and network-layer packets
received MUST be silently discarded.
When the Callback Control Protocol has successfully negotiated a
callback action, the peer MUST directly proceed to the Termination
phase, and the link is disconnected.
The peer then re-establishes the link, without negotiating Callback
during the LCP phase.
Authentication SHOULD be requested in turn by the implementation when
it is called back, if mutual authentication is desired.
The Protocol Field value for this Control Protocol is C029.
Gidwani Informational [Page 3]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
3.0 Callback Control Protocol
The Callback Control Protocol is always initiated by the Answerer.
Here is an example of such a dialog:
Caller Answerer
------ --------
Callback Request
<-----------------------------------------
These are the callback options you have:
1) Caller will not be called back.
2) Caller MAY specify the address at which it
wishes to be called back at.
Callback Response
----------------------------------------->
Caller wants to be called back at xxxx.
Callback Ack
<-----------------------------------------
OK, Caller will be called back at xxxx.
Disconnect and prepare to receive a call.
In the Callback Phase, the Answerer will send a Callback Request
listing the callback options available to the Caller. Additional
Callback Request packets MUST be sent until a valid Callback Response
packet is received, or an optional retry counter expires. If the
retry counter expires, the implementation MUST terminate the link and
MUST NOT proceed to the NCP phase.
The Caller will respond with a Callback Response listing only the
option that it wishes to use. The data of the option MAY be modified.
If the Callback Response sent back by the Caller is valid and
acceptable to the Answerer, it will respond with a Callback Ack. Upon
receiving the the Callback Ack the Caller should proceed to the Link
Termination phase and prepare to receive a call.
Gidwani Informational [Page 4]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
The only exception to the above occurs if the Caller requested not to
be called back and the Answerer responded with a Callback Ack then
both peers MUST proceed to the NCP phase.
If the Callback Response contains any invalid or unacceptable data,
the Answerer MAY terminate the link, or resend the Callback Request.
The Answerer MUST NOT proceed to the NCP phase.
Because the Callback Ack send to the Caller may be lost the Answerer
MUST wait for the Caller to send a LCP Terminate-Req or to resend the
Callback Response.
3.1 Packet Format
Exactly one Callback Control Protocol packet is encapsulated
in the Information field of a PPP Data Link Layer frame.
A summary of the CBCP packet format is shown below. The
fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code | Identifier | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+
Code
The Code field is one octet and identifies the type of CBCP
packet. CBCP Codes are assigned as follows:
1 Callback Request ( Answerer -> Caller )
2 Callback Response ( Caller -> Answerer )
3 Callback Ack ( Answerer -> Caller )
Identifier
The Identifier field is one octet and aids in matching requests
and replies.
Length
The Length field is two octets and indicates the length of the
CBCP packet including the Code, Identifier, Length and Data
fields. Octets outside the range of the Length field should be
treated as Data Link Layer padding and should be ignored on
reception.
Gidwani Informational [Page 5]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
Data
The Data field is zero or more octets.
3.2 Callback Configuration Options
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Callback Type | Length |Callback delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Callback Address(es) ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
Callback Type
1 - No callback
2 - Callback to a user-specifiable number.
3 - Callback to a pre-specified or administrator specified number.
4 - Callback to any of a list of numbers.
Length
The Length field is one octet and indicates the length of the
Callback Option including the Type, Length and Data fields.
>=3
Callback delay
The amount of time is seconds the Answerer MUST wait before
calling the Caller back. Answerer sets to 0, Caller MAY change
if the required value if is different from 0.
<= 255
Gidwani Informational [Page 6]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
Callback Addresses
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Type | ASCIIZ address
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address Type
1 - for PSTN/ISDN
Other? (TBD)
Address Format
For PSTN/ISDN this is an NULL terminated ASCII string.
Valid characters are 0-9, *, #, T, P, W, @, comma, space,
dash, and parentheses."
3.2.1 No Callback
The Caller requests not to be called back at all. The Callback Type
is set to 1.
No Callback address or Callback Delay field is supplied.
3.2.2 Callback to a Caller-specifiable number.
The Caller requests to be called back at a specified address. The
Callback Type field is set to 2.
Callback address and the Callback Delay are both present.
When the Answerer sends this option as part of the list of Callback
options available to the Caller, the Callback Delay field is present
and set to 0, Address Type field of the Callback Address is set but
the ASCIIZ address contains a terminating NULL.
The Caller MUST respond with a Callback Response which contains an
ASCIIZ Callback address that matches the Address Type field send by
the Answerer in the Callback Request. The Caller MAY modify the
value of the Callback Delay.
Gidwani Informational [Page 7]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
3.2.3 Callback to a pre-specified or administrator specified number.
The Caller will be called back at specified address. The Callback
Type field is set to 3.
Only the Callback Delay field is present in the is Callback Request.
The Caller MAY modify the Callback Delay field.
3.2.4 Callback to any of a list of numbers.
The Caller will be called back at one of the specified address. The
Callback Type field is set to 4.
The Callback Request consists of the Callback Delay field followed
by a list of Callback Addresses.
The Callback Response MUST contain the Callback Delay and only one
of the Callback Addresses chosen from the list sent by the Answerer.
Gidwani Informational [Page 8]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
Security Considerations
Security issues are briefly discussed in sections concerning the
Callback Configuration Option.
References
[1] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)", RFC
1548, Daydreamer, December 1993.
[2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2,
RFC 1340, USC/Information Sciences Institute, July 1992.
[3] Simpson, W., Editor, "PPP LCP Extensions", RFC 1570,
Daydreamer, January 1994.
Gidwani Informational [Page 9]
INTERNET-DRAFT PPP Callback Control Protocol April 1996
Acknowledgments
TBD.
Chair's Address
The working group can be contacted via the current chair:
Fred Baker
Cisco Systems
519 Lado Drive
Santa Barbara, California 93111
EMail: fred@cisco.com
Author's Address
Questions about this memo can also be directed to:
Narendra Gidwani
Microsoft Corporation
1 Microsoft Way
Redmond, WA 98052-6399
EMail: nareng@microsoft.com
Gidwani Informational [Page 10]
.