Inter-Office Memorandum
To DLS users   Date January 22, 1985
From T. Diebert   Location PARC
Subject The Alto DLS  Organization CSL
Filed As [Indigo]<DLS>DLS.press
We have a dedicated Alto in operation as a terminal controller or DLS (for Data Line Scanner). It serves as an interface between the Xerox Research Internet and low-speed lines (2400 baud or less) connecting to hardwired or dial-up terminals, outside timesharing services, and the like.
The DLS provides two main services:
a dial-in service, which permits outside terminals to make incoming connections (via the public telephone network or hardwired lines) and thereby gain access to servers connected to the Internet, principally Vaxc, IFSs, and Ernestine; and
a dial-out service, which permits users of Altos and other computers in the Internet to make outgoing connections (via the telephone network) to external services such as timesharing systems.
There are actually several DLSs in operation at various locations in the Research Internet. Information contained in this memo applies to PARC's DLS only.
1. Dial-in service
The DLS Dial-In Executive
To access the DLS from an outside terminal, you dial an appropriate phone number (see below), connect the terminal, and issue commands to a DLS executive, which will in turn make connections over the Xerox Research Internet to servers such as Vaxc.
When you initially make contact with the DLS, it first waits for you to type a single character, from which it deduces the speed of your terminal and determines what to do next. You must type one of: CTRL-C, E', e', or RETURN. The DLS then prints the greeting message:
PARC DLS
Dial In Line #n Baud rate = 300, Escape key = ^^
where n is a number identifying the line to which you are connected.
The DLS will then ask you for your name and password.
Your name please (include registry if not PA): Diebert.PA
Your password: ****** ... Grapevine ... ok
If the initial character you typed was CTRL-C, the DLS then immediately attempts to make a network connection to the default server host for your DLS line (which on PARC's DLS is usually Vaxc). If this is successful, your terminal is logically connected to that server, with no further action on your part.
If the initial character you typed was E', e', or RETURN, or the automatic attempt at connecting to the default server was unsuccessful, you are left talking to a simple DLS executive, whose prompt is >' at the left margin, and whose commands are described in the next section.
While you have a connection open to a server, you can also give control to the DLS executive by typing the escape character (the escape character is shown during the DLS greeting as above) , which is initially ASCII code 036 (CTRL-period on TI-700 terminals, CTRL-^ or CTRL-SHIFT-N on most others).
If you hang up while you have a network connection open to a server, that connection is automatically broken. If the server you were connected to is Vaxc, this has the effect of causing your job to be detached; for other servers, your session is terminated.
It may happen that your network connection to the server will fail in any of a variety of ways. Usually a self-explanatory message, such as [Pup error] Tenex restarting, wait'', will be printed out. If server or network problems cause communication to fail completely, the message [Connection timed out]'' will be printed within one minute, and you will be left talking to the DLS executive.
Phone numbers and modem types
The DLS is accessible via several different phone numbers, reflecting the following variations in service:
Most phone numbers are located in the Palo Alto exchange, but a few are located in the San Jose exchange so as to be reachable by a local call from the South Bay area.
Most of the lines connect to Bell 103 300-baud modems, but some connect to 1200-baud modems. The Bell 103 300-baud modems are compatible with all types of terminals operating at 300, 150, or 110 baud (30, 15, or 10 characters per second).
The Vadic 3400 1200-baud modems are compatible only with Vadic 3400-series modems or couplers (and, in particular, are incompatible with Bell 212 or UDS modems).
The Bell 212 1200-baud modems are compatible with both Bell 212 and Bell 103 modems.
When you type CTRL-C as the initial character, the DLS decides what server to connect to (usually Vaxc) based on which DLS line you are using. (Of course, you can override this default by instead typing RETURN as the initial character and issuing the Connect host' command, described in the next section.) It is strongly suggested that if you use the DLS to read your mail using the Lily service that you initiate your connection with a RETURN.
Complete information on phone numbers is given in a table at the end of this memo. Here is a summary of the most useful numbers:
ExchangeModem  BaudDefaultNumberPhone number
type  Ratehostof lines
Palo Alto Bell 103  300 Vaxc  7 (415) 493-3121
Palo Alto Vadic 3400  1200 Vaxc  4 (415) 493-3105
Palo Alto Bell 212  1200 Vaxc  1 (415) 493-3129
San Jose Bell 103  300 Vaxc  2 (408) 279-8488
San Jose Vadic 3400  1200 Vaxc  1 (408) 279-3166
Dial-in executive commands
The DLS executive has a very simple command structure. All commands are specified by a single letter, and the DLS then types the remainder of the command word. Most commands require you either to supply an argument or to confirm by typing RETURN. While typing an argument, you may delete characters by typing BS or CTRL-A, or cancel the entire command by striking DEL or CTRL-C.
Bye
Closes your current network connection, if one is open, and then prints Line n off''. Your line then reverts to its initial state in which it is expecting you to type one of the initial characters (for speed determination). Hence Bye' is equivalent to hanging up and dialing in again. This is useful if you want to switch your terminal to a new speed.
Connect to: host
Attempts to establish a connection to the specified server. Usually host is simply the name of a server host (e.g., Maxc'), but any Xerox Internet name or address expression is legal.
Disconnect
Closes your current network connection, if one is open.
Escape character = c
Changes your escape character to c, where c may be whatever character you type in (RETURN and DEL are not permitted). Initially the escape character is CTRL-^ (ASCII 036B).
Flush typein stream
Discards all characters you have typed but that have not yet been consumed by the server at the other end of the open connection. This is useful if you have lost control of the server due to having typed ahead more characters than the combined buffering capacity of the server and the DLS.
Grapevine
Makes a connection to the nearest working Grapevine dumb terminal server (Lily''). No confirming RETURN is required.
Local echoing on/off
Ordinarily, when your terminal is logically connected to a server (e.g., Vaxc), that server provides echoing of characters you type. This command toggles a switch that determines whether or not the DLS is to echo characters locally. The default state of the switch is off'.
Pad on/off
Controls the addition of NUL characters to aid in delaying output because of slow carriage return time (as on TI-700 terminals.) The default state of the switch is 'on'. This switch is only useful with a baud rate of 300.
Resume connection
Resumes your terminal's logical connection to the server (if there is one). You use this command after having typed the escape character and issued other DLS executive commands (except Disconnect).
Terminal Parameters
This operation allows the user to override the default terminal type used in the TELNET connection on the internet. This command will ask you for the terminal type, width and length of the terminal you are using. The default terminal type is 10 for 1200 baud lines, and 0 for 300 baud lines. Consult the document [Indigo]<Pup>Telnet.press for more information.
Version
Prints the version and release date of the DLS control program.
Xon/Xoff
This function tells the DLS to use the Xon/Xoff handshake (flow control) protocol for communication with the remote computer. This function is more or less useless for terminals since there is no buffer to overflow. The default state of this switch is 'off'.
7 bit mode
This function tells the DLS to transmit and receive data from the remote terminal using 7 data bits, 1 stop bit and even parity. The DLS normally uses 7 bit transfers for all communications. Eight bit mode (see 8 bit mode below) may be used as an alternative. All communications with the DLS executive is done in 7 bit mode regardless of the state of 8 bit mode.
8 bit mode
This function is the similar to the 7 bit mode command above, except that the communications with the Internet host and the terminal/computer will be done using 8 data bits, 1 stop bit and no parity bit. It should be noted that the escape character recognition is not disabled and that flow control (Xon/Xoff) is set to 'off'.
?
Prints the list of commands.
Hardwired lines
There are 16 lines that are hardwired to terminals in people's offices; terminals currently connected include TI-700, Tektronix 4023, and DataMedia 3000. The number of hardwired lines is strictly limited to 16, so if you want one you must negotiate with some present owner.
Operation of the DLS through hardwired lines is the same as through dial-in lines except that you never dial in, data rates of up to 2400 baud (240 characters per second) are accepted, and certain parameters (default host, terminal type, screen dimensions) may be preset on a per-line basis.
2. Dial-out service
The DLS Dial-out Executive
The dial-out service enables you to make outgoing connections through the DLS from your Alto. This service requires LOGIN for use and all phone charges are billed to your department.
If you intend to use the dial-out service, please send a message to Ron Weaver <RWeaver.PA> before using it for the first time. You should be aware of the following points:
The principal intended clients for this service are the PARC librarians, who depend on it very heavily in their day-to-day operation. There are only three Bell 103 300-baud, four Vadic 3400 1200-baud and one Bell 212 1200 baud dial-out lines (the latter are also the only Palo Alto 1200-baud dial-in lines). Extensive use of this service by other users may require negotiation to avoid conflict with the library.
Calls originate in Palo Alto, and are charged at regular business phone rates. Please refrain from making calls outside the Palo Alto calling area unless absolutely necessary.
How to use it
You access the DLS dial-out service by running Chat on your Alto and making a connection to the DLS. Assuming you have Chat.run on your disk, simply type:
>Chat DLS+300 RETURN to access a Bell 103 300-baud line.
>Chat DLS+1200 RETURN to access a Vadic 3400 1200-baud line.
>Chat DLS+212 RETURN to access a Bell 212 1200-baud line.
If the DLS is operating normally, you will shortly see the message:
PARC DLS
Bell 103 Dial Out Line #n, (300 Baud), Escape character = ^←
>
If all the dial-out lines of the speed you requested are in use, Chat will display a message to that effect and will not complete the connection to the DLS.
The dial-out server has a simple executive with a small number of single-character commands. When you see >' at the left margin, the DLS executive is waiting for you to type a command. If Chat does not automatically perform a LOGIN for you, type:
>Login ...
Your name please (include registry if not PA): Diebert.PA
Your password: ****** ... Grapevine ... ok
The 'ok' from above assumes that you are a valid DLS user. If the DLS does not respond with 'ok', it means that you may not be on the dial-out access list. Contact Ron <RWeaver.pa>, and he will tell you how to get on the list.
In order to cause the DLS to call you must issue the following command:
>Call phone number: nnn-nnnn RETURN
Dialling.. Logging call.. Call completed.
that is, C' followed by the phone number you want to dial, terminated by RETURN. The DLS will proceed to dial the number.
If the call is answered and the correct answering tone is heard, the DLS will display the message Call completed'', perhaps followed by a greeting from the computer system you called. Thereafter, all characters you type will be sent over the phone connection, and all characters received over the phone connection will be displayed on your Alto screen.
If the number you dialled is busy or doesn't answer within 30 seconds, or if you used the wrong modem type to make the call, the DLS will respond with:
Dialling.. Logging call..
Failed to establish data connection.
and control will return to the DLS executive. Unfortunately, the DLS can't distinguish between the busy, no-answer or wrong modem type conditions. Problems other than busy and no-answer will result in the message Dialler or phone system malfunction''. At this point the DLS will ask you if you wish to retry the call.
To terminate the connection, first log out from the remote computer in whatever way is appropriate. After the remote computer has hung-up the DLS will respond:
> [Dial-out connection broken]
Length of call was n min.
>
Where n is the length of the call.
At this point simply respond to the DLS with 'Q', and the DLS will ask for confirmation:
>Quit [Confirm] Yes
You can also return control to the DLS executive by typing the escape character listed during the initial connection, then break the connection using the Disconnect command, described in the next section.
If the phone connection is broken because the remote computer hangs up, the message:
> [Dial-out connection broken]
Length of call was n min.
>
is displayed and control returns to the DLS executive.
Dial-out executive commands
You can type any of the following commands when you see >' at the left margin. You must terminate all commands with RETURN.
Baud rate = number
Sets the speed of the dial-out connection. Only 300-baud lines may have their speed changed in this manner, and legal values are 300, 150, and 110.
Call phone number number
Dials the phone number you specify, as described above. The phone number may be up to 15 digits long. The forms nnn-nnnn' and (nnn) nnn-nnnn' are accepted, or you may type the entire phone number without punctuation. (In fact, parentheses and hyphens are simply ignored.)
Disconnect
Breaks the dial-out connection, by hanging up the phone line. Control remains in the DLS executive.
Escape character = c
Changes your escape character to c, where c may be whatever character you type in (RETURN and DEL are not permitted). Initially the escape character is CTRL-← (ASCII 037B) and is shown during initial connection.
Login
Establishes you as a valid DLS Dial-out service user. You need to supply your Grapevine user name and password. If the DLS does not allow you to login in 'ok', contact Ron <RWeaver.pa> for help.
Quit
Breaks the dial-out connection (if there is one), and then breaks the connection between your Alto and the DLS dial-out server.
Resume connection
Resumes your dial-out connection (if there is one). You use this command after having typed the escape character and issued other DLS executive commands (except Disconnect).
Xon/Xoff
This function tells the DLS to use the Xon/Xoff handshake (flow control) protocol for communication with the remote computer. This function is more or less useless for terminals since there is no buffer to overflow. The default state of this switch is 'off'.
7 bit mode
This function tells the DLS to transmit and receive data from the remote terminal using 7 data bits, 1 stop bit and even parity. The DLS normally uses 7 bit transfers for all communications. Eight bit mode (see 8 bit mode below) may be used as an alternative. All communications with the DLS executive is done in 7 bit mode regardless of the state of 8 bit mode.
8 bit mode
This function is the similar to the 7 bit mode command above, except that the communications with the internet host and the terminal/computer will bee done using 8 data bits, 1 stop bit and no parity bit. It should be noted that the escape character recognition is not disabled and that flow control (Xon/Xoff) is set to 'off'.
Other notes
To capture your dialog in a file, enable the Chat typescript feature by typing MIDDLE-BLANK T followed by a file name and RETURN. When you are done, type MIDDLE-BLANK T RETURN to close the typescript file; or alternatively just Quit from Chat. The typescript file will be on your Alto disk, and you can edit it, print it, etc., in the usual fashion. (Alternatively, you can specify a Chat typescript file by an appropriate entry in your User.cm.) Further information about Chat may be found in the Alto Non-programmer's Guide and in the Chat documentation (file <AltoDocs>Chat.tty).
You can get the DLS dial-out server to generate a long space'' by typing CTRL-SPACE on your Alto keyboard; this is equivalent to pressing the BREAK key on ordinary terminals.
You can connect to a specific DLS line by means of the command Chat DLS+1000xx'', where xx is the desired line number. At present, the main use of this feature is connecting to GSL's Vax computer, which is hardwired to DLS line 13 (i.e., DLS+100013), and to CSL's WWV time receiver, which is on line 15 (DLS+100015).
3. Current configuration, phone numbers, etc.
The DLS line configuration changes occasionally; its current state is given in file [Indigo]<DLS>ParcDLS.config, which is a text file that is read by the DLS control program to determine how it is to treat each line. This file specifies terminal parameters, phone numbers for dial-in lines, and owners and office numbers of hardwired lines. A copy of this file appears below.
Contents of ParcDLS.config, as of January 18, 1985
// Hardwired lines
//00 Hardwired Host Vaxc     // (Available)
//01 Hardwired Host Vaxc     // (Available)
02 Hardwired Host Vaxc Type 10 Length 24 Width 80 // 35-3212 A. Wilder
03 Hardwired Host Vaxc Type 10 Length 24 Width 80 // 35-3550 L. Anderson
04 Hardwired Host Vaxc     // 35-1014 & 1344 Cheng
05 Hardwired DialOutOnly Baud 1200   // 35-2160 Swinehart
06 Hardwired DialOutOnly Baud 1200   // 35-2134 PolleZ
07 Log Baud 300      // Vaxc com room DLS Log
10 Hardwired       // 35-2224 Diebert's DLS (Test)
11 Hardwired Host Vaxc Type 10 Length 24 Width 80 NoPad // 35-2116 (Available)
12 Hardwired Host Vaxc Length 24 Width 80  // 35-2310 Gary Starkweather - ASRG
13 Hardwired DialOutOnly Baud 1200   // 35-1126 GSL Vax
14 Hardwired Host Vaxc Type 10 Length 24 Width 80 // 35-Receptionist
15 Hardwired DialOutOnly Baud 2400   // 35-2106 Satelite Time Receiver
16 Hardwired DialOutOnly Baud 1200   // 35-2234 EtherPhone
//17 Hardwired DialOutOnly Baud 2400   // 35-2102 (outside) Kurtzweil Machine

// The following are 300-baud, dial-in only, San Jose exchange
23 Dataset Control 43 Host Vaxc    // (408) 279-8489 rotary [2]
24 Dataset Control 44 Host Vaxc    // (408) 279-8488 rotary [1]

// The following is Vadic 3400 (1200-baud), dial-in only, San Jose exchange
25 Dataset Control 45 Host Vaxc    // (408) 279-3166

// The following is 300-baud, dial-in or dial-out, Palo Alto exchange
// (more of these below)
26 Dataset Control 46 DialOut 15 1 Host Vaxc  // (415) 493-2130

// (415) 493-3128 rotary [8] not currently connected to the DLS

// The following are 300-baud, dial-in only, Palo Alto exchange
31 Dataset Control 51 Host Vaxc    // (415) 493-3127 rotary [7]
32 Dataset Control 52 Host Vaxc    // (415) 493-3126 rotary [6]
33 Dataset Control 53 Host Vaxc    // (415) 493-3125 rotary [5]
34 Dataset Control 54 Host Vaxc    // (415) 493-3124 rotary [4]
35 Dataset Control 55 Host Vaxc    // (415) 493-3123 rotary [3]
36 Dataset Control 56 Host Vaxc    // (415) 493-3122 rotary [2]
37 Dataset Control 57 Host Vaxc    // (415) 493-3121 rotary [1]

// 51-57 control lines for the above

// Dialler control lines
60 Dialler CRQ DiallerType 0
61 Dialler DP
62 Dialler NB1
63 Dialler NB2
64 Dialler NB4
65 Dialler NB8

// The following are 300-baud, dial-in or dial-out, Palo Alto exchange
// (another of these above)
66 Dataset Control 67 DialOut 12 1 Host Vaxc  // (415) 493-1563
70 Dataset Control 71 DialOut 11 1 Host Vaxc  // (415) 493-1510

//The following is Bell 103/212A, dial-in or Bell 212A dial-out, Palo Alto exchange
27 Dataset Control 47 DialOut 1 3 Host Vaxc  // (415) 493-3104 rotary [5]

// The following are Vadic 3400 (1200-baud), dial-in or dial-out, Palo Alto exchange
30 Dataset Control 50 DialOut 3 0 Host Vaxc  // (415) 493-3129 rotary [4]
72 Dataset Control 73 DialOut 9 0 Host Vaxc  // (415) 493-3139 rotary [3]
74 Dataset Control 75 DialOut 7 0 Host Vaxc  // (415) 493-3107 rotary [2]
76 Dataset Control 77 DialOut 5 0 Host Vaxc  // (415) 493-3105 rotary [1]