Network Working Group B. Miller Request for Comments: 1097 CMU-NetDev 1 April 1989
This RFC specifies a standard for the Internet community. Hosts on the Internet that display subliminal messages within the Telnet protocol are expected to adopt and implement this standard. Distribution of this memo is unlimited.
IAC WILL SUBLIMINAL-MESSAGE
The sender of this command REQUESTS permission to, or confirms that it will, display subliminal messages.
IAC WONT SUBLIMINAL-MESSAGE
The sender of this command REFUSES to display subliminal messages.
IAC DO SUBLIMINAL-MESSAGE
The sender of this command REQUESTS that the receiver, or grants the receiver permission to, display subliminal messages.
IAC DONT SUBLIMINAL-MESSAGE
The sender of this command DEMANDS that the receiver not display subliminal messages.
IAC SB SUBLIMINAL-MESSAGE <16-bit value> <16-bit value> <string> IAC SE
The sender specifies a message to be subliminaly displayed by the remote host. If the client has agreed (via the standard WILL WONT DO DONT mechanism) to display subliminal messages, it must accept this subnegotiation and attempt to display the message string on the users console for the specified duration and continue to do so at fixed intervals until another SUBLIMINAL-MESSAGE subnegotiation is received. The position and rendering of the message of
The first 16-bit value specifies the duration of the message in milliseconds. It is sent MSB first. The second 16-bit value specifies the frequency with which the message is displayed. It represents the number of seconds between displays and is also sent MSB first. The final parameter is the message itself.
The syntax for this subnegotiation is:
IAC SB SUBLIMINAL-MESSAGE
As required by the Telnet protocol, any occurence of 255 in the subnegotiation must be doubled to destinguish it from the IAC character (which has a value of 255).
Frequently the use of "Message of the day" banners and newsletters is insufficient to convince stubborn users to upgrade to the latest version of telnet. Some users will use the same outdated version for years. I ran across this problem trying to convince people to use the REMOTE-FLOW-CONTROL Telnet option. These users need to be gently "persuaded".
The quality of the client implementation will depend on it's ability to display and erase text strings in a small amount of time. The current implementation at CMU takes into acount terminal line speed, advanced video capabilities, and screen phospher persistance when calculating how long to wait before erasing a message.
While it is permitted for the client to display the message text "in-line", best results at obtained by printing the message at the top or side of console screen where it will just catch the corner of
the user's visual field.
A version is currently under development at CMU to display the message using morse-code over the keyboard caps-lock LED.
In the following example all numbers are in decimal notation.
(Server sends) IAC DO SUBLIMINAL-MESSAGE
(Client sends) IAC WILL SUBLIMINAL-MESSAGE
(Server sends) IAC SB SUBLIMINAL-MESSAGE 0 5 0 20 "Use VMS" IAC SE
[The server is "suggesting" that the user employ a stable operating system, not an unreasonable request...]
The client should immediately begin displaying the message and should continue to do so at regular intervals.
(Server sends) IAC SB SUBLIMINAL-MESSAGE 0 5 0 20 "Go home" IAC SE
The client should now no longer display the previous message and should immediately begin displaying the new one.
(Server sends) IAC SB SUBLIMINAL-MESSAGE 0 0 0 0 "" IAC SE
The client must cease display of any subliminal messages.
We do things just a little sneakier here at CMU.