PPP supports
the ability to maintain a connection when calling a modem that has
a dial-back security feature. The Systems
file chat script option \M allows this by disabling delivery
of SIGHUP to pppd. This signal
usually results from loss of Carrier Detect and tells pppd
to abruptly disconnect from the active session.
Dial-Back Process |
 |
Typically, an answering modem with dial-back capability responds
to a call by taking the following steps:
Challenges incoming callers with a
prompt string.
Accepts the input identifying the caller.
Hangs up the call.
Calls a number associated with the caller's
identification.
Re-establishes a carrier.
The calling modem might then demand the same type of identification
before allowing remote data to flow through its serial interface
to the local system.
Blocking SIGHUP with Chat Script \M Option |
 |
The calling system's pppd
must be prepared for the temporary lack of a Carrier Detect signal
from its modem during the dial-back from the remote modem. To avoid
receiving a SIGHUP, pppd instructs
the UNIX system's serial drivers not to deliver the signal.
In other words it says, "Temporarily treat the serial
interface as if it were connected to a local device like a terminal
or printer, instead of a modem." pppd
does this by specifying \M in the 'send'
phase of a Systems chat script.
See ppp.Systems(4) for details
on \M and \m chat script options.
Reversing Instructions with \m Option |
 |
After the disconnection period, through the 'send'
phase option \m, pppd
tells the system's serial drivers to reverse the first
instruction and respect the modem's full variety of control.
For example, to dial into a system protected by a dial-back modem,
the Systems chat script might be
written like this:
# # This connects to a system protected by a Telebit T3000 callback # modem # with S46=2. # server Any ACU 38400 19071234567 TIMEOUT 60 \ ENTER\sPASSWORD: my_modem_password\M \ ENTER\SPASSWORD: my_modem_password\m \ login: my_login_name password: my_login_password |