Summary

  • RFC 1205 documented how an IBM 5250 workstation data stream could run inside Telnet. Both ends had to agree to Binary, End-of-Record and Terminal-Type, then handle a 5250 record format inherited from IBM's earlier pass-through system.
  • In the document's Cancel Invite example, the host tells the client to stop sending ordinary user data. The client acknowledges and waits for a new read command. A System Request trace shows the host saving the screen, offering a menu, restoring the screen and reopening normal input.

A keypress became a conversation with the host

The most revealing line in a 1991 terminal specification concerns a pause. A server sends Cancel Invite; the client sends the same operation back and stops sending user data until the server issues another read command. The user still has a keyboard. Inside this session, the host controls when its data may enter the conversation. The operation was part of IBM's 5250 workstation mode carried through Telnet, described by P. Chmielewski in RFC 1205.

The longer System Request example makes the sequence tangible. A person presses a key mapped to System Request. The client sends a record with the corresponding flag. The host cancels the current invitation, tells the terminal to save its screen, provides a menu, takes the menu response, restores the old screen and sends a read command that resumes the prior state. The menu is a host-managed detour, with a fresh read step for its input. A network connection remains up throughout the example; control of the terminal's next turn changes at the application layer.

That distinction has stakes beyond nostalgia for beige terminals. By 1991, hosts on the Internet might want to support 5250 workstations through Telnet. A generic byte stream alone could not tell the host whether a keypress belonged to an input field, a system request or an operation that saved the screen. The client and server needed agreement on terminal type, record boundaries and the 5250 commands inside them. The user experience lived in that layered contract, not in the mere existence of a TCP path.

Three familiar Telnet options, no new magic switch

RFC 1205 introduced no new Telnet option. It said both ends had to support at least three existing ones: Binary, End-of-Record and Terminal-Type. The example first has a server ask for a terminal type and the client identify itself as IBM-5251-11. Each direction then agrees to transmit end-of-record markers and binary data. Those exchanges are capabilities for a 5250 session, not a user login. A missing agreement would leave the parties without the framing or data representation the interface expected.

The terminal-type list also resists a tidy picture of one universal green screen. It includes 24-by-80 and 27-by-132 displays, color and monochrome models, and double-byte character support on some devices. A host asking what kind of terminal it faced had a practical reason: screen geometry and character handling affected what it could send and what it should expect back. RFC 1205 provides a device-query example for the same purpose. The client replies with attributes rather than relying on the network address to reveal its display.

The three Telnet options only create the outer conditions. The actual record starts with a header before the 5250 workstation data. Its fixed part occupies six octets; a variable part is currently four. A length field counts the logical record including its header, calculated before Telnet doubles any IAC byte, and excludes the final IAC EOR marker. Get that arithmetic wrong and the reader of the record can disagree about where the next screen instruction begins. A TCP segment boundary supplies no substitute for the 5250 record delimiter.

A vendor's older header rode inside the open path

IBM had not invented this header for the Internet. RFC 1205 says it came from 5250 Display Station Pass-Through, used over SNA on AS/400, System/36 and System/38 systems. The record type retained a General Data Stream value. Telnet carried an existing application grammar into another network environment. That reuse may have eased continuity for host software; it also meant a client author had to understand the old grammar to make a workstation behave correctly.

The RFC itself points to IBM's 5250 Functions Reference Manual for the full command set and data stream. Its final section corrects errors in the manual and adds behavior the then-current edition had not documented. One correction changes the Insert Cursor order's published hex value; another clarifies screen-position constraints. These are not decorative errata. A client that follows the wrong opcode or cursor rule can display or accept input incorrectly even after all three Telnet options succeed.

That is the sharp boundary in this case. The interface was publicly documented in an informational RFC, but the complete screen language still depended on IBM's separate manual. The host controlled when to invite input, and the workstation client had to speak the host's inherited dialect. The RFC made an implementation route visible to Internet hosts without making the 5250 data stream a generic Telnet terminal.

The invitation was an application state, not a wire's promise

The Cancel Invite example is precise about both sides. The server sends opcode 0A; the client echoes it and refrains from ordinary user data until a read command invites the workstation again. In the System Request trace, the host can interrupt that state to show a menu and accept the answer through a host-issued Put/Get step. After it restores the saved screen, the final Invite returns the workstation to its earlier operating state. The network transports all these records; the host decides which one is next.

RFC 1205 documents the interface and example flows. It contains no dated operating trace or count of deployed 5250 Telnet clients; such records would show how a real host and workstation behaved beyond the examples. The document's value is already concrete. It captures a moment when a familiar Internet transport was asked to carry a terminal whose keyboard, screen and turn-taking rules had been designed elsewhere. Reaching the host was only the first handshake. Being allowed to type was another.

Source