home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / ppp / examples / scripts / redialer < prev    next >
Encoding:
Text File  |  2006-07-10  |  2.3 KB  |  70 lines

  1. #!/bin/sh
  2. #
  3. # A chatscript that will attempt to dial multiple numbers in sequence, until
  4. # you get connected.
  5. #
  6. # To use: edit /etc/peers/provider, and change the connect line to read:
  7. # connect "/usr/local/bin/redialer"
  8. #
  9. # See below for configuration.
  10.  
  11. # This is a list of chatscripts to use to get connected, and (optional)
  12. # telephone numbers to call for each of those chatscripts.
  13. #
  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
  17. # chatscripts.
  18.  
  19. PHONE1=123456789
  20. CHAT1=/etc/chatscripts/provider
  21.  
  22. PHONE2=912345678
  23. CHAT2=/etc/chatscripts/provider
  24.  
  25. PHONE3=891234567
  26. CHAT3=/etc/chatscripts/provider
  27.  
  28. PHONE4=789123456
  29. CHAT4=/etc/chatscripts/provider
  30.  
  31. PHONE5=001234567
  32. CHAT5=/etc/chatscripts/provider
  33.  
  34. # How long to sleep between retries:
  35. #
  36. # Note that this is a parameter to sleep so use "15s" for 15 seconds,
  37. # "1m" for 1 minute, etc
  38. SLEEP_DELAY=1s
  39.  
  40. # The code below does the dialing.
  41.  
  42. attempt=0
  43. while : ; do
  44.         attempt=`expr $attempt + 1`
  45.         NUMBER=`eval echo '$PHONE'$attempt`
  46.         CHAT=`eval echo '$CHAT'$attempt`
  47.         if [ ! "$CHAT" ]; then
  48.                 attempt=0
  49.         else
  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
  54.                 case $? in
  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. ;;
  65.                 esac
  66.                 logger "Waiting $SLEEP_DELAY seconds before next try."
  67.                 sleep $SLEEP_DELAY
  68.         fi
  69. done
  70.