Network Working Group J. VanBokkelen
Request for Comments: 1091 FTP Software, Inc.
Obsoletes: RFC 930 February 1989
Telnet Terminal-Type Option
1. Command Name and Code
TERMINAL-TYPE 24
2. Command Meanings
IAC WILL TERMINAL-TYPE
VanBokkelen [Page 1]
RFC 1091 Telnet Terminal-Type Option February 1989
IAC SB TERMINAL-TYPE SEND IAC SE
3. Default
WON'T TERMINAL-TYPE
4. Motivation for the Option
On most machines with bit-mapped displays (e.g., PCs and graphics workstations) a client terminal emulation program is used to simulate a conventional ASCII terminal. Most of these programs have multiple emulation modes, frequently with widely varying characteristics. Likewise, modern host system software and applications can deal with a variety of terminal types. What is needed is a means for the client to present a list of available terminal emulation modes to the server, from which the server can select the one it prefers (for arbitrary reasons). There is also need for a mechanism to change emulation modes during the course of a session, perhaps according to the needs of applications programs.
VanBokkelen [Page 2]
RFC 1091 Telnet Terminal-Type Option February 1989 5. Description of the OptionWillingness to exchange terminal-type information is agreed upon via conventional Telnet option negotiation. 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 TERMINAL-TYPE...).
6. Implementation Issues
The "terminal type" information may be any NVT ASCII string meaningful to both ends of the negotiation. The list of terminal type names in "Assigned Numbers" is intended to minimize confusion caused by alternative "spellings" of the terminal type. For example, confusion would arise if one party were to call a terminal "IBM3278- 2" while the other called it "IBM-3278/2". There is no negative acknowledgement for a terminal type that is not understood, but certain other options (such as switching to BINARY mode) may be refused if a valid terminal type name has not been specified.
VanBokkelen [Page 3]
RFC 1091 Telnet Terminal-Type Option February 1989
In some cases, either a particular terminal may be known by more than one name, for example a specific type and a more generic type, or the client may be a workstation with integrated display capable of emulating more than one kind of terminal. In such cases, the sender of the TERMINAL-TYPE IS command should reply to successive TERMINAL- TYPE SEND commands with the various names. In this way, a telnet server that does not understand the first response can prompt for alternatives. If different terminal emulations are supported by the client, the mode of the emulator must be changed to match the last type sent, unless the particular emulation has other Telnet options (e.g., BINARY) as prerequisites (in which case, the emulation will switch to the last type sent when the prerequisite is fulfilled). When types are synonyms, they should be sent in order from most to least specific.
7. User Interfaces
Telnet clients and servers conforming to this specification should provide the following functions in their user interfaces:
VanBokkelen [Page 4]
RFC 1091 Telnet Terminal-Type Option February 1989
Clients supporting multiple emulation modes should allow the user to specify which of the modes is preferred (which name is sent first), prior to connection establishment. The order of the names sent cannot be changed after the negotiation has begun. This initial mode will also become the default with servers which do not support TERMINAL TYPE.
8. Examples
In this example, the server finds the first type acceptable.
VanBokkelen [Page 5]
RFC 1091 Telnet Terminal-Type Option February 1989
Client: IAC SB TERMINAL-TYPE IS UNKNOWN IAC SE
9. References:
[1] Postel, J., and J. Reynolds, "Telnet Protocol Specification",
VanBokkelen [Page 6]
RFC 1091 Telnet Terminal-Type Option February 1989
Reviser's note: