Report No. 2183 Bolt Beranek and Newman Inc. NIC No. 10916 USER'S GUIDE TO THE TERMINAL IMP July 1977 Revision Sponsored by: Defense Communications Agency Contract No. DCA200-C-616 Report No. 2183 Bolt Beranek and Newman Inc. Page 2 July 1977 Revision UPDATE HISTORY Originally written Dec. 1971 by W.R. Crowther Updated July 1972 by D.C. Walden Completely revised Sept. 1972 by D.C. Walden Updated Oct. 1972 by D.C. Walden Updated Jan. 1973 by D.C. Walden Completely revised June 1973 by D.C. Walden Updated Nov. 1973 by J. Malman Updated June 1974 by J. Malman Updated Dec. 1974 by J. Malman Completely revised August 1975 by J. Malman Updated March 1976 by J. Malman Updated July 1977 by J. Malman Report No. 2183 Bolt Beranek and Newman Inc. Page 3 July 1977 Revision TABLE OF CONTENTS 1. INTRODUCTION 2. THE NETWORK VIRTUAL TERMINAL 3. THE TIP COMMAND FORMAT 4. TYPICAL USE OF THE TIP A. Hardware Stage B. Establishing Parameters C. Connection to Remote Sites D. Use of Remote Sites E. Connection Loss and Restoration F. TIP News and User Feedback 5. UNUSUAL USES OF THE TIP A. Device Parameters B. Talking to Another TIP C. Binary Mode D. Setting Another Terminal's Parameters E. The DIVERT OUTPUT Command F. Editing G. Wild H. Low Level Protocol Commands I. Commands from the Network J. The RESET Device Command K. TIP Configuration and Device Pre-initialization 6. MAPPING THE VARIOUS DEVICES INTO THE NETWORK VIRTUAL TERMINAL A. TTY and TTY-like Devices B. 2741 and 2741-like Devices C. ASCII/2741 Conversion Table 7. TIP MESSAGES TO THE TERMINAL USER 8. THE TIP MAGNETIC TAPE OPTION 9. CONNECTION OF TERMINALS TO THE TIP APPENDICES A. Host Addresses B. Command Summary C. Bibliography D. Terminals Used with the TIP E. New Telnet Protocol Implementation F. Commands available under New Telnet Report No. 2183 Bolt Beranek and Newman Inc. Page 4 July 1977 Revision 1. INTRODUCTION This report describes the use of a terminal connected to a Terminal IMP (TIP) in the ARPA Network. The report assumes that the user knows how to operate a server Host system somewhere on the network once he becomes connected to that system, and the report defines the procedures and options the user has available to establish that connection. The ARPA Network, IMPs and TIPs, hardware maintenance, TIP operation, and formats and protocols are not described here. The bibliography (Appendix C) lists the relevant documents. At the time of this writing we at Bolt Beranek and Newman Inc. (BBN) have operated the TIP extensively with the following terminal types: KSR-33 Teletype KSR-37 Teletype IBM-2741 (Correspondence)* IBM-2741 (P.T.T.C.)* DATA 100 (at 110, 150, 300, 600, and 1200 bps) EXECUPORT (at 110, 150, and 300 bps) INFOTON VISTAR I (at 110, 150, 300, 600, 1200, 1800, 2400, and 9600 bps) IMLAC PDS-1 (at 1800, 9600 bps, and synchronous) ODEC 132 LINE PRINTER TELETYPE INKTRONICS (Line printer) TI 733 TELERAY ANDERSON-JACOBS 832 DECWRITER II DATA PRODUCTS LINE PRINTER MODEL 2410 or 2411 Where possible, all these devices have been operated with direct connections to the TIP and also over a 103A dial-up modem. We have also briefly operated the TIP or heard of the TIP being operated with a variety of other types of terminals. These are listed in Appendix D. For your own safety, before you purchase any terminal listed in Appendix D or any other terminal for use with the TIP, you should check with BBN and try it with a TIP. One TIP is configured with a magnetic tape drive which is used as discussed in Section 8. It should be noted that the TIP is designed to support interactive, asynchronous terminals. It cannot normally support synchronous devices, or devices whose input (to the TIP) characteristics are significantly different from a human typist. Thus --------------- *For a 2741 to operate with the TIP, the 2741 must have the transmit interrupt option and receive interrupt option. Report No. 2183 Bolt Beranek and Newman Inc. Page 5 July 1977 Revision the connection of computers, paper tape readers, polled circuits, buffered terminals, and so on to TIP ports is likely to be difficult or impossible. Report No. 2183 Bolt Beranek and Newman Inc. Page 6 July 1977 Revision 2. THE NETWORK VIRTUAL TERMINAL A key concept in the use of the network is the notion of the virtual terminal. Instead of asking each Host system to cope with every terminal type at every other Host in the network, we ask the Host to cope with a single (imaginary) terminal called the Network Virtual Terminal. Your TIP will translate the data you type to make it look like virtual terminal code, and translate the remote system's response back into your terminal's code. While we will often pretend that this translation does not exist, it is, in fact, always present and of crucial importance to the user. It is probable that the manual describing the use of the remote system is written in terms of a user at the virtual terminal, most likely as a system description based on local terminals plus an add-on piece telling how to use the virtual terminal as a local terminal. Virtual terminal code may include symbols which do not exist on your own keyboard. Combinations of your available characters are used in such cases. You may even find that the translation makes your terminal different from a local terminal of the same make. We have tried to minimize this problem. The Network Virtual Terminal has 128 keys, often in upper case/lower case pairs. These keys correspond to the full ASCII set. In addition, there are a few control keys, like the "BREAK" key. The terminal is capable of full and half duplex operation, under control of a user-oriented switch. The meaning of the control keys and the way to enter the full 128 keys from each of the terminal types which the TIP supports is described in Section 6 of this report. The user talks to the TIP after the code conversion has been made; that is, the TIP expects virtual terminal characters. The descriptions below are in terms of virtual terminal codes. Report No. 2183 Bolt Beranek and Newman Inc. Page 7 July 1977 Revision 3. THE TIP COMMAND FORMAT The user at a terminal will at various times be talking directly to his TIP instead of to the remote Host. A typical message of this sort might look like: @ OPEN 15 Such a command always starts with symbol @ and ends with either a linefeed* or a rubout, depending on whether the user is satisfied with the command or wishes to abort it. The only exception to this rule is the specific command @@ which inserts an @ in the data stream to the Host. Commands may occur anywhere, and need not start on a new line. Upper and lower case may be freely intermixed in the command. Between the @ and the linefeed there will typically be one or more words to identify the command, perhaps followed by a single parameter. The TIP is not very sophisticated, and thinks the only important thing about a word is its first letter. This permits the user to abbreviate a bit; the more usual rendering of the first example might be: @O 15 Once the user has started typing the parameter of a command the old value of the command will have been destroyed, and cannot be recovered by aborting the command. Almost without exception the effect of a TIP command is to set a parameter or mode for the terminal. Even apparently direct commands like @ OPEN 15 (which initiates an elaborate exchange of messages resulting in a connection to the remote Host system) actually set a mode flag to request the appropriate action when the TIP is free to undertake it. To understand the TIP behavior is really to understand the complete set of parameters and the commands to change them. Normally, any parameter can be changed at any time by the user at his terminal. Exceptions occur when the user tries to change connection parameters -------------- *On 2741 terminals the return key transmits carriage-return/ linefeed to the TIP and ASCII terminals are normally operated in a mode where typing a carriage-return is interpreted as carriage-return/linefeed; both can be used to terminate TIP commands in addition to a linefeed alone. Report No. 2183 Bolt Beranek and Newman Inc. Page 8 July 1977 Revision on an open connection. An @OPEN 13 executed while talking to Host 15 would generate the error message "Can't" (the connection to Host 15 must be closed before a connection can be opened to Host 13). Commands often consist of several command words; for example, @ DEVICE CODE ASCII Such commands may be abbreviated; for example @ D C A The spaces are required: @ DCA is not a legal command. Upper and lower case letters may be freely intermixed. An unusual variation in command format is to place a number between the @ and the first word of the command. In this case, the command is not meant for the terminal typing but for the terminal attached to the port of that number on the same TIP as the user. This feature is described in some detail in the section on unusual uses of the TIP, section 5. Report No. 2183 Bolt Beranek and Newman Inc. Page 9 July 1977 Revision 4. TYPICAL USE OF THE TIP In the normal course of things, a user will go through four more or less distinct stages in typing into the net. First, he will be concerned with hardware-power, dialing in, etc. Then he will establish a dialogue with the TIP to get a comfortable set of parameters for this usage. Next, he will instruct the TIP to open a connection to a remote Host; and finally, he will mostly ignore the TIP as he talks to the remote Host. The following sections will describe these stages in more detail. Report No. 2183 Bolt Beranek and Newman Inc. Page 10 July 1977 Revision A. Hardware Stage The hardware stage is primarily described in Section 9. This section describes only the final step of this stage, when the TIP detects a terminal on one of its previously idle lines. At that point the TIP normally goes into a "hunt" mode. In this mode it expects the very first character it sees to describe the terminal, according to the following scheme ASCII Terminals at 110, 150, or 300 baud type E. (Note that this must be upper case.) 2741 Correspondence Terminals type j, 4, o, or l depending on the element used with the terminal -- see Table 4-A. 2741 PTTC Terminals type: 6 for model* 938, 939, 961, 962, or 997 o for model 942 or 943 w for model 947 or 948 f for model 963, 996, or 998 ASCII Terminals transmitting at 110 but receiving at 1200 baud type D. (Again, upper case) The TIP will deduce terminal rate, character size, and code conversion based on the character typed. When the TIP makes its decision it types out TIP's name in the terminal's own language followed by the version number of the TIP software system and the octal port number. Then it is ready to go. If no TIP name appears, or if garbage appears, hang up your data set and redial. For direct connections Power Off is usually equivalent to hanging up. Some terminals need special delays at the end of their lines in order not to lose characters when running at high speed. The TIP currently knows how to do this timing for the ODEC line printer and several other devices. The two commands @ DEVICE CODE EXTRA-PADDING @ DEVICE CODE OTHER-PADDING will instruct the TIP to insert these delays. One device we know of, a Model 37 Teletype, requires a special parity computation to be able to print correctly. The command @ DEVICE CODE 37 -------------- *The model name and number is stamped on the top of the element. If you can't find it, trial and error works. Try "f" first. Report No. 2183 Bolt Beranek and Newman Inc. Page 11 July 1977 Revision instructs the TIP to insert the proper parity; when not in this mode the TIP sets the parity bit to zero for all output characters. Echoed characters are echoed without parity calculation. These commands are discussed more fully in section 5. On all terminals which hunt to 300 baud, Device Code Extra-padding (@ D C E) automatically will be in effect. On all terminals which hunt to 150 baud, Device Code 37 (@ D C 3) automatically will be in effect. These effects can be canceled with the command @DEVICE CODE ASCII (@ D C A). Report No. 2183 Bolt Beranek and Newman Inc. Page 12 July 1977 Revision TABLE 4-A Hunt Character to be used for IBM 2741 Correspondence Type Elements NUMBER NAME HUNT CHARACTER 001 Scribe 4 005 Letter Gothic 4 006 Manifold 72 j 007 Elite 72 * 4 008 Pica 72 * 4 010 Manifold 72 j 012 Prestige Elite * 4 014 Light Italic j 015 Courier 72 * 4 019 Manifold 72 j 020 Dual Gothic 4 021 Dual Gothic o 025 Scribe o 026 Elite 72 * o 027 Pica 72 * o 028 Manifold 72 o 029 Courier 72 * o 030 Adjutant 4 031 Adjutant o 032 Light Italic o 033 Prestige Elite * o 034 Script o 035 Delegate o 036 Advocate o 039 Letter Gothic o 043 ASCII l 050 Advocate 4 053 Artisan 12-72 4 055 Artisan 12-72 o 059 Orator j 060 Orator o 067 Courier 12 4 068 Courier 12 o 070 Delegate 4 085 Courier 72 4 086 Courier 12 Italic o 090 Script j 123 Prestige Pica o 129 Adjutant o 130 Advocate o 131 Artisan 12-72 o 132 Courier o 133 Courier 12 Italic o * These type elements can be customized for you. Contact your local IBM office for information. Report No. 2183 Bolt Beranek and Newman Inc. Page 13 July 1977 Revision 134 Courier 72 o 135 Delegate o 136 Dual Gothic o 137 Elite 72 o 138 Letter Gothic o 139 Light Italic o 140 Manifold 72 o 141 Orator o 142 Pica 72 o 143 Prestige Elite 72 o 144 Scribe o 145 Script o 154 ASCII l 158 Bookface Academic 72 o 161 Large Elite 72 o Report No. 2183 Bolt Beranek and Newman Inc. Page 14 July 1977 Revision B. Establishing Parameters In stage two, the user is concerned with initializing parameters. The naive user should skip stage two and accept the TIP's default parameters until an obvious problem arises. The following questions are answered in stage two. 1. When shall the TIP send off messages to the remote Host? Here there are several options. (The TIP is inialized to send on every character, which is simple but inefficient.) @ TRANSMIT NOW @ TRANSMIT ON MESSAGE-END @ TRANSMIT ON LINEFEED @ TRANSMIT EVERY TRANSMIT NOW causes the message currently being accumulated to be sent as soon as possible. TRANSMIT ON MESSAGE-END causes a message to be sent as soon as possible after an ASCII DC3 (control-S) is encountered. TRANSMIT ON LINEFEED causes a message to be sent as soon as possible after a linefeed is encountered. Additionally, both TRANSMIT ON MESSAGE-END and TRANSMIT ON LINEFEED cause characters to be accumulated in the message buffer until it is almost full. TRANSMIT EVERY causes a message to be sent as near as possible to every th character. The command TRANSMIT EVERY 0 will reset the TIP to its initial state, transmitting every character. If the parameter to TRANSMIT EVERY # is a large number (e.g., 250) the TIP will save up as many characters as it can before sending a message, but does not offer any guarantee that the total number specified can be buffered. 2. Who shall echo and when? Echoing is a complex problem, without any neat solution. We have chosen to give the user the means to tell the TIP how he or she wants it done, since it is hard to guess correctly in advance. Basically, echoing can occur at the terminal hardware, in the TIP, or in the remote Host. The corresponding TIP commands are: @ ECHO HALFDUPLEX (Echo at the terminal) @ ECHO LOCAL or @ ECHO ALL (Echo at the TIP) @ ECHO REMOTE or @ ECHO NONE (Echo at the remote Host) Report No. 2183 Bolt Beranek and Newman Inc. Page 15 July 1977 Revision Each of these commands sets the internal state of the TIP to the correct mode, and in addition sends the appropriate TELNET command to the Host if the connection is open when the command is given. The commands ECHO ALL and ECHO NONE are now exactly equivalent to ECHO LOCAL and ECHO REMOTE; they have been left temporarily while users become accustomed to the new usage. In the ECHO REMOTE mode, although characters for the remote Host are not echoed, the TIP will echo commands. Network protocol specifies that echoing shall start out in the @ ECHO LOCAL or @ ECHO HALF modes. The TIP will try to guess from the terminal type which of the two is appropriate. The goal of the echoing strategy is to avoid the unreadable alternatives of the blank page and the doubling of every character. The naive user is advised to accept the TIP's default parameters until trouble of this sort arises. A 2741 cannot change echo mode and is always halfduplex. Because both the TIP and the remote Host need to agree on who is to echo the characters, the TELNET protocol provides a mechanism whereby the remote terminal user may instruct the serving Host to set a particular mode and viceversa, the remote Host may instruct the TIP. As noted above, this happens automatically when the command is given by the user while the connection is open. But the Host too may issue such commands to the TIP, and the TIP is not able to refuse the request (even for 2741 terminals). If the connection becomes established in an undesirable mode, the user may change this by one of the echo commands above. The NEW TELNET protocol handles this mechanism somewhat differently, as described in Appendix E. Report No. 2183 Bolt Beranek and Newman Inc. Page 16 July 1977 Revision C. Connection to Remote Sites In stage three, the user is concerned with establishing a connection to a remote site. @ OPEN 15 This amounts to "set the Host number parameter" and "add the user to the queue of users waiting for the TIP's connection mechanism". Appendix A lists the Host numbers of all the sites currently in the network. Currently, Host addresses are single decimal numbers, as shown. Additionally the TIP accepts a two number Host address as follows: / Leading zeroes are not required. Therefore, for example, @ HOST 44, @ HOST 0/44 or @ HOST /44 are all identical. Connecting to a Host requires establishing a bi-directional link, so that the terminal can send characters to the Host and vice versa. The request to connect to a Host is thus really a request to establish both transmit and receive sections. When the user reaches the head of the queue waiting for the TIP's "connection" mechanism, the TIP will type "Trying...". Following the message "Trying", the user will receive some of the following messages: Open success* Net Trouble remote site cannot be reached Refused remote site up but refusing Host Scheduled Down Until Sat. at 1850 GMT Host will be back up at time and date indicated Host Unscheduled Down Until Sat. at 1850 GMT Host will back up at time and date indicated Host not responding Remote site not up, unknown when up service will resume ICP Interfered With The Host has not performed the ICP correctly and the TIP has refused --------------- *"Open" indicates both halves of the TELNET connection have been opened simultaneously. Sometimes "Open R" followed by "Open T" (or vice versa) will be printed; this too indicates both halves of the connection have been opened, but not simultaneously. If only "Open R" or "Open T" is printed, then the server Host has failed to open one half of the TELNET connection. Report No. 2183 Bolt Beranek and Newman Inc. Page 17 July 1977 Revision to open a connection. The connection mechanism will run continuously until a state described above occurs. This can be annoying when the remote site is obviously not going to respond. The command @ CLOSE will abort the current connection attempt. The user is then free to reattempt to open the connection or to attempt to open a connection to some other Host. The TIP's connection mechanism has caused users some problems. Perhaps a discussion of what the connection mechanism is doing and how it works will alleviate some of the grief. First of all, users attempting to connect to different Hosts will never interfere with each other, although users simultaneously attempting to connect to the same Host will be serviced serially. For the user, opening proceeds in three phases. In the first, the user is queued up waiting to "get" the TIP's connection mechanism. In the second, the user has gotten the TIP's connection mechanism and is beginning the connection sequence. In the third, the user has completed the connection sequence and is waiting for the Host to open up the actual data connections. Many of the problems stem from the fact that only one user may be proceeding through phase 2 at a given time to a given Host. Hence the the TIP types out "Trying" when you get off the queue and the connection mechanism begins trying to open your connections. Thus the "Trying" message signifies the transition from phase 1 to phase 2. Report No. 2183 Bolt Beranek and Newman Inc. Page 18 July 1977 Revision D. Use of Remote Sites In stage four, the user is normally talking to the Host without concern for the TIP. All the TIP commands are still available. One command that will eventually be of interest here is @ CLOSE This command starts the shut-down procedure. The TIP will echo "Closed"* when the process is finished. The TIP does not know how to log you out of the remote Host. You must do this yourself before closing the connection. The virtual terminal has a key labeled "BREAK". Some real terminals have a break key, and some Host systems expect to see breaks. Those terminals with a break key (but not the 2741 ATTN key) may simply use it. Others must type the command @ SEND BREAK The interpretation of the break is entirely up to the receiving Host -- many Hosts ignore it. The virtual terminal also has a key labeled "SYNC". No real terminals have such a key, and the function is unique to network use. The "SYNC" key is a clue to the remote Host that there is an important message which seems to be buffered in an "inaccessible" place. The TIP and the Host go to some trouble to get the SYNC indication over a different channel which bypasses the normal buffering conventions. The command to send a SYNC is @ SEND SYNC Typical usage of these commands might be @ S B followed by @ S S. As stated earlier, the TIP nominally treats a carriage- return typed by a user as a carriage-return/linefeed. The user may cause the TIP to treat carriage-return as only carriage-return by executing the command @CLEAR INSERT LINEFEED ----------------- *"Closed" indicates that the server Host agreed to close both halves of the TELNET connection simultaneously. If the halves of the connection are closed one after another, "Closed R" followed by "Closed T" (or vice versa) will be printed. If only one of "Closed T" or "Closed R" is printed, wait a minute and the TIP will force the other half of the connection to be closed. Report No. 2183 Bolt Beranek and Newman Inc. Page 19 July 1977 Revision To return to the nominal mode of carriage-return/linefeed, the command @INSERT LINEFEED should be executed. If at any given time the user types characters faster than a server Host will take them from the TIP, the TIP discards characters it can not buffer and echos them with an ASCII BEL (on a 2741, the type element is wiggled). The user may sometimes use a server Host with which it is desirable not to have @ be a TIP reserved character. The user can change the character which introduces TIP commands using the command @INTERCEPT # By typing @INTERCEPT followed by a decimal number representing an ASCII character, the user changes the TIP command character for his device to the ASCII character represented by the number. The INTERCEPT ESC command resets the TIP command character to at-sign (@). Thus, @INTERCEPT 42 *INTERCEPT ESC changes the TIP command character to asterisk (*) and back to at-sign (@) assuming the device was in the nominal mode (@) before the first command was executed. If the user attempts to change the intercept character but fails to type a valid decimal number (or a character string beginning with E) the TIP will type the diagnostic "Num" and will set the intercept character to at-sign. Report No. 2183 Bolt Beranek and Newman Inc. Page 20 July 1977 Revision E. Connection Loss and Restoration Starting with TENEX Hosts* running Software Version 1.32, if TENEX halts, the TIP will notify users connected to it of this fact by typing "Connection Suspended". At this point the users are free to do one of two things. First, they can wait till TENEX restores service, in which case the TIP will type out "Connection Restored" (or if after the the service interruption the connection could not be restored, the TIP will type out "Host broke the connection"). Alternatively, the user is free to open a connection to any other Host, in which case the TIP will invisibly close the TENEX connection. It is also important to point out that if a user just leaves his terminal unattended across a TENEX service outage without releasing the connection (any network related command such as @H, @O, @N, @C will do the job) his job, directory, etc., are left at the mercy of anyone who acquires that terminal. ------------------- Other Hosts may also implement the mechanisms which will allow the suspension and restoration of connections. Report No. 2183 Bolt Beranek and Newman Inc. Page 21 July 1977 Revision F. TIP News and User Feedback There is frequently information which the group developing and debugging the TIP system wishes to convey to TIP users. For instance, when a bug is detected, we may wish to warn users not to use a certain feature until the bug is fixed. When a minor improvement is made, we may wish to notify users. Further, there is frequently news about the state of the network or the state of a particular Host which should be conveyed to TIP users. Finally, TIP users may wish to communicate with the TIP development staff or the Network Control Center staff about problems or suggested improvements for the TIP or the network. Consequently, we have constructed a mechanism which we hope will provide for communication in all the above directions. This mechanism is the Network Virtual TIP Executive.* To activate this mechanism, the TIP user may give the TIP command @N. This command causes the TIP to perform the necessary protocol to make a connection to the Network Virtual TIP Executive which resides on several of the network TENEX systems. Once the Network Virtual TIP Executive has been activated, we think its operation is self-explanatory. Presently available features within the Network Virtual TIP Executive are a Network News feature, a Host Status feature, and a "Gripe" feature. The latter provides users with a mechanism for sending messages to the TIP development or NCC staffs. We recommend that TIP users get the network news at the beginning of every TIP session. The TIP will normally prompt the user to consider reading the news by typing the message: Latest net news DATE Use "@N" followed by "netnews" at some point(s) during the user's session. The point chosen is at the time of terminal recognition for "hunting" terminals (see Section 4.A), or at each time a connection is closed for "non-hunting" terminals (see Section 5.A). When a user issues an @N command, the TIP requests support from all cooperating servers. Thus, the user should be able to reach a  news facility, somewhere, almost all of the time. However, in the event that no cooperating server is available the TIP will time out the @N command in about thirty seconds. An @C command will abort an @N immediately. Of course, TIP users with an immediate need for communication with the NCC or TIP development staffs should telephone (collect) the Network Control Center (617-661-0100). Users with general questions ---------------- *A version of the Resource Sharing Executive being developed by the BBN TENEX Group. Report No. 2183 Bolt Beranek and Newman Inc. Page 22 July 1977 Revision about network usage (How do I find out if Host X is ever going to be up again? What's happening with a Host/Host protocol for graphics?) may also call the NCC. Report No. 2183 Bolt Beranek and Newman Inc. Page 23 July 1977 Revision 5. UNUSUAL USES OF THE TIP The "usual" use of a TIP is to connect one of the terminals which the TIP supports to a remote Host. We have tried to make this operation as easy and natural as possible for the user. "Unusual" uses of the TIP are such things as connecting a non-standard terminal, talking terminal-to-terminal, or using unusual protocols. Such uses are possible, but within the constraints of the TIP's size it has not always been feasible to make them easy. Report No. 2183 Bolt Beranek and Newman Inc. Page 24 July 1977 Revision A. Device Parameters The TIP uses a Hunt algorithm to determine device parameters. On standard low speed terminals it works well and easily. If something more complicated is desired, like establishing a rate over 300 bps, the user must set these parameters himself. The @DEVICE RATE command does not affect the hunt-bit. Therefore, the only way to change a port to, or from, being hunting is to have the TIP site liaison call the NCC and have it done. The TIP stores device parameters in a 10-bit field as shown below: bits -.-.-.-.-.-.-.-.-.-.- ! 4 ! 2 ! 4 ! -.-.-.-.-.-.-.-.-.-.- ! ! ! ! ! ---Input rate ! ! ! ---Character size ! ---Output rate where character size is 5 less than the number of bits per character and the 16 rates are zero, 75, 110, 134.5, 150, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, unused, unused, and external clock. The 4800, 9600 and 19.2K rates are available only for output. The user can change device parameters with the command @ DEVICE RATE # where # is the decimal equivalent of the 10-bit field the user wishes to establish. The command will often be executed from another terminal (see Section 5-D below). Report No. 2183 Bolt Beranek and Newman Inc. Page 25 July 1977 Revision Some examples follow: @D R bps 178 110 ASCII in and out 308 150 373 300 438 600 503 1200 568 1800 633 2400 754 110 in 9600 out 243 134.5 2741 in and out The user can set device code conversion with the commands @ DEVICE CODE ASCII @ DEVICE CODE EXTRA-PADDING @ DEVICE CODE OTHER-PADDING @ DEVICE CODE 37 EXTRA-PADDING is ASCII with a slow carriage-return. This mode has been found to be useful with EXECUPORT, T.I., AND DATAPOINT 3300. DEVICE CODE OTHER-PADDING is ASCII for a line-printer which requires special timing for a slow linefeed as well as a slow carriage-return and also requires a minimum number of characters per line of output. Two line-printers are currently handled via the DEVICE CODE OTHER-PADDING option. These are the ODEC printer and the MEMOREX printer. A given TIP can be configured so that DEVICE CODE OTHER-PADDING refers to either the ODEC or the MEMOREX printer but not both. Often the device code commands will be executed by one terminal for another terminal, as described in Section 5-D below. Sometimes they are executed as the last step before changing a terminal's rate. The code sets ASCII, EXTRA-PADDING, and OTHER-PADDING are similar enough so that a terminal shifting from one to another will still be able to talk to the TIP. All are basically ASCII with different timing for the end of line. DEVICE CODE ASCII clears the effect of the other three DEVICE CODE commands. The command @DEVICE CODE 37 can be used to set up the TIP to correctly handle a Model 37 Teletype, namely to compute even-parity for output characters (echoed characters have the parity they had when sent from the terminal to the TIP). Report No. 2183 Bolt Beranek and Newman Inc. Page 26 July 1977 Revision B. Talking to Another TIP One can talk to a device on another TIP (or your own TIP) using the TIP as a fancy telephone connection. This is not particularly easy, especially since the only label a TIP knows for a device is its hardware port number, which neither user may happen to know. Supposing the port numbers are known, one must establish a pair of connections between the two ports. The protocol for making connections specifies that each end of each connection will be labeled by a 32-bit socket number. The TIP puts the port number in the high order 16 bits of the socket number, and 2 (or 3) in the low order bits for the receiving (or sending) socket. The user must tell the TIP the Host number (in decimal) and socket number (in octal) for the foreign end of both the transmit and receive connections, for example, the commands @ SEND TO HOST 158 @ RECEIVE FROM HOST 158 @ SEND TO SOCKET 1600002 @ RECEIVE FROM SOCKET 1600003 Simultaneously the far end must establish the corresponding parameters for his half of the connection. Then one side or the other must initiate the connections using the two commands @ PROTOCOL TO TRANSMIT @ PROTOCOL TO RECEIVE This will open the full duplex connection. In the example above the connection is to Port 7 at Host 158. Alternately, a shorter sequence of commands may be used, namely @ HOST 158 @ SEND TO SOCKET 1600002 @ RECEIVE FROM SOCKET 1600003 @ PROTOCOL BOTH If the terminals are full duplex, it will probably be necessary for each terminal to use ECHO ALL mode. A problem in making TIP-to-TIP connections is ascertaining the port numbers of the TIP ports between which communication is desired. The greeting message typed by the TIP on a hunting port includes the octal port number. The @RESET command on non-hunting ports also provides this information. In addition, the The Network Virtual TIP Executive (@N) offers aid in this area through its TRMINF command. The socket number printed by the TRMINF command is the octal port number of the TIP terminal executing the TRMINF command via the @N command. In the future, we will possibly make available via the Network Virtual TIP Executive a capability to link and send messages to users on other TIPs and TIP ports by name. The capability already exists in Report No. 2183 Bolt Beranek and Newman Inc. Page 27 July 1977 Revision the Network Virtual TIP Executive for linking to users of some server Hosts. Report No. 2183 Bolt Beranek and Newman Inc. Page 28 July 1977 Revision C. Binary Mode Seven-bit binary is possible using the regular TELNET Protocol. It is necessary to turn on and off command interpretation to allow the TIP input routines to pass along all 128 possible input characters. There are two commands to do this, @ INTERCEPT ESC @ INTERCEPT NONE The first command puts the TIP in its normal mode, the second in 7-bit binary mode. Eight-bit binary mode is possible using the commands @ BINARY INPUT START @ BINARY INPUT END @ BINARY OUTPUT START @ BINARY OUTPUT END When a TIP is in binary output mode, all eight bits of characters coming from the network are sent to the terminal. This may result in strange things being printed on a printer. It would probably make more sense to send 8-bit binary output to devices such as paper tape punches. When a TIP is in binary input mode, all eight bits of characters entered at the terminal are sent to the network. Since commands from a terminal in binary input mode or INTERCEPT NONE mode can no longer be recognized, removing a terminal from these modes must be done with a command from another terminal as described immediately below. As the TIP's default mode is INSERT LINEFEED, the user will probably desire to CLEAR INSERT LINEFEED (@C I L) before using 8-bit binary mode; perhaps also for 7-bit binary mode. Report No. 2183 Bolt Beranek and Newman Inc. Page 29 July 1977 Revision D. Setting Another Terminal's Parameters Any command may be preceded by a number, in which case it is meant for a device other than your own. The device port number must be in octal. For example, @ 16 DEVICE RATE 633 would set the characteristics for device 16 to ASCII code, 2400 baud input and output. In this case we speak of "capturing" device 16. Such a mechanism needs some form of protection: the TIP remembers the number of the capturing device and does not allow a second device also to capture until the first device explicitly gives up control with the command @ 16 GIVE BACK If a device chooses to capture himself by preceding any command by his own device number he is then invulnerable to tampering from another device. This format is usually used in conjunction with the DEVICE RATE command to initialize some non-standard device, like a printer or a high-speed CRT terminal. Report No. 2183 Bolt Beranek and Newman Inc. Page 30 July 1977 Revision E. The DIVERT OUTPUT Command It is possible (with some care) to divert the output intended for one terminal to another terminal. Presumably the second terminal has a desired feature, like hard copy or high speed. The command @ 16 DIVERT OUTPUT will cause all remotely generated output to be diverted from the terminal on which the command was typed to Terminal 16. This state will continue until any other command is executed at the diverting terminal. (Executing another command does not do a Give Back.) Local-echoing will not be diverted, and input may proceed at the diverting terminal. This mechanism is not natural to the structure of the program. In particular, the buffer allocation structure becomes confused if the diversion aborts while output is in progress. Chained diversion will also confuse the TIP. Please don't try these things: all that will happen is that one or both terminals involved will stop responding. In fact, in general, we discourage use of the DIVERT OUTPUT command and suggest printing to TIP devices other than the user's own terminal by programs such as the TIPCOPY program which runs on many network TENEXs. Report No. 2183 Bolt Beranek and Newman Inc. Page 31 July 1977 Revision F. Editing At the moment the only editing command available is @ FLUSH which deletes all the characters in the TIP's input buffer. In current practice this command is used to clear out any odd characters stuck in a TIP prior to giving an OPEN command. (The TIP accumulates characters typed in during periods of non-connection and sends them as the first data over a new connection.) To abort a command, type a rubout or merely make something about the command illegal; for example, @O X The "X" aborts the OPEN command. Report No. 2183 Bolt Beranek and Newman Inc. Page 32 July 1977 Revision G. Wild Setting a device wild allows the device to receive any connection from a designated Host or to receive any connection from any Host. TIP ports cannot be set permanently wild from other TIP ports, they must be set wild by the NCC. The command to set a port wild is @SET DEVICE WILD This instructs the TIP to accept an attempt to connect from any Host using any sockets. This command can be cancelled by the command @CLEAR DEVICE WILD If a user desires to accept an attempt to connect from a particular Host using any sockets the set of commands @HOST # @SEND TO WILD @RECEIVE FROM WILD should be used. This instructs the TIP to accept any attempt to connect from the Host whose decimal address is specified in the Host command. Report No. 2183 Bolt Beranek and Newman Inc. Page 33 July 1977 Revision H. Low Level Protocol Commands Several low level TIP commands exist which allow the user to manually do Host/Host protocol. These commands are @ INITIAL CONNECTION PROTOCOL @ PROTOCOL BOTH @ CLOSE @ PROTOCOL TO TRANSMIT @ PROTOCOL TO RECEIVE @ RECEIVE FROM HOST # @ SEND TO HOST # @ HOST # @ SEND TO SOCKET # @ RECEIVE FROM SOCKET # Examples of the use of some of these commands are given below. @H 69 /"logging in" to a socket @R F S 13 /other than socket 1 @I C P /on a server Host @C /attempt to close both halves of /an open connection Closed R /closed R side of connection Closed T /closed T side of connection The rest of the low level protocol commands listed above were used in the example of section 5-B. There is one other low level protocol command, a command to reset the NCP in the Host specified in a @ SEND TO HOST command. Since this command resets all connections between the TIP and the specified Host, it should only be used as a last resort. A responsible person at the TIP site should contact the NCC if the need arises. The commands: @ R F H, @ S T H and @ H all require a Host address parameter. Currently, that parameter is a single decimal number. Additionally, the TIP will accept a two number Host address as follows. / Leading zeroes are not required. Therefore, for example, @ HOST 44, @ HOST 0/44, or @ HOST /44 are all identical. Report No. 2183 Bolt Beranek and Newman Inc. Page 34 July 1977 Revision I. Commands from the Network When a TIP terminal receives the character 207 (octal) in the input stream from the network, the characters following the 207 up to the next linefeed are treated as a command typed on the terminal keyboard. (The 207 takes the place of the @; the @ should not be sent through the network.) In this way Hosts can remotely control the TIP terminals. For example, a Host might send a command to the TIP which causes maximum size messages to be sent from the TIP terminal to the Host. The TIPs themselves can send commands to other TIP terminals by using the command @ SEND COMMAND which inserts the 207 character in the output stream to the network. This feature is evolving, so we do not recommend its use at the present time. It must be noted that this 'feature' is ONLY available under the OLD TELNET protocol. In theory, NEW TELNET will provide the same capabilities within the framework of the protocol itself rather than as a special mechanism for TIPs. As of this writing, however, not all the comparable options have been implemented. Report No. 2183 Bolt Beranek and Newman Inc. Page 35 July 1977 Revision J. The RESET Device Command The reset device command (@RESET) will restore a port to its initial state. Implicit in this command is the concept of a "permanent device." Currently, "permanent" is the same as "non-hunting" (see section 5-A), but this will not always be so. Permanent devices are those requiring a particular set of parameters that is not expected to change or perhaps for which the TIP cannot hunt. Examples are the IMLAC (no high speed hunt) and a line printer (no input possible). Everything is reset as follows: a. All network connections and attempts to open connections are cleared; b. If this device is captured by any other device, that state is cleared and if this device is capturing any other devices, that state is cleared; c. Input buffers are initialized; d. "Connection" parameters are reset to a default state* (i.e., echoing all, terminate every character, no insert linefeed, no device wild, intercept all); e. The code, rate, and size are set to the hunting state. f. The port's data set is hung-up. g. Sets the terminal to make connections under OLD TELNET protocol. For permanent devices the RESET command does only a, b, c, f, and g above and prints "TIP NAME" followed by the TIP version number and the octal port number. ----------------- *The default state for "binary" mode (Section 5.C) is rather complicated and is being somewhat revised. For current infor- mation, contact the NCC. Report No. 2183 Bolt Beranek and Newman Inc. Page 36 July 1977 Revision K. TIP Configuration and Device Pre-initialization The set of terminals and uses of these terminals typically varies from TIP site to TIP site. Therefore, the TIP software system has been constructed in a way which is somewhat modular to permit varying configurations of the TIP software at different sites. For instance, with line printers, it is possible for a given TIP system to contain code to handle an ODEC line printer or a MEMOREX line printer or neither (not both). As another example, it is possible to distribute the available space for device buffers among all sixty-three TIP ports or to allocate the available space to only a few ports (thus effectively disabling the remaining ports). Finally, it is possible to configure the TIP so certain ports are automatically set up to have pre-determined parameters at TIP initialization time, thus relieving TIP site personnel or users of the burden of manually setting up these device parameters. The complete list of presently available options is given below: 1. TIP configured with ODEC code or MEMOREX code or neither. 2. TIP configured with EXTRA-PADDING code or without it. 3. TIP port pre-initialization a. Input buffer size b. Output buffer size c. Input rate d. Output rate e. No hunt or hunt (see section A) f. Extra-padding (D C E) or not g. Other-padding (D C O) or not h. Wild (S D W) or not i. No insert linefeed (C I L) or not j. Half duplex (E H) or not k. No intercept character (I N) or any intercept character l. Echo none (E N) or not m. Compute 37 parity (D C 3) or not Of the above, f, g, and m are mutually exclusive, j and l are mutually exclusive, and f through m depend on e being set to no hunt. Some configuration must be specified for each TIP. If nothing is specified by the TIP site personnel, the TIP will be configured in an arbitrary (but hopefully reasonable) manner. Requests for specific TIP configurations should be made by the designated representative of the TIP site to the Network Control Center. Report No. 2183 Bolt Beranek and Newman Inc. Page 37 July 1977 Revision 6. MAPPING THE VARIOUS DEVICES INTO THE NETWORK VIRTUAL TERMINAL A. TTY and TTY-like Devices (ASCII) At the moment this conversion follows the simple rule that if the terminal can generate and/or print the code it will be sent and/or received. Otherwise there is no way to use the code. For example, there is no way to enter lower case characters from a Model 33 Teletype. B. 2741 and 2741-like Devices (transmit interrupt and receive interrupt options required) The rule for these devices is if the terminal has the ASCII graphic it will translate directly to that graphic. Otherwise a number of equivalences are defined, most of which consist of the character double-quote followed by some other character. For each of the eight variations of 2741 that we have considered there is at least one way to type in the desired ASCII graphic. To actually type in the character double quote, two double quotes must be struck in succession. On output, ASCII characters which print on a Model 37 Teletype but have no representation on a 2741 are printed as the equivalents used to type in the character, with some exceptions. ASCII characters which do not print on a Model 37 Teletype do not print on a 2741. A double quote is not printed as two double quotes; thus, on output the user must sometimes determine what was printed from the context as there is no unambiguous representation of all the ASCII characters. The ATTN key is used to interrupt output. It signals the TIP to hold off output for the duration of one TIP command; it is not seen by the remote Host. If used during input it is taken as a request to send all the accumulated characters to the remote Host (like @TRANSMIT NOW). Report No. 2183 Bolt Beranek and Newman Inc. Page 38 July 1977 Revision C. ASCII/2741 Conversion Table If this table is printed on-line, it is meant to be printed on a printer possessing the full ASCII character set. Except where noted, on input, any of the alternate 2741 representations of the ASCII character which it is possible to type on the given 2741 may be used. On output, the single character representation is chosen when possible. In the "Symbol" column of the table, is used to indicate control; e.g., R means control-R. Not all ASCII terminals have a left arrow -- some have an underbar instead. Likewise, some ASCII terminals have a caret where others have an uparrow. Report No. 2183 Bolt Beranek and Newman Inc. Page 39 July 1977 Revision ASCII ASCII 2741 Octal Decimal Name Symbol Representation 0 0 NUL @ "P (no output) 1 1 SOH A "a (no output) 2 2 STX B "b (no output) 3 3 EXT C "c (no output) 4 4 EOT D "d (no output) 5 5 ENQ E "e (no output) 6 6 ACK F "f (no output) 7 7 BEL G "g 10 8 BS H "h or BS (output only) 11 9 HT I "i or HT (output only) 12 10 LF J "j or LF (output only) 13 11 VT K "k (no output) 14 12 FF L "l (no output) 15 13 CR M "m or NL (output only) 16 14 SO N "n (no output) 17 15 SI O "o (no output) 20 16 DLE P "p (no output) 21 17 DC1 Q "q (no output) 22 18 DC2 R "r (no output) 23 19 DC3 S "s (no output) 24 20 DC4 T "t (no output) 25 21 NAK U "u (no output) 26 22 SYN V "v (no output) 27 23 ETB W "w (no output) 30 24 CAN X "x (no output) 31 25 EM Y "y (no output) 32 26 SUB Z "z (no output) 33 27 ESC [ "K or cent-sign (no output)* 34 28 FS \ "L (no output) 35 29 GS ] "M (no output) 36 30 RS "N (no output) 37 31 US  "O (no output) ----------- *A cent-sign will print if the 2741 has one, otherwise there will be no output. Report No. 2183 Bolt Beranek and Newman Inc. Page 40 July 1977 Revision 40 32 SP space space 41 33 ! ! or plus-minus-sign 42 34 " "" (input) and " (output) 43 35 # # or "= 44 36 $ $ or "& 45 37 % % or "? 46 38 & & or "$ 47 39 ' ' or ", 50 40 ( ( or "< 51 41 ) ) or "> 52 42 * * 53 43 + + or sideways-group-mark 54 44 , , 55 45 - - 56 46 . . 57 47 / / 60 48 0 0 61 49 1 1 or degree-sign or box 62 50 2 2 63 51 3 3 64 52 4 4 65 53 5 5 66 54 6 6 67 55 7 7 70 56 8 8 71 57 9 9` 72 58 : : 73 59 ; ; 74 60 < < or "( 75 61 = = or delta-sign 76 62 > > or ") 77 63 ? ? Report No. 2183 Bolt Beranek and Newman Inc. Page 41 July 1977 Revision 100 64 @ @ or "+ 101 65 A A 102 66 B B 103 67 C C 104 68 D D 105 69 E E 106 70 F F 107 71 G g 110 72 H H 111 73 I I 112 74 J J 113 75 K K 114 76 L L 115 77 M M 116 78 N N 117 79 O O 120 80 P P 121 81 Q Q 122 82 R R 123 83 S S 124 84 T T 125 85 U U 126 86 V V 127 87 W W 130 88 X X 131 89 Y Y 132 90 Z Z 133 91 [ [ or "B 134 92 \ \ or "/ 135 93 ] ] or "E 136 94 caret or uparrow or "! or "plus-minus-sign 137 95  underbar or slash-b Report No. 2183 Bolt Beranek and Newman Inc. Page 42 July 1977 Revision 140 96 ` "* 141 97 a a 142 98 b b 143 99 c c 144 100 d d 145 101 e e 146 102 f f 147 103 g g 150 104 h h 151 105 i i 152 106 j j 153 107 k k 154 108 l l 155 109 m m 156 110 n n 157 111 o o 160 112 p p 161 113 q q 162 114 r r 163 115 s s 164 116 t t 165 117 u u 166 118 v v 167 119 w w 170 120 x x 171 121 y y 172 122 z z 173 123 { "6 174 124 | vertical-bar or "V 175 125 } "9 176 126 tilde } not-sign or "underbar 177 127 DEL rubout "D (no output) Report No. 2183 Bolt Beranek and Newman Inc. Page 43 July 1977 Revision 7. TIP MESSAGES TO THE TERMINAL USER BAD The TIP doesn't recognize the command Closed Connection closed, usually by server Host Connection Restored Destination Host has restored the connection as it was before the Host halted. Connection Suspended Destination Host has halted operation. Host broke the connection The Destination Host's service is restored but all network connection tables have been reset. Host not responding Destination Host not up from the network's point of view. It is not known when service will resume. Host Scheduled Down Until ... Destination Host is scheduled down until the date and time indicated. Host Unscheduled Down Until ... Destination Host is unscheduled down until the date and time indicated. ICP Interferred With The Host has not performed the ICP correctly and the TIP has refused to open a connection. Latest Net news... Use "@N" followed by "netnews" The TIP is conveying to the user the date the latest news item for TIP users was generated. Net Trouble Destination IMP cannot be reached due to some kind of trouble in the network. NO Parameters may not be set for specified terminal. Num The TIP expected a number -- command terminated. Open Connection opened by server Host. R Refers to the Receive side of a connection. Refused The remote Host rejected the attempt to establish connections. Report No. 2183 Bolt Beranek and Newman Inc. Page 44 July 1977 Revision T Refers to the Transmit side of a connection. TIP GOING DOWN The TIP is going down in the number of minutes indicated -- quickly stop what you are doing and stop using the TIP. TIP NAME The TIP heard the user dial in and establish rate. The number following NAME is the TIP software system version number. It is followed by the octal port number. Trying The TIP is now servicing the user's OPEN request. Wait The TIP is attempting to contact an RSEXEC Server. Report No. 2183 Bolt Beranek and Newman Inc. Page 45 July 1977 Revision 8. TIP MAGNETIC TAPE OPTION As one method of increasing the usefulness of the Terminal IMP, we have developed a magnetic tape transfer capability as a TIP option. The first such option was delivered to the field during the first quarter of 1972. In order to ease the problems of interfacing such a specialized terminal type, we chose to specify the attachment of a standard Honeywell peripheral unit rather than attempting to solve the problem of tape drive attachment in a more generalized way. The unit chosen is the Honeywell 316-4021 option which consists of a tape drive controller and one drive unit (the controller itself is capable of handling up to seven additional 316-4022 drives). The characteristics of the tape drive include: - Read/write speed of 26 inches per second - Seven-track tapes - Even or odd parity (program selectable) - Industry compatible 200, 556, or 800 bpi In addition to the tape drive and controller, the problem of programming for the controller and the buffering of tape records dictated the addition of a separate 4K memory bank to TIPs equipped with this option. The most immediate pressure for the addition of a magnetic tape option to the TIP was the desire to enable a pair of TIP users to copy tapes over the network from one TIP to another, rather than shipping physical tapes by mail. The magnetic tape system communicates with the network through the TIP, although in many cases it bypasses the usual TIP code, substituting its own procedures to allow for the special nature and relatively high data rate of a magnetic tape terminal. In most respects, however, the tape unit appears as a standard terminal, arbitrarily designated number 77. On a TIP equipped with magnetic tape, line 77 cannot be used as an external terminal. An additional terminal is required to issue commands to the tape and receive status information and error comments. This may be of any type and may be connected to any line. Its use as the tape-controlling terminal can be concurrent with its normal usage. The specific hardware design of the magnetic tape units used dictates some constraints. Tape format is 7-track using either odd or even parity. In memory, tape frames are stored two to a word occupying the high order twelve bits of each word. Frames can only be written in pairs; reading a record with an odd number of frames causes the control unit to append an extra null frame to the record in memory. The maximum record length is 2400 characters (frames). This limit is based on the amount of TIP core available for buffering. If all maximum length records are used, this results in an 80% Report No. 2183 Bolt Beranek and Newman Inc. Page 46 July 1977 Revision utilization of tape space at 800 bpi (the remainder is inter-record gaps). The commands relating to magnetic tapes are of a less general form than other TIP commands. Neither multiple spaces nor word completion are presently permitted, and numbers are used to distinguish different commands. The format is @ M #1 #2, where #1 and #2 are the command number and its argument respectively. The commands, their numbers and arguments are: Rewind 1 decimal-count Forward Space Record 2 decimal-count Forward Space File 3 decimal-count Backward Space Record 4 decimal-count Backward Space File 5 decimal-count Read Record 6 decimal-count Read File 7 decimal-count Write Record 8 decimal-count Write File 9 decimal-count Transfer Files 10 decimal-count Setup TIP-TIP Copy 11 foreign-TIP-number Abort and Initialize 12 parity (i.e. even or odd) Write File Mark 13 decimal-count Set Parity 14 even-or-odd A file mark is treated by the hardware as a record and must thus be accounted for when spacing or reading by the RECORD commands. The SETUP COPY command is used in the establishment of a connection between TIPs, described below. There are some important things to note about magnetic tape commands. All regular TIP commands given for the tape, e.g., those specifying Host or socket parameters, must be preceded by 77. This, of course, captures the tape drive for the terminal giving the commands. All special tape commands (those beginning with M), implicitly capture device 77 in the same way. Thus once any terminal issues a command for device 77 or any MAG command, it has captured the magnetic tape; no one else is permitted to control it until the owning terminal has issued the @77 GIVE BACK command. A network connection must exist before information may be transferred. A typical sequence of TIP commands which might establish a connection between two magnetic tapes follows: at each TIP, the operator would issue a Setup Copy command to the Host number of the other TIP. This command establishes socket numbers for the "standard" TIP-to-TIP magnetic tape connection. Status information about this connection such as Open, Closed, etc. will be followed by MTR and MTT rather than the usual R and T to differentiate magnetic tape activity from other activity of the controlling terminal. Then the write side would give a Transfer Files command which would close MTT and MTR if necessary, and open MTT. When MTT opens, a request is sent to the other TIP, and MTT is closed. The request prompts the other TIP to open MTR (his MTT), rewind his tape, read and send the requested Report No. 2183 Bolt Beranek and Newman Inc. Page 47 July 1977 Revision number of files, rewind his tape, and close the connection. The writing TIP also rewinds its tape after writing the last file. Errors and abnormal status conditions are detected and messages are typed out on the controlling terminal. Errors which will be of significance to the operator include: UNREC ERR Unrecoverable read or write errors after 20 retries -- a bad spot in the tape or tape drive hardware problems. The results of the 20th try are used. TIMEOUT The tape controller remains busy or no network activity occurs for too long. The command is aborted. OFFLINE The mag tape unit is somehow not operational (power off, no tape mounted, vacuum off, wrong unit number, etc.). The command is aborted. EOT The tape has moved past the end-of-tape marker. The command is aborted. The error messages may be followed by MTR or MTT to denote which side of the connection originated the message. At the request of the TIP sites with magnetic tape option, records read in error presently are reread many times and then transmitted anyway after printing an error message. If aborted by an error condition, the Transfer Files command will attempt to restart the transfer requesting the other TIP to rewind its tape, skip over as many files as have already been written and send the remaining files. Report No. 2183 Bolt Beranek and Newman Inc. Page 48 July 1977 Revision 9. CONNECTION OF TERMINALS TO THE TIP A. General Comments The TIP allows the connection of most terminals that conform to the EIA RS232 standard. The TIP is built such that it appears to a terminal to be a modem and appears to a modem as a terminal. If a terminal has a 25 pin connector (DB25P, several manufacturers) and works with a 103 modem or equivalent, it will probably work when plugged into an LIU card marked "T". Appendix D lists terminals that have been used. This section specifies the interface between a terminal and the TIP. See Section 9-C for connections involving modems. It is hoped that by examining this section, an engineer will be able to determine whether he has met the conditions necessary for proper operation of a terminal connected to the TIP. To a large extent, the TIP follows EIA Standard RS-232C. Familiarity with that document is recommended. (The pin allocations specified by that standard are given inside the front cover.) In order to connect a terminal to the TIP without modems, one must look like a modem to the other. Input and output connections are therefore cross-connected at the LIU pads, as shown in Table 9-1. Expansions to this specification are planned in the future (particularly as this relates to control signals). It is therefore very important that this section be kept up-to-date as revisions are provided. Connector - The connector from the terminal should be equivalent to a Cinch DB-25P. It is recommended that extension cords for terminals provide for all 25 pins in order to allow for future changes. Signal Levels - All signals are represented by bipolar low voltage levels. All signals are measured with respect to signal ground. The source of a signal shall deliver a voltage of magnitude between 3 and 25 volts into a load of not less than 3000 ohms. The reactive component of the load shall not be inductive, and the capacitance shall not exceed 2500 pfd. measured at the interface connector. The signals shall be interpreted in this way: Report No. 2183 Bolt Beranek and Newman Inc. Page 49 July 1977 Revision Data Signals -25Computer (System) ------------------------------------------------------------------- 1 0/1 UCLA-ATS PDP-11/45 (ANTS, ELF, UNIX, or UCLA-VMN) 65 1/1 UCLA-CCN IBM 360/91 (OS/MVT and TSO) 129 2/1 UCLA-SECURITY PDP-11/45 (UNIX) 2 0/2 ARC-RD PDP-11/40 (ELF) 66 1/2 SRI-KL DEC-1090T (TOPS-20) 130 2/2 SRI-VIS11 PDP-11/10 194 3/2 SRI-NSC11 PDP-11/40 (ELF) -> SPS-41 (D0S) 3 0/3 NOSC-CC PDP-11/40 (ELF) -> UNIVAC 1110 67 1/3 NOSC-SECURE1 PLI -> H-716 -> UNIVAC 1108 131 2/3 NOSC-SDL PDP-11/40 (ELF, UNIX) 195 3/3 NWC PDP-11/40 -> UNIVAC 1110 4 0/4 UTAH-11 PDP-11/45 (RSX11M) 132 2/4 UTAH-TIP 5 0/5 BBN-TENEXE PDP-10 (TENEX) 69 1/5 BBN-INLAT PDP-11/40 (Custom built) 133 2/5 BBN-PTIP PLURIBUS 197 3/5 BBN-TENEXA DEC-2050T (TOPS-20AN) 6 0/6 MIT-MULTICS H-6180 (MULTICS) 70 1/6 MIT-DMS PDP-10 (ITS) 134 2/6 MIT-AI PDP-10 (ITS) -> PDP-11 -> PDP-6 198 3/6 MIT-ML PDP-10 (ITS) 7 0/7 RAND-RCC IBM 370/158 (OS/MVT 21.7, HASP, WYLBUR) 135 2/7 RAND-TIP 199 3/7 RAND-UNIX PDP-11/70 (UNIX) 8 0/8 NRL PDP-11/40 -> TI-ASC 72 1/8 NSRDC PDP-11/40 -> CDC 6400 136 2/8 NSWC-DL PDP-11/40 -> CDC 6700 200 3/8 NADC PDP-11/40 -> CDC 6500 264 4/8 NSWC-WO PDP-11/40 -> CDC 6500 9 0/9 HARV-10 PDP-10 (TOPS-10) 10 0/10 LL IBM 370/168 (VM/370) 202 3/10 LL-11 PDP-11/45 (UNIX) -> SPS-41 (DOS) Report No. 2183 Bolt Beranek and Newman Inc. Page 56 July 1977 Revision 11 0/11 SU-AI DEC-20/40 (TOPS-10) -> PDP-10 (TOPS-10) -> PDP-11/45 -> SPS-41 (DOS) -> PDP-6 12 0/12 ILL-CAC PDP-11/50 (UNIX) 76 1/12 ILL-NTS PDP-11/20 (ANTS) or PDP-11/50 (UNIX) 13 0/13 GUNTER-ELF PDP-11/35 (ELF) -> B-4700 (MCPV) 141 2/13 GUNTER-TIP 14 0/14 CMU-10B PDP-11 -> PDP-10 (TOPS-10) 78 1/14 CMU-10A PDP-11 -> PDP-10 (TOPS-10) 142 2/14 CMU-10C DEC-1090T (TOPS-20AN) -> PDP-11 (UNIX) 206 3/14 CMU-CMMP 4 PDP-11/20s + 12 PDP-11/40s (HYDRA) Multiprocessor 15 0/15 I4-TENEX PDP-10 (TENEX) -> ILLIAC-IV (ACL) -> B-6700 -> ILLIAC-IV (ACL) -> PDP-11s-> ILLIAC-IV (ACL) 79 1/15 I4-ELF PDP-11 (ELF) -> ILLIAC-IV (ACL) 143 2/15 I4B-TENEX PDP-10 (TENEX) -> ILLIAC-IV (ACL) 16 0/16 AMES-67 IBM-360/67 (TSS/360) 144 2/16 AMES-TIP 208 3/16 AMES-11 PDP-11/45 (ELF) -> PDP-11/10 145 2/17 MITRE-TIP 18 0/18 RADC-MULTICS H-6180 (MULTICS) 82 1/18 ROCHESTER DCU-50 -> ECLIPSE 450B 146 2/18 RADC-TIP 210 3/18 RADC-XPER PDP-11/40 (RSX11M, ELF, UNIX) 19 0/19 NBS-10 PDP-10 (TOPS-10) 147 2/19 NBS-TIP 211 3/19 NBS-UNIX PDP-11/45 (UNIX) -> Internal Network 20 0/20 CCTC PDP-11/70 (UNIX) -> H-6000 (GCOS) 148 2/20 DCA-TIP 212 3/20 DCEC PDP-11/40 (RSX11M, RSX11D) 21 0/21 LLL-COMP PDP-11/70 (RATS, UNIX) 85 1/21 LLL-MFE PDP-10 up Fall 77 22 0/22 ISI-SPEECH11 PDP-11/45 (EPOS, DOS) -> FPS AP-120B 86 1/22 USC-ISI PDP-10 (TENEX) 150 2/22 USC-ISIC PDP-10 (TENEX) 151 2/23 USC-TIP 215 3/23 USC-ECL PDP-10 (TENEX) 152 2/24 GWC-TIP Report No. 2183 Bolt Beranek and Newman Inc. Page 57 July 1977 Revision 89 1/25 OT-ITS PDP-11/40 (ELF) 153 2/25 DOCB-TIP 154 2/26 PENTAGON-TIP 218 3/26 PENT-UNIX PDP-11 (UNIX) 27 0/27 BELVOIR PDP-11/40 (ANTS) 28 0/28 ARPA-DMS PDP-15 (DMS) 92 1/28 ARPA PDP-11/70 (UNIX) up Fall 77 156 2/28 ARPA-TIP 220 3/28 ARPA-XGP11 PDP-11/40 (ELF) -> Xerox Graphics Printer 29 0/29 BRL PDP-11/40 (ANTS, ELF) 158 2/30 BBN-TESTIP 31 0/31 CCA-TENEX PDP-10 (TENEX) -> DATACOMPUTER 95 1/31 CCA-SPEECH PDP-11/40 223 3/31 CCA-SIP PDP-11/40 (SIP Custom) 32 0/32 PARC-MAXC MAXC (TENEX) 96 1/32 PARC-GATEWAY NOVA-800->Internal Net->PARC-MAXC2 (TENEX) 33 0/33 FNWC CDC-3200 -> CDC-6500 (SCOPE) 34 0/34 LBL CDC-6600 (SESAME) -> CDC-7600 (BKY) 35 0/35 NOSC-SECURE2 PLI -> PDP-10 (TENEX) 99 1/35 LOGICON PDP-11/45 (UNIX) 163 2/35 ACCAT-TIP 227 3/35 NOSC-SECURE3 PLI -> PDP-11/70 (UNIX) 164 2/36 CINCPAC-TIP 101 1/37 DEC-MARLBORO DEC-1090T (TOPS-20AN) 39 0/39 SDAC-CCP PLURIBUS 103 1/39 SDAC-DP IBM 360/40 (DOS/360) 167 2/39 SDAC-NEP IBM 360/40 (DOS/360) 231 3/39 SDAC-44 IBM 360/44 (DOS) 40 0/40 BBN-NCC H-316 168 2/40 NCC-TIP 232 3/40 BBN-GATEWAY PDP-11 41 0/41 NORSAR-40A IBM 360/40 (DOS 15) 105 1/41 NDRE NORD-10 (SINTRAN-3) up 7/77 169 2/41 NORSAR-TIP 233 3/41 NORSAR-11 PDP-11 Report No. 2183 Bolt Beranek and Newman Inc. Page 58 July 1977 Revision 42 0/42 LONDON PDP-9 -> IBM 360/195 Dual Processor (OS and ELECTRIC) -> CDC 6400/6600->7600(SCOPE) -> GEC 4080 (GECOS) -> ICL System 4-72 106 1/42 LONDON-VDH PDP-9 170 2/42 LONDON-TIP 234 3/42 LONDON-SATNET- GATEWAY PDP-11 171 2/43 TYMSHARE-TIP 44 0/44 MIT-DEVMULTICS H-68/80 (MULTICS) 108 1/44 LL-ASG PDP-11/50 (UNIX) 172 2/44 MIT-TIP 236 3/44 MIT-MC DEC-10/80 (ITS) 45 0/45 MOFFETT-ARC PDP-10 (TENEX) 109 1/45 MOFFETT-SUBNET PL1 -> PDP-10 (TENEX) 46 0/46 RUTGERS-10 PDP-10 (TOPS-10) 110 1/46 UPENN 174 2/46 RUTGERS-TIP 238 3/46 NUSC PDP-11/40 (ELF) -> UNIVAC 1108 47 0/47 WPAFB PDP-11/50 (RSX11M) -> CDC-6600 (SCOPE) 111 1/47 WPAFB-AFAL VDA -> PDP-10 (TOPS-10) -> PDP-10 175 2/47 WPAFB-TIP 48 0/48 AFWL PDP-11/50 (RSX11M) -> CDC-6600 (SCOPE) 112 1/48 ASL PDP-11/10 (ELF) 176 2/48 AFWL-TIP 49 0/49 BBN-TENEXB PDP-10 (TENEX) 113 1/49 BBN-TENEXD DEC-1090T (TOPS-20AN) 177 2/49 BBN-SPEECH-11 PDP-11/40 (RT11) -> SPS-41 (EPOS) 241 3/49 BBN-TENEX PDP-10 (TENEX) 51 0/51 SRI-KA PDP-10(TENEX) 115 1/51 SRI-IA11 PDP-11/40 (RSX11M) 243 3/51 SRI-PKT11 PDP-11/40 (ELF,RT11,DOS)->Packet Radio Net 52 0/52 ISI-XGP11 PDP-11/40 (ELF) -> Xerox Graphics Printer 116 1/52 USC-ISIE DEC-1090T (TOPS-20AN) 244 3/52 USC-ISIB PDP-10 (TENEX) 53 0/53 EGLIN PDP-11/45 (RSX11M) -> CDC-6600 (SCOPE) 117 1/53 NCSL PDP-11/40 (ELF) -> B-5500 54 0/54 SCRL-DEV PDP-11 (RSX11) 118 1/54 SCRL-RSX PDP-11/45 (RSX11) 182 2/54 CHII MP-32/MP-32A -> AP-90 (SIGNAL) Report No. 2183 Bolt Beranek and Newman Inc. Page 59 July 1977 Revision 55 0/55 ANL VARIAN-73->IBM 370/195 (OS/MVT 21.7,ASP 3.1) 56 0/56 SUMEX-AIM PDP-10 (TENEX) Dual Processor -> PDP-10 57 0/57 NSA PDP-11/40 (ELF) 58 0/58 NYU PDP-11/40 (ELF) -> CDC-6600 (KRONOS) 122 1/58 BNL PDP-11/34 -> 2 CDC-6600s -> CDC-7600 (ELF)->(SCOPE 3.4)->(SCOPE 2.1, INTERCOM) 59 0/59 ETAC PDP-11/45 (ELF) 62 0/62 UTEXAS PDP-10 (TENEX) Report No. 2183 Bolt Beranek and Newman Inc. Page 60 July 1977 Revision APPENDIX B: COMMAND SUMMARY* Section BINARY INPUT END Leave 8-bit binary input mode 5-C BINARY INPUT START Enter 8-bit binary input mode 5-C BINARY OUTPUT END Leave 8-bit binary output mode 5-C BINARY OUTPUT START Enter 8-bit binary output mode 5-C CLEAR DEVICE WILD Set device to be unwild 5-G CLEAR INSERT LINEFEED Stop inserting linefeed after carriage-return 4-B CLOSE Close all outstanding connections, or abort current Host login 4-D DEVICE CODE 37 Establish parity computation for Model 37 Teletype 5-A DEVICE CODE ASCII Establish code conversion for an ASCII terminal 5-A DEVICE CODE EXTRA-PADDING Establish code conversion for a terminal with slow CR 5-A DEVICE CODE OTHER-PADDING Establish code conversion for a line printer 5-A DEVICE RATE # # is a 10-bit code specifying hardware rate and 5-A character size settings # DIVERT OUTPUT Capture device # and divert this terminal's output 5-E to it. # is an octal number. ECHO ALL Local TIP-generated echo -- TIP echoes everything 4-B --------------- * # denotes a decimal number unless otherwise stated Report No. 2183 Bolt Beranek and Newman Inc. Page 61 July 1977 Revision ECHO HALFDUPLEX Terminal-generated echo -- TIP echoes nothing 4-B ECHO LOCAL Send the Telnet "ECHO LOCAL" character and 4-B perform internal E A ECHO NONE Remote Host-generated echo for data -- 4-B TIP echoes commands ECHO REMOTE Send the Telnet "ECHO REMOTE" character and 4-B perform internal E N FLUSH Delete all characters in input buffer 5-F # GIVE BACK Release control of captured device #. 5-D # is an octal number. HOST # Simultaneous "@S T H" and "@R F H" 5-B INITIAL CONNECTION PROTOCOL Start the initial connection protocol 5-H INSERT LINEFEED Insert linefeed after carriage-returns 4-D INTERCEPT # Use # as TIP command character 4-D INTERCEPT ESC 4-D Leave 7-bit binary mode 5-C INTERCEPT NONE 4-D Enter 7-bit binary mode 5-C LOGIN # An obsolete form of OPEN M # # Mag tape command # with argument # 8 NETWORK-VIRTUAL-TIP-EXECUTIVE 4-F Connects the user to the Network-Virtual- TIP-Executive. OPEN # Open a bi-directional connection to the Host decimal address is specified 4-C Report No. 2183 Bolt Beranek and Newman Inc. Page 62 July 1977 Revision PROTOCOL BOTH Simultaneous "@P T T" and "@P T R" 5-B PROTOCOL TO RECEIVE Manually initiate connection protocol 5-B PROTOCOL TO TRANSMIT Manually initiate connection protocol 5-B RECEIVE FROM HOST # Establish Host # parameter for manual 5-B initialization RECEIVE FROM SOCKET # Establish socket # parameter for manual 5-B initialization of connection -- socket # is given in octal RECEIVE FROM WILD Equivalent to "@R F S " 5-G RESET Reset current TIP port parameters 5-J Reset NCP Resets NCP 5-H SEND BREAK Send the Telnet "BREAK" character 4-D SEND COMMAND Send the command escape character 5-I SEND SYNC Send the Telnet "SYNC" character and 4-D an "INTERRUPT SENDER" message SEND TO HOST # Establish Host # parameter for manual 5-B initialization of connection SEND TO SOCKET # Establish socket # parameter for manual 5-B initialization of connection -- socket # is given in octal SEND TO WILD Equivalent to "@S T S " 5-G SET DEVICE WILD Equilvalent to the commands "@R F H ", 5-G "@S T H ", "@S T S ", and "@R F S ". Report No. 2183 Bolt Beranek and Newman Inc. Page 63 July 1977 Revision TRANSMIT EVERY # Send off input buffer at least every #th 4-B character where 0<#<256 TRANSMIT NOW Send off input buffer now 4-B TRANSMIT ON LINEFEED Send input buffer every time a linefeed is 4-B encountered TRANSMIT ON MESSAGE-END Send input buffer every time an end-of-message 4-B is encountered Report No. 2183 Bolt Beranek and Newman Inc. Page 64 July 1977 Revision APPENDIX C: BIBLIOGRAPHY Most of the following should be available through your Network Information Center Technical Liaison or the ARPA Network Information Center Augmentation Research Center Stanford Research Institute 333 Ravenswood Avenue Menlo Park, California 94025 Specifications for the Interconnection of a Host and an IMP, BBN Report No. 1822 (IMP-HOST section of NIC 7104). The Interface Message Processor for the ARPA Computer Network, Heart et al, Proceedings AFIPS 1970 Spring Joint Computer Conference (NIC 4655). The Network Working Group "Request for Comments" Series: A Set of Working Papers on Host Protocol. The Network Resource Notebook, NIC 6740. The BBN Terminal Interface Message Processor (Hardware Manual), BBN Report No. 2184. ARPA Network Current Network Protocols, NIC 7104. The Terminal IMP for the ARPA Computer Network, Ornstein et al, Proceedings AFIPS 1972 Spring Joint Computer Conference. Terminal Access to the ARPA Network: Experience and Inprovements, Mimno et al, COMPCON 73, Proceedings Seventh Annual IEEE Computer Society International Conference, San Francisco, February 27 - March 1, 1973. TIP Users Group Notes, a series of informal notes designed to increase communication among the developers of the TIP, TIP users, and Hosts frequently used from TIPs. To be put on the distribution list for these notes, apply to the NIC Technical Liaison. Report No. 2183 Bolt Beranek and Newman Inc. Page 65 July 1977 Revision APPENDIX D: TERMINALS USED WITH THE TIP The following terminals are reputed to have worked with the TIP. See the Introduction (Section 1). A. B. DICK VIDEOJET 9600 LINE PRINTER (2400 bps) ANDERSON-JACOBSON (models 630 and 841) ARDS KSR-35 Teletype CALCOMP 565 CDI 1030/ "MULTICS" Terminal DATA 100 (model 73) DATAPOINT (models 2200, 3000, and 3300) DELTA TELTERM 2 DIGITAL EQUIPMENT CORP. (models VT05 and GT40A) EDT 1200 HAZELTINE 2000 LINEOLEX (model A) MEMOREX 1240 SUGARMAN (model S-4300) TECTRAN CASSETTE TEKTRONICS (models 4010 and 4013) TELETERM (model 1030) TELETYPE (MODEL 38) TERMINET 300 TI Silent 700 TYCOM TRENDATA (model 1000) UNIVAC DCT 500 VIDEO SYSTEMS (models 1200 and 5000) We would be pleased to hear of any other terminals that have operated on a TIP. At the International Conference on Computer Communications held in Washington, D.C., in October 1972, we had the opportunity to personally test a number of the above terminals with the TIP. As a result of this experience we now hold opinions as to the methods and difficulty of connecting a number of these terminals to the TIP. We suggest you call the Network Control Center to be put in touch with someone about this subject. Report No. 2183 Bolt Beranek and Newman Inc. Page 66 July 1977 Revision APPENDIX E: NEW TELNET PROTOCOL IMPLEMENTATION The NEW TELNET protocol has been implemented in TIP systems numbered greater than 350. Wherever possible, the TIP should appear just the same to the user, but some differences do occur. Some background information is perhaps useful. Both protocols are based on the concept of the NETWORK VIRTUAL TERMINAL, as described in Section 2; each also defines TELNET commands that may be sent to instruct the other side, for instance, concerning echo mode. In the OLD TELNET, such commands are unequivocal demands, and cannot be refused even if the state is undesirable. A Host can of course undo the state with a counter command of its own, but it first must understand what has happened; in addition, there is no guarantee that the same sequence won't occur again. The NEW TELNET protocol defines a minimal default set of parameters, then allows each side to negotiate for non-standard options. No Host is required to accept an undesirable state; in fact, a Host can simply refuse to do "whatever the other side requested" and need not even understand what it has just refused. This protocol should allow sophisticated Hosts to define complex options without burdening simpler Hosts. A direct implication to the TIP user is that a "command" is now a "request" and may be refused. It is possible, for instance, to ask for remote echoing (local echo is the default) and not get it. In practice, systems provide the same, or increased, capabilities under the new protocol. On the positive side, the TIP now acts as an advocate for the remote terminal user. In the case of a halfduplex terminal like the 2741, the TIP can refuse to accept the remote echo option and the user no longer needs to cope with double echoing when the connection opens. The NEW TELNET protocol specifically affects the following aspects of the TIP. A. Getting In and Out of NEW TELNET Mode The commands @OLD TELNET and @NEW TELNET set the TIP to expect OLD or NEW TELNET respectively. The default as of this writing is OLD TELNET, and @RESET automatically returns the device to OLD TELNET for all devices. This action also occurs when a non-permanent, that is, hunting terminal, hunts to its correct rate. The TIP saves this mode state for each device. When a command is given, for say echo or binary, the TIP determines which protocol the device is using and responds appropriately. Report No. 2183 Bolt Beranek and Newman Inc. Page 67 July 1977 Revision B. Echoing The TIP echo commands have the same meaning in NEW TELNET as in OLD TELNET, as revised above. In addition, the TIP now remembers the mode that the user desires, even though it may not be possible to be in that state at the time. If the command is given when a connection is open, the effect is the same as OLD TELNET, with the TIP sending the request to the remote Host. If, however, the command is given while the connection is closed, the TIP will save the user's request and send it to the remote Host automatically, each time a connection opens. Non-hunting terminals will continue to be pre-initialized as arranged by the designated site representative and the Network Control Center. Most hunting terminals will default to remote echo mode; however, physical halfduplex terminals (2741s) will not accept remote echoing ever, whether hunting or not. C. Binary Input and Output Options Binary input and/or binary output are available under the NEW TELNET protocol. The commands are: @ BINARY INPUT START begins binary input mode @ BINARY INPUT END ends binary input mode @ BINARY OUTPUT START begins binary output mode @ BINARY OUTPUT END ends binary output mode As with the echo option, the TIP sets an internal flag for the mode the user wishes, and attempts to get the remote Host to agree. This feature is not yet automatic: the TIP will not send a request unless the connection is open at the time of the command, but the TIP will passively accept a request for binary mode from a remote Host until the user ends binary mode. This may be useful for paper tape punches, for example. D. Log or Open a Connection The @ OPEN and @ LOG commands will automatically determine the appropiate socket for the ICP and the TIP will interpret the correct TELNET protocol. NOTE: when connections are made directly (and not through the LOG or OPEN commands), the user should take care to be in the proper TELNET mode. An example might be a lineprinter or paper tape punch set wild. Any program connecting to such devices must use the same TELNET protocol that the device is set to. Report No. 2183 Bolt Beranek and Newman Inc. Page 68 July 1977 Revision APPENDIX F: COMMANDS AVAILABLE UNDER NEW TELNET These commands send the following "New Telnet" function codes: Abort Output (AO), Are You There (AYT), and Interrupt Process (IP). To use these commands type: @ SEND ABORT OUTPUT @ SEND ARE YOU THERE @ SEND INTERRUPT PROCESS The following commands cause the TIP to send the "New Telnet" function codes for Erase Character and Erase Line to the remote Host; if no connection is open when the commands are given, they have no effect. @ SEND ERASE CHARACTER @ SEND ERASE LINE The command: @ ECHO REMOTE CONTROLLED requests the TIP to negotiate with the remote Host for Remote Controlled Transmission and Echoing mode (RCTE) for that port. In this mode, the TIP does most of the echoing, but under instructions from the Host. As examples, the Host could instruct the TIP to suppress echoing of a password or have the TIP hold off echoing temporarily while the Host performs command completion (available on some Host systems). Like the other New Telnet echo modes, the TIP will remember that RCTE was requested and automatically negotiate for the option when a new connection opens. To leave RCTE mode, simply give the TIP one of the other echo mode commands. Physical half-duplex terminals by their nature cannot use RCTE mode. NOTE: few Hosts implement RCTE mode at present and neither they nor the TIP are guaranteed to work perfectly as yet. Reporting any problems, questions, or comments to the NCC (via GRIPE) would be especially helpful.