Lists modems used for Basic Networking Utilities (BNU) remote communications links.
The /etc/uucp/Dialers file and its surrogates, specified in the /etc/uucp/Sysfiles file, lists the modems (dialers) used by the Basic Networking Utilities (BNU) program and specifies the initial handshaking necessary to establish remote communications links. Handshaking is a series of expect-send sequences that specify the initial communications that occur on a link before it is ready to send or receive data. Using the handshaking, the local and remote systems confirm that they are compatible and configured to transfer data.
The Dialers file(s) contains entries for each autodialer that is included in the /etc/uucp/Devices file or one of its surrogate files. Surrogate file are specified in the /etc/uucp/Sysfiles file. It also contains entries specifying no handshaking for direct hardware links (the direct entry) and TCP/IP links (the TCP entry). The first field of the Dialers file, which specifies the dialer, is matched to the fifth field of the Devices file, the Dialer-Token Pair field, to determine handshaking when making a connection.
Fields in a Dialers File
Every modem (dialer) is listed on a line by itself in the Dialers file. Each line consists of three groups of information: the Dialer Name field, the Dial Tone and Wait Characters field, and the Handshaking field.
Dialer Name Field
The first field in a Dialers file, the Dialer Name field, specifies the type of autodialer (modem) used in the connection. It matches the fifth field, the Dialer-Token Pair field, in the Devices file(s). When a particular device is used to make a connection, BNU uses the Dialer-Token Pair field in the Devices file(s) to find the handshaking entry in the Dialers file(s).
If your system has direct hardware connections to one or more remote systems, include an entry with a Dialer Name of direct. Similarly, if your system uses TCP/IP to connect to one or more other systems, include an entry with a DialerName of TCP. These entries correspond, respectively, to the word direct and the word TCP in the Dialer-Token Pairs field of entries in a Devices file. Omit the Dial Tone and Wait Characters field and the Handshaking field, since no handshaking is needed on these connections.
Dial Tone and Wait Characters Field
The second field, the Dial Tone and Wait Characters field, consists of two sets of two characters, for a total of four entries. These characters comprise a translation string. In the actual phone number of the remote modem, the first character in each string is mapped to the second character in that set.
Entry | Action |
---|---|
=,-, | Translate the telephone number. Any = (equal sign) represents wait for dial tone and any - (minus sign) represents pause. |
"" | Wait for nothing; continue with the rest of the string. |
WAIT=n | Enter this before any send string in the Dialers file, where n is the number of seconds to wait before timing out. |
This field generally translates the = and - characters into whatever the dialer uses for wait for dial tone and pause.
For direct and TCP entries, omit this field.
Handshaking Field
The handshaking, or dialer negotiations, consists of an expect-send sequence of ASCII strings. This sequence is given in the Handshaking field, which comprises the remainder of the entry. This string is generally used to pass telephone numbers to a modem, or to make a connection to another system on the same data switch as the local system. The string tells the cu or ct program or the uucico daemon the sequence of characters to use to dial out on a particular type of modem. If the connection succeeds, the appropriate line from a Dialers file is interpreted to perform the dialer negotiations.
The handshaking characters include the following key sequences:
Sequence | Result |
---|---|
\c | Suppress new line (\n) |
\D | Raw phone number |
\T | Translated phone number |
\N | Null character (\0) |
\b | Backspace |
\n | New line |
\r | Carriage return |
\s | Space |
\t | Tab |
\\ | Backslash |
\E | Turn echo check on |
\e | Turn echo check off |
\d | Delay two seconds |
\p | Pause about 1/4 second |
\K | Generate a break on the line |
\M | Set tty setting CLOCAL on |
\m | Turn tty setting CLOCAL off |
For direct and TCP entries, omit this field.
Setting Up Entries in a Dialers File
hayes =,-, "" \dAT\r\c OK \pATDT\T
\r\c CONNECT
penril =W-P "" \d > s\p9\c )-W\p\r\ds\p9\c-)
y/c : \E\T
P > 9\c OK
ventel =&-% "" \r\p \r\p-\r\p-$ <K\D%%\r>\c ;ONLINE!
vadic =K-K "" \005\p *-\005\p-* D\p BER? \E\D
\e \r\c
LINE
direct
TCP
Notice that the next-to-last entry in the preceding example consists only of the word direct. This entry indicates that hardwired connections do not require any handshaking. Similarly, the last entry, TCP, indicates that TCP/IP connections require no handshaking.
hayes =,-, "" \dAT\r\c OK \pATDT\T
\r\c CONNECT
The first two sequences (=,-,"")
comprise the Dial Tone and Wait Characters field. The remaining
strings comprise the Handshaking field. Following is an explanation
of how each entry affects the action of the dialer. Entry | Action |
---|---|
=,-, | Translate the telephone number. Any = (equal sign) represents wait for dial tone and any - (minus sign) represents pause. |
"" | Wait for nothing; continue with the rest of the string. |
\dAT | Delay; then send AT (the Hayes Attention prefix). |
\r\c | Send a carriage return (r) followed by a new line (c). |
OK | Wait for OK from the remote modem, signaling that the first part of the string has executed. |
\pATDT | Pause (p); then send ATDT. AT is the Hayes Attention prefix, D represents a dialing signal, and T represents a touch-tone dial tone. |
\T | Send the telephone number, which is specified in the Systems file, with dial-code translation from the Dialcodes file. |
\r\c | Send a carriage return and a new line following the number. |
CONNECT | Wait for CONNECT from the remote modem, signaling that the modems are connected at the baud rate specified in the Devices file. |
Setting Up the Direct Entry
If your BNU configuration includes hardwired connections, a Dialers file must contain a direct entry, as follows:
direct
This entry indicates that hardwired connections do not require any handshaking. It corresponds to the word direct in the Dialer-Token Pairs field of entries for hardwired devices in a Devices file (see the /etc/uucp/Devices file).
Setting Up the TCP/IP Entry
If your BNU configuration includes TCP/IP connections, the Dialers file used by the uucico service must contain a TCP entry, as follows:
TCP
This entry indicates that TCP/IP connections do not require any handshaking. It corresponds to the word TCP in the Dialer-Token Pairs field of entries for TCP/IP connections in the uucico service Devices file(s).
Setting Up Entries for Both Local and Remote Systems
The following example illustrates the entries needed in the Dialers file to correspond to entries in the Devices file for both local and remote systems so that the two systems can communicate using the BNU program.
These files are set up to connect systems venus and merlin over a telephone line using modems. System venus is considered the local system, and system merlin is considered the remote system. On both systems, the device tty1 is hooked to a hayes modem at 1200 baud.
ACU tty1 - 1200 hayes
hayes =,-, "" \dAT\r\c OK \pATDT\T
\r\c CONNECT
ACU tty1 - 1200 hayes
hayes =,-, "" \dAT\r\c OK \pATDT\T
\r\c CONNECT
Troubleshooting Connection Problems
When establishing a connection between a local and a remote system using a telephone line and modem, the BNU program consults the Dialers file. (The BNU program also checks the Systems file to make sure it contains a listing for the specified remote computer.) If users report a faulty connection, use the uucico command to debug the connection problem. For example, if users are experiencing difficulties connecting to remote system venus, issue the following command:
/usr/sbin/uucp/uucico -r1 -svenus -x9
where -r1 specifies the server mode, -svenus the name of the remote system to which you are trying to connect, and -x9 the debug level that produces the most detailed debugging information.
Expect-send debugging output produced by the uucico command can come either from information in the Dialers file or from information in the Systems file. If the relevant line in the Dialers file is not set up correctly for the specified modem, the BNU program will probably display the following error message:
DIALER SCRIPT FAILED
If the dialer script fails, verify the following:
Item | Description |
---|---|
/etc/uucp directory | Contains all the configuration files for BNU, including the Dialers file. |
/etc/uucp/Devices file | Contains information about available devices. |
/etc/uucp/Dialcodes file | Contains dialing code abbreviations. |
/etc/uucp/Systems file | Describes accessible remote systems. |
/etc/uucp/Sysfiles file | Specifies possible alternative files for /etc/uucp/System, /etc/uucp/Dialers, and /etc/uucp/Devices. |