| #!/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 |