109 lines
1.9 KiB
Plaintext
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
|
|
#
|
|
|