neighboring systems description file format
on SCO systems describes how to connect with neighboring systems via PPP
Entries are one to a line; blank lines are ignored.
Comments begin with a `#' and extend to the end of the line.
Upper/lower case distinctions are ignored in hostname
specifications, but are significant elsewhere.
Fields on a line are separated by horizontal white space created by blanks or tabs.
If a chat script
ends with a backslash (
\), the next line is considered a continuation of the chat script. Continuations may only occur in the midst of a chat script.
Each entry must contain six fields, in the following order:
of the destination machine, which should be resolvable locally.
Hours in a range are written as those from a 24 hour clock, 0800-1230 for example. If you do not specify a time, calls will be allowed at any time. A time range that spans 0000 is permitted. For example, 0800-0600 means that all times are allowed except times between 6 AM and 8 AM.
Wk0800-1230, (same as MoTuWeThFr)
Any0900-1700, (same as SuMoTuWeThFrSa).
Multiple date specifications are separated by a vertical bar (|). This example means that means that the system can be called any day between 1 AM and 6 AM or any time on Saturday and Sunday.
The entire sequence of days and times may be followed by a semicolon and up to three decimal numbers separated by hyphens as described in the table below:
- If only one number follows the semi-colon, it is used as the redial delay, which is the initial time (in seconds)before a failed call will be retried.
For example, Any;60 means call any time, but wait at least 60 seconds after a failure has occurred before trying to call again.
If a call retry fails, pppd
doubles the delay before trying again. If no initial retry delay is specified, 10 seconds is assumed.
If two numbers follow the semicolon, the second number is the maximum redial delay, or the maximum time (in seconds) to delay before retrying a call. The retry time doubles with each unsuccessful call until it reaches this value, after which the call will be retried every time the maximum number of seconds passes.
If no maximum retry delay is specified, 3600 seconds is assumed.
If three numbers follow the semicolon, the third is the maximum redial delay. The callback delay is the time (in seconds) to wait before attempting to re-establish a previously active
connection that ended because of an abrupt line disconnection (a Hangup or SIGHUP
event in the log
is not to delay before calling back.
If set to `ACU
', any device in Devices
with a matching speed
may be used. The device's dialer
will be executed first, followed by the Systems
If set to the name of a device in the /dev directory (tty00, cua, etc.), there may be an optional corresponding Direct
entry in Devices
will not be consulted, and only the Systems
will be executed.
If set to `tcp', it must be followed by a slash, then the hostname
of the system that will serve as the destination of the PPP
link, then another slash, then the socket number on which to contact the remote PP daemon.
of the connection. If the device field
, the speed field
will be string matched against entries in Devices
. Speeds must either be valid speed numbers or must begin with them (2400, 38400, 19200-PEP, etc.). If the device field is `tcp...' or `telnet
...', the speed field is ignored, but must be present as a place-holder.
The value to replace the \T escape sequence in the dialer
script. If the device field
names an entry in /dev, the phone number field is optional. If the device field is `tcp...' or `telnet
...', the phone number field is ignored if present, but must be present as a place-holder.
A description of the conversation that pppd
holds with the remote machine.
During the delay following an unsuccessful call, any level 6 debugging messages written to pppd.log will have the message `dial failed' appended.
A chat script
takes the form of a space-separated list of expect-send
pairs. At minimum, each pair consists of a field to expect the "remote" end to send, followed by a field to send in response. Unless asend' string ends with
will follow it by sending a carriage return character (ASCII 0x0d).
Chat scripts areexpect send
expect send...', orexpect-send-expect send...', where thesend' following the hyphen is executed if the preceding expect fails to match received text.
Certain special words may be used in the chat script
to control the behavior of
as it attempts to dial. Both ABORT
must be in the "expect" phase of the chat script.
while executing the remainder of the chat script
, abort the dialing attempt and note the failure in the log
While executing the current chat script,
wait timeout-time seconds for a response before considering the dialing attempt to have timed out. Writes have a fixed 60-second timeout.
sets the line parity
Set transmission parity
based on the parity observed in characters received inexpect' strings. This is the default.
Transmit characters with the parity
bit set to 0
(8 bits, no parity).
Transmit characters with the parity
bit set to 1
Transmit characters with even parity.
Transmit characters with odd parity.
The backquote character (`) surrounds the name of a program that is to be run before proceeding. If the program is run in the `send
` phase of a chat script
couplet, its standard output will be sent to the peer
when the program exits. Chat script processing continues when the program exits.
In the midst of either anexpect' string or a `send
gets translated into the appropriate control character, and
gets translated into
. Other special sequences are:
Send or receive a space character (ASCII 0x20)
Send or receive a horizontal tab character (ASCII 0x09)
Send or receive a line feed character (ASCII 0x0a)
Send or receive a carriage return character (ASCII 0x0d)
Send or receive a backslash character (ASCII 0x5c)
Send or receive a carat character (ASCII 0x5e)
Send or receive the single character Ctrl-<character> (ASCII 0x00 through 0x1f)
Send or receive a character, specified in octal
Pause for.25 second before proceeding (send
Delay for 2 seconds before proceeding (send only)
Send a break (.25 second of zero bits)
Disable hangups (sets CLOCAL or LNOHANG)
Enable hangups (unsets CLOCAL or LNOHANG) (the default)
Don't append a carriage return character after sending the preceding string (send
Don't print succeeding send
strings (e.g. a password
) in any debugging
or logging output. Subsequent
sequences togglequiet' mode.
Parse the incoming string as an IP
address, written as four
decimal numbers separated by periods, and use it for the local end of the point-to-point connection (receive only)
In the example below:
If you are unsuccessful at connecting with `someone' you will try again in two seconds. If that attempt fails, you will wait four seconds before the next attempt; then eight, then sixteen, then thirty two, then forty seconds. You will continue attempting to contact `someone' every forty seconds.
You call host`everyone', using a Telebit PEP modem with its DTE
interface set at 19200 b
You call host`nobody', using a V.32
modem capable of driving a 38400 DTE
You are connected to host `someone' via a direct cable attached to
, running asynchronous
to `anyone' via a T1 CSU/DSU
attached to port 0 on a SnapLink.
You connect with pseudo-one via a PPP
connection tunneled across a TCP
stream to port 77 on realone.somewhere.com.
Your retry intervals and maximum backoff values for `everyone' and `nobody' are the default
The notation "" "" means to expect nothing, then send
nothing, followed by a carriage return. The implicit carriage return is often useful for eliciting a response from a remote system.
everyone Any ACU
19200-PEP 5551212 in:--in: Pwe word: \
nobody Any ACU
38400 5551213 in:--in: Pthey word: \
someone Any;2-40 cua 38400 0 in:--in: Pthem word: \qmeumBle
anyone Any rsd0a/0 1536000
pseudo-one Any;2-2 tcp/realone.somewhere.com/57
retry time and backoff (i.e. Any;10-3600) are appropriate for use with dialup connections where the PPP
connection must be reestablished as quickly as possible after an interruption but where it is not desirable to continuously redial a host that may be down.
A much shorter maximum would be appropriate for a dedicated
between two systems, or where call attempts cost nothing.
Moderate call retry times, such as 60 seconds, work well on systems that can establish connections in either direction using dialup modems, to avoid deadlocks waiting for telephone busy signals from each calling the other at the same time. Because of the difference between the behaviors of originating and answering modems, the 60-second clocks will usually start ticking at different times, allowing one side to call the other without interference. Alternatively, different call retry times may be specified at either end of a link to help keep the two systems from calling each other simultaneously.
If you specify host names
, be sure that their addresses are available locally, even with the connection down. If you find that you must bring up a connection to resolve a domain name, consider using that host's IP
in dotted quad format in
recovery can be arranged between systems that each have multiple modems, or multiple connection methods. If two systems are connected via a dedicated
(sync or async), that entry should be first in
, followed by another entry describing an on-demand dialup connection. See the MST PPP
User Guide for more details.
should be mode 600.
(MST_PPP), ppp.Services(MST_PPP), ppp.Dialers
, RFC 1332, RFC 1144
, RFC 1055
Copyright 1991, 1992, 1993, 1994, 1995, 1996 Morning Star Technologies Inc.; all rights reserved.