mirror of
https://github.com/paulusmack/ppp.git
synced 2024-11-30 15:03:36 +08:00
97 lines
2.2 KiB
Bash
Executable File
97 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
###################################################################
|
|
#
|
|
# These parameters control the attack dialing sequence.
|
|
#
|
|
# Maximum number of attempts to reach the telephone number(s)
|
|
MAX_ATTEMPTS=10
|
|
|
|
# Delay between each of the attempts. This is a parameter to sleep
|
|
# so use "15s" for 15 seconds, "1m" for 1 minute, etc.
|
|
SLEEP_DELAY=15s
|
|
|
|
###################################################################
|
|
#
|
|
# This is a list of telephone numbers. Add new numbers if you wish
|
|
# and see the function 'callall' below for the dial process.
|
|
PHONE1=555-1212
|
|
PHONE2=411
|
|
|
|
###################################################################
|
|
#
|
|
# If you use the ppp-on script, then these are passed to this routine
|
|
# automatically. There is no need to define them here. If not, then
|
|
# you will need to set the values.
|
|
#
|
|
ACCOUNT=my_account_name
|
|
PASSWORD=my_password
|
|
|
|
###################################################################
|
|
#
|
|
# Function to initialize the modem and ensure that it is in command
|
|
# state. This may not be needed, but it doesn't hurt.
|
|
#
|
|
function initialize
|
|
{
|
|
chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK'
|
|
return
|
|
}
|
|
|
|
###################################################################
|
|
#
|
|
# Script to dial a telephone
|
|
#
|
|
function callnumber
|
|
{
|
|
chat -v \
|
|
ABORT '\nBUSY\r' \
|
|
ABORT '\nNO ANSWER\r' \
|
|
ABORT '\nRINGING\r\n\r\nRINGING\r' \
|
|
'' ATDT$1 \
|
|
CONNECT '' \
|
|
ogin:--ogin: $ACCOUNT \
|
|
assword: $PASSWORD
|
|
#
|
|
# If the connection was successful then end the whole script with a
|
|
# success.
|
|
#
|
|
if [ "$?" = "0" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
return
|
|
}
|
|
|
|
###################################################################
|
|
#
|
|
# Script to dial any telephone number
|
|
#
|
|
function callall
|
|
{
|
|
# echo "dialing attempt number: $1" >/dev/console
|
|
callnumber $PHONE1
|
|
# callnumber $PHONE2
|
|
}
|
|
|
|
###################################################################
|
|
#
|
|
# Initialize the modem to ensure that it is in the command state
|
|
#
|
|
initialize
|
|
if [ ! "$?" = "0" ]; then
|
|
exit 1
|
|
fi
|
|
|
|
#
|
|
# Dial telephone numbers until one answers
|
|
#
|
|
attempt=0
|
|
while : ; do
|
|
attempt=`expr $attempt + 1`
|
|
callall $attempt
|
|
if [ "$attempt" = "$MAX_ATTEMPTS" ]; then
|
|
exit 1
|
|
fi
|
|
sleep "$SLEEP_DELAY"
|
|
done
|