freebsd-dev/gnu/libexec/uucp/contrib/Dial.Hayes
1993-08-05 18:28:27 +00:00

109 lines
1.9 KiB
Plaintext

#!xchat
# @(#) dial.hayes V1.1 Tue Sep 1 13:59:58 1992 (Bob Denny)
#
# xchat script for dialing a vanilla Hayes modem
#
# Usage:
# xchat dial.hayes telno
#
# where telno is the telephone number, subject to pause and wait
# character modification.
#
# Uncomment the first two lines after "start:" to get debugging
# in file "Dial.Log"
#
# Flush input, zero counter, set telephone number if supplied,
# else fail if no telephone number given.
#
start:
### dbgfile Dial.Log
### dbgset 15
zero
flush
ifnstr notelno 0
telno 0
goto initmodem
#
# Missing telephone number.
#
notelno:
logerr No telephone number given
failed
#
# Reset the modem to nonvolatile profile.
# Allow 3 sec. for response, as some modems are slow to reset.
#
initmodem:
count
ifgtr cantinit 4
send ATZ\r
timeout initmodem 3000
expect setupmodem OK
#
# No response from modem
#
cantinit:
logerr Can't wake modem
failed
#
# Send the stuff needed to initialize the modem to the modes
# needed for the particular modem flavor. The string below
# is provided as a vanilla example. Allow 2 sec. for the
# modem to respond to this command.
#
setupmodem:
sleep 1000
send ATM0S7=90S11=120\r
timeout setupfail 2000
expect setupfail ERROR
expect dialnumber OK
#
# Modem barfed or died on setup command.
#
setupfail:
logerr Error in modem setup string
failed
#
# Dial the supplied number. Handle the various errors that
# can come back from the modem by logging the error.
#
dialnumber:
sleep 1000
send ATDT
dial
send \r
flush
timeout timeout 90000
expect connected CONNECT
expect busy BUSY
expect nocarrier NO CARRIER
expect noanswer NO ANSWER
expect nodialtone NO DIALTONE
#
# Success!
#
connected:
success
#
# Handle modem dial failures
#
timeout:
logerr Modem or carrier timeout.
failed
busy:
logerr BUSY
failed
nocarrier:
logerr NO CARRIER
failed
noanswer:
logerr NO ANSWER
failed
nodialtone:
logerr NO DIALTONE
failed
#
# end
#