RFC 855 (rfc855) - Page 2 of 3
Telnet Option Specifications
Alternative Format: Original Text Document
RFC 855 May 1983
"subnegotiation" is required, there may be a larger number of
possible commands. The concept of "subnegotiation" is described
in more detail below.
Section 3 - Default Specification
The default assumptions for hosts which do not implement, or use,
the option must be described.
Section 4 - Motivation
A detailed explanation of the motivation for inventing a
particular option, or for choosing a particular form for the
option, is extremely helpful to those who are not faced (or don't
realize that they are faced) by the problem that the option is
designed to solve.
Section 5 - Description (or Implementation Rules)
Merely defining the command meanings and providing a statement of
motivation are not always sufficient to insure that two
implementations of an option will be able to communicate.
Therefore, a more complete description should be furnished in most
cases. This description might take the form of text, a sample
implementation, hints to implementers, etc.
A Note on "Subnegotiation"
Some options will require more information to be passed between hosts
than a single option code. For example, any option which requires a
parameter is such a case. The strategy to be used consists of two
steps: first, both parties agree to "discuss" the parameter(s) and,
second, the "discussion" takes place.
The first step, agreeing to discuss the parameters, takes place in
the normal manner; one party proposes use of the option by sending a
DO (or WILL) followed by the option code, and the other party accepts
by returning a WILL (or DO) followed by the option code. Once both
parties have agreed to use the option, subnegotiation takes place by
using the command SB, followed by the option code, followed by the
parameter(s), followed by the command SE. Each party is presumed to
be able to parse the parameter(s), since each has indicated that the
option is supported (via the initial exchange of WILL and DO). On
the other hand, the receiver may locate the end of a parameter string
by searching for the SE command (i.e., the string IAC SE), even if
the receiver is unable to parse the parameters. Of course, either
party may refuse to pursue further subnegotiation at any time by
sending a WON'T or DON'T to the other party.
Postel & Reynolds