2
###################################################################
4
# These parameters control the attack dialing sequence.
6
# Maximum number of attempts to reach the telephone number(s)
9
# Delay between each of the attempts. This is a parameter to sleep
10
# so use "15s" for 15 seconds, "1m" for 1 minute, etc.
13
###################################################################
15
# This is a list of telephone numbers. Add new numbers if you wish
16
# and see the function 'callall' below for the dial process.
20
###################################################################
22
# If you use the ppp-on script, then these are passed to this routine
23
# automatically. There is no need to define them here. If not, then
24
# you will need to set the values.
26
ACCOUNT=my_account_name
29
###################################################################
31
# Function to initialize the modem and ensure that it is in command
32
# state. This may not be needed, but it doesn't hurt.
36
chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK'
40
###################################################################
42
# Script to dial a telephone
48
ABORT '\nNO ANSWER\r' \
49
ABORT '\nRINGING\r\n\r\nRINGING\r' \
52
ogin:--ogin: $ACCOUNT \
55
# If the connection was successful then end the whole script with a
58
if [ "$?" = "0" ]; then
65
###################################################################
67
# Script to dial any telephone number
71
# echo "dialing attempt number: $1" >/dev/console
76
###################################################################
78
# Initialize the modem to ensure that it is in the command state
81
if [ ! "$?" = "0" ]; then
86
# Dial telephone numbers until one answers
3
# A chatscript that will attempt to dial multiple numbers in sequence, until
6
# To use: edit /etc/peers/provider, and change the connect line to read:
7
# connect "/usr/local/bin/redialer"
9
# See below for configuration.
11
# This is a list of chatscripts to use to get connected, and (optional)
12
# telephone numbers to call for each of those chatscripts.
14
# Note that in the chatscripts, you may use #NUMBER#, this will be replaced
15
# with the number it is calling. You might want to use this to only have one
16
# chatscript that is used for all numbers, or you might need multiple
20
CHAT1=/etc/chatscripts/provider
23
CHAT2=/etc/chatscripts/provider
26
CHAT3=/etc/chatscripts/provider
29
CHAT4=/etc/chatscripts/provider
32
CHAT5=/etc/chatscripts/provider
34
# How long to sleep between retries:
36
# Note that this is a parameter to sleep so use "15s" for 15 seconds,
37
# "1m" for 1 minute, etc
40
# The code below does the dialing.
90
attempt=`expr $attempt + 1`
92
if [ "$attempt" = "$MAX_ATTEMPTS" ]; then
44
attempt=`expr $attempt + 1`
45
NUMBER=`eval echo '$PHONE'$attempt`
46
CHAT=`eval echo '$CHAT'$attempt`
47
if [ ! "$CHAT" ]; then
50
logger "Dialing attempt number: $attempt"
51
sed s/#NUMBER#/$NUMBER/ $CHAT >/etc/chatscripts/tmpchat
52
/usr/sbin/chat -v -f /etc/chatscripts/tmpchat
53
rm -f /etc/chatscripts/tmpchat
55
0) logger Connection established ; exit 0;;
56
1) logger chat: exit 1, see manpage for details. ; exit 1;;
57
2) logger chat: exit 2, see manpage for details. ; exit 2;;
58
3) logger chat: exit 3, see manpage for details. ;;
59
4) logger Line busy. ;;
60
5) logger No Carrier. ;;
61
6) logger A call is coming. Exiting! ; exit 1;;
62
7) logger No dialtone. ;;
63
8) logger An error occured. Exiting! ; exit 1;;
64
*) logger chat: exit $?, see manpage for details. ;;
66
logger "Waiting $SLEEP_DELAY seconds before next try."