ppp.Systems - PPP neighboring systems description file format


The file /usr/lib/mstppp/Systems on SCO systems describes how to connect with neighboring systems via PPP .


name The hostname or IP address 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 file ).

The default 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 chat script will be executed first, followed by the Systems chat script.

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 , Dialers will not be consulted, and only the Systems chat script will be executed.

If set to `tcp', it must be followed by a slash, then the hostname or IP address 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.

The speed of the connection. If the device field is ACU , 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.
phone number
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.
chat script
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 \ c , pppd 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 pppd as it attempts to dial. Both ABORT and TIMEOUT must be in the "expect" phase of the chat script.

ABORT abort-string
If pppd sees abort-string while executing the remainder of the chat script , abort the dialing attempt and note the failure in the log file.
TIMEOUT timeout-time
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.

The expect-send couplet of "" P_WORD sets the line parity accordingly:

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 ' string, ^x gets translated into the appropriate control character, and \x gets translated into x . 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)
\ ddd Send or receive a character, specified in octal d igits
Pause for.25 second before proceeding (send only)
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 only)
Don't print succeeding send strings (e.g. a password ) in any debugging or logging output. Subsequent \ q 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.

Your retry intervals and maximum backoff values for `everyone' and `nobody' are the default `10-3600'.

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.
# Systems - PPP systems file
everyone Any ACU 19200-PEP 5551212 in:--in: Pwe word: \ qfoObar
nobody Any ACU 38400 5551213 in:--in: Pthey word: \ qbaZz1ng
someone Any;2-40 cua 38400 0 in:--in: Pthem word: \qmeumBle
anyone Any rsd0a/0 1536000
pseudo-one Any;2-2 tcp/


Retry and Backoff Times

Using the Default

The default 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.

Dedicated Lines or No-Cost connections

A much shorter maximum would be appropriate for a dedicated line between two systems, or where call attempts cost nothing.

Bi-Directional Dial Up Modems

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.

Specifying Host Names

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 address in dotted quad format in Filter and Systems instead.

Automatic Failover

Automatic failover recovery can be arranged between systems that each have multiple modems, or multiple connection methods. If two systems are connected via a dedicated line (sync or async), that entry should be first in Systems , followed by another entry describing an on-demand dialup connection. See the MST PPP User Guide for more details.


The file /usr/lib/mstppp/Systems should be mode 600.


tun(MST_PPP), ppp.Auth (MST_PPP), ppp.Services(MST_PPP), ppp.Dialers (MST_PPP), ppp.Filter (MST_PPP), ppp.Keys (MST_PPP), pppd (MST_PPP), RFC 1661 , RFC 1332, RFC 1144 , RFC 1055 .


Copyright 1991, 1992, 1993, 1994, 1995, 1996 Morning Star Technologies Inc.; all rights reserved.