RFC 859 INTERNET STANDARD TELNET · OPTIONS

Telnet Status Option

Lets Telnet peers request and report their view of negotiated option settings.

On rfc-editor.org ↗
PUBLISHED
May 1983
AUTHORS
J. Postel, J. Reynolds
STREAM
Legacy
BUILDS ON
RFC 651 — Telnet
OPTION CODE
5
SEND SUBCOMMAND
1
IS SUBCOMMAND
0
DOI
10.17487/RFC0859

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                          J. Postel
Request for Comments: 859                                    J. Reynolds
                                                                     ISI
Obsoletes: RFC 651 (NIC 31154)                                  May 1983

                          TELNET STATUS OPTION


This RFC specifies a standard for the ARPA Internet community.  Hosts on
the ARPA Internet are expected to adopt and implement this standard.

1. Command Name and Code

   STATUS 5

2. Command Meanings

   This option applies separately to each direction of data flow.

   IAC DON'T STATUS

      Sender refuses to carry on any further discussion of the current
      status of options.

   IAC WON'T STATUS

      Sender refuses to carry on any further discussion of the current
      status of options.

   IAC SB STATUS SEND IAC SE

      Sender requests receiver to transmit his (the receiver's)
      perception of the current status of Telnet options. The code for
      SEND is 1. (See below.)

   IAC SB STATUS IS ... IAC SE

      Sender is stating his perception of the current status of Telnet
      options. The code for IS is 0. (See below.)

3. Default

   DON'T STATUS, WON'T STATUS

      The current status of options will not be discussed.

4. Motivation for the Option

   This option allows a user/process to verify the current status of
   TELNET options (e.g., echoing) as viewed by the person/process on the
   other end of the TELNET connection. Simply renegotiating options
   could lead to the nonterminating request loop problem discussed in
   the General Consideration section of the TELNET Specification.  This
   option fits into the normal structure of TELNET options by deferring
   the actual transfer of status information to the SB command.

5. Description of the Option

   WILL and DO are used only to obtain and grant permission for future
   discussion. The actual exchange of status information occurs within
   option subcommands (IAC SB STATUS...).

   Once the two hosts have exchanged a WILL and a DO, the sender of the
   WILL STATUS is free to transmit status information, spontaneously or
   in response to a request from the sender of the DO. At worst, this
   may lead to transmitting the information twice. Only the sender of
   the DO may send requests (IAC SB STATUS SEND IAC SE) and only the
   sender of the WILL may transmit actual status information (within an
   IAC SB STATUS IS ... IAC SE command).

   IS has the subcommands WILL, DO and SB. They are used EXACTLY as used
   during the actual negotiation of TELNET options, except that SB is
   terminated with SE, rather than IAC SE. Transmission of SE, as a
   regular data byte, is accomplished by doubling the byte (SE SE).
   Options that are not explicitly described are assumed to be in their
   default states. A single IAC SB STATUS IS ... IAC SE describes the
   condition of ALL options.

   The following is an example of use of the option:

      Host1: IAC DO STATUS

      Host2: IAC WILL STATUS

         (Host2 is now free to send status information at any time.
         Solicitations from Host1 are NOT necessary. This should not
         produce any dangerous race conditions. At worst, two IS's will
         be sent.)

      Host1 (perhaps): IAC SB STATUS SEND IAC SE

      Host2 (the following stream is broken into multiple lines only for
      readability. No carriage returns are implied.):

         IAC SB STATUS IS

         WILL ECHO

         DO SUPPRESS-GO-AHEAD

         WILL STATUS

         DO STATUS

         IAC SE

      Explanation of Host2's perceptions: It is responsible for echoing
      back the data characters it receives over the TELNET connection;
      it will not send Go-Ahead signals; it will both issue and request
      Status information.

ISO Plain Language

On this page
PROBLEMA Telnet process may need to check what option settings the other end believes are active without renegotiating those options.
MECHANISMAfter permission is negotiated, one side can send STATUS SEND and the other can return STATUS IS containing its view of all option states.
WHAT IT PROVIDESThe exchange reports a peer's view of current option status and avoids using renegotiation merely to discover that status.

§4Checking Telnet Option State

Telnet options such as echoing can be negotiated during a connection. Repeating those negotiations just to learn the current state can cause request loops.

The Status option lets one process check the other process's view of the current option settings through a separate status exchange.

A Telnet process may need to know which options are active at the other end. The Status option reports that view without renegotiating the options.

§5Permission and Status Messages

WILL and DO are used only to agree that status information may be exchanged. After permission is established, the side that sent WILL STATUS can send status information, and the side that sent DO STATUS can request it.

A request uses IAC SB STATUS SEND IAC SE. A reply uses IAC SB STATUS IS, followed by the reported option states, and then IAC SE.

The peers first agree that they can exchange status. One side may then request a report, and the other sends its current view.

§6Reading the Status Report

The IS report uses WILL, DO, and subnegotiation entries to describe option states. Options not explicitly listed are assumed to be in their default states, and one report describes all options.

The sender of WILL STATUS may also send a report without waiting for a request. At worst, both a spontaneous report and a requested report may be sent.

The report lists the options that are not in their default state. A peer can send a report on its own or after receiving a request.