lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame^] | 1 | #!/bin/sh |
| 2 | ################################################################### |
| 3 | # |
| 4 | # These parameters control the attack dialing sequence. |
| 5 | # |
| 6 | # Maximum number of attempts to reach the telephone number(s) |
| 7 | MAX_ATTEMPTS=10 |
| 8 | |
| 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. |
| 11 | SLEEP_DELAY=15s |
| 12 | |
| 13 | ################################################################### |
| 14 | # |
| 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. |
| 17 | PHONE1=555-1212 |
| 18 | PHONE2=411 |
| 19 | |
| 20 | ################################################################### |
| 21 | # |
| 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. |
| 25 | # |
| 26 | ACCOUNT=my_account_name |
| 27 | PASSWORD=my_password |
| 28 | |
| 29 | ################################################################### |
| 30 | # |
| 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. |
| 33 | # |
| 34 | function initialize |
| 35 | { |
| 36 | chat -v TIMEOUT 3 '' AT 'OK-+++\c-OK' |
| 37 | return |
| 38 | } |
| 39 | |
| 40 | ################################################################### |
| 41 | # |
| 42 | # Script to dial a telephone |
| 43 | # |
| 44 | function callnumber |
| 45 | { |
| 46 | chat -v \ |
| 47 | ABORT '\nBUSY\r' \ |
| 48 | ABORT '\nNO ANSWER\r' \ |
| 49 | ABORT '\nRINGING\r\n\r\nRINGING\r' \ |
| 50 | '' ATDT$1 \ |
| 51 | CONNECT '' \ |
| 52 | ogin:--ogin: $ACCOUNT \ |
| 53 | assword: $PASSWORD |
| 54 | # |
| 55 | # If the connection was successful then end the whole script with a |
| 56 | # success. |
| 57 | # |
| 58 | if [ "$?" = "0" ]; then |
| 59 | exit 0 |
| 60 | fi |
| 61 | |
| 62 | return |
| 63 | } |
| 64 | |
| 65 | ################################################################### |
| 66 | # |
| 67 | # Script to dial any telephone number |
| 68 | # |
| 69 | function callall |
| 70 | { |
| 71 | # echo "dialing attempt number: $1" >/dev/console |
| 72 | callnumber $PHONE1 |
| 73 | # callnumber $PHONE2 |
| 74 | } |
| 75 | |
| 76 | ################################################################### |
| 77 | # |
| 78 | # Initialize the modem to ensure that it is in the command state |
| 79 | # |
| 80 | initialize |
| 81 | if [ ! "$?" = "0" ]; then |
| 82 | exit 1 |
| 83 | fi |
| 84 | |
| 85 | # |
| 86 | # Dial telephone numbers until one answers |
| 87 | # |
| 88 | attempt=0 |
| 89 | while : ; do |
| 90 | attempt=`expr $attempt + 1` |
| 91 | callall $attempt |
| 92 | if [ "$attempt" = "$MAX_ATTEMPTS" ]; then |
| 93 | exit 1 |
| 94 | fi |
| 95 | sleep "$SLEEP_DELAY" |
| 96 | done |