michaele@vice.ICO.TEK.COM (Michael Enkelis) (05/25/89)
This is a simple calling script i use with tip. It will try to redial a system if it is busy. ----- #!/bin/csh -f set noglob onintr Hangup set SPOOL="/usr/spool/uucp" set MODEM="modem" set CALL="/usr/public/tip" set TRYS=2 set DELAY=30 set SYSTEM="" set TRY=1 while ($#argv) switch ($1) case "-r": shift set TRYS=$1 if ($TRYS < 1) then echo "Retry count too low, set from 1 to 100." exit 1 endif if ($TRYS > 100) then echo "Retry count too high, set from 1 to 100." exit 1 endif echo "Retry count set to $TRYS." breaksw case "-s": shift set DELAY=$1 if ($DELAY < 1) then echo "Sleep value too low, set from 1 to 120." exit 1 endif if ($DELAY > 120) then echo "Sleep value too large, set from 1 to 120." exit 1 endif echo "Sleep time set to $DELAY seconds." breaksw case "-h": case "-?": echo -n "`basename $0` " echo "[-r retry_count] [-s sleep_time] system/number" echo "-r VVVV Set retry count." echo " Value of VVVV is 1 to 100." echo "-s VVVV Set sleep time." echo " Value of VVVV is 1 to 120 seconds." echo "system System name from tip database." echo "number Phone number to dial." exit 1 breaksw default: set SYSTEM=$1 breaksw endsw shift end if ($SYSTEM == "") then echo -n "Usage: `basename $0` " echo "[-h] [-r retry_count] [-s sleep_time] system/number" exit 1 endif Top: if (-f $SPOOL/LCK..$MODEM ) then set info=`ls -l $SPOOL/LCK..$MODEM` echo "Modem is in use by $info[3], $info[5] $info[6] $info[7]." exit 2 endif $CALL $SYSTEM switch ($status) case 0: echo "That will be .25 for 3 minutes." exit 0 breaksw case 1: if ($TRY != $TRYS) then echo "Unable to complete this call." echo "Delaying for $DELAY seconds." sleep $DELAY @ TRY++ echo "Retry $TRY of $TRYS." goto Top else echo "Sorry, unable to complete your call." exit 3 endif breaksw case 3: exit 4 breaksw case 8: exit 5 breaksw default: echo "Exit status: $status." endsw Hangup: echo "" exit 0 -- _ _ _ __ ' ) ) ) / /) / ` / /) Michael Enkelis / / / o _. /_ __. _ // /-- __ /_ _ // o _ tektronix!vice!michaele / ' (_(_(__/ /_(_(_(<_(/_ (___, /) )_/ <_(<_(/_(_/_)_ (503) 627-4099