! "Express Modem AppleTalk Remote Access Script - 12/10/92 - V1.0"
! Modified by Bill Dickson for InterSLIP dialup, 09/26/93
!      o Allow activation of compression and error correction
!      o Decrease @LABEL18 delay before exit to facilitate gateway login script
!
@ORIGINATE
@ANSWER
!
@LABEL 1
!
! first recall the factory configuration
!
matchclr
settries 0
matchstr 1 3 "OK\13\10"
@LABEL 2
write "AT&F\13"
matchread 30
inctries
iftries 2 59
jump 2
!
! Next, Set up the configuration: Echo off
!
@LABEL 3
matchstr 1 4 "OK\13\10"
write "ATE0\13"
matchread 30
jump 59
!
! If speaker on flag is true, jump to label 8.  Else turn off the speaker
!
@LABEL 4
@LABEL 5
matchclr
ifstr 2 8 "1"
matchstr 1 8 "OK\13\10"
write "ATM0\13"
matchread 30
jump 59
!
! The modem is ready.  So enable answering, or originate a call
!
@LABEL 8
ifANSWER 30
note "Dialing ^1" 3
write "ATS0=0DT^1\13"
!
@LABEL 9
matchstr 1 11 "CONNECT 1200\13\10"
matchstr 2 12 "CONNECT 2400\13\10"
matchstr 3 13 "CONNECT 4800\13\10"
matchstr 4 14 "CONNECT 7200\13\10"
matchstr 5 15 "CONNECT 9600\13\10"
matchstr 6 16 "CONNECT 12000\13\10"
matchstr 7 17 "CONNECT 14400\13\10"
matchstr 8 50 "NO CARRIER\13\10"
matchstr 9 50 "ERROR\13\10"
matchstr 10 52 "NO DIALTONE\13\10"
matchstr 11 51 "MODEM IN USE\13\10"
matchstr 12 53 "BUSY\13\10"
matchstr 13 54 "NO ANSWER\13\10"
matchread 700
jump 59
!
@LABEL 11
note "Communicating at 1200 bps." 2
CommunicatingAt 1200
jump 18
!
@LABEL 12
note "Communicating at 2400 bps." 2
CommunicatingAt 2400
jump 18
!
@LABEL 13
note "Communicating at 4800 bps." 2
CommunicatingAt 4800
jump 18
!
@LABEL 14
note "Communicating at 7200 bps." 2
CommunicatingAt 7200
jump 18
!
@LABEL 15
note "Communicating at 9600 bps." 2
CommunicatingAt 9600
jump 18
!
@LABEL 16
note "Communicating at 12.0 kbps." 2
CommunicatingAt 12000
jump 18
!
@LABEL 17
note "Communicating at 14.4 kbps." 2
CommunicatingAt 14400
!
@LABEL 18
ifANSWER 19
!
! ADAM:  This is the culprit -- was pause 30, changed to pause 10
!
pause 10
!
exit 0
@LABEL 19
userhook 1
exit 0
!
! @ANSWER
! Set up the modem to answer
@LABEL 30
write "ATS0=1\13"
matchstr 1 31 "OK\13\10"
matchread 30
jump 59
!
@LABEL 31
matchstr 1  32 "RING\13\10"
matchstr 2  11 "CONNECT 1200\13\10"
matchstr 3  12 "CONNECT 2400\13\10"
matchstr 4  13 "CONNECT 4800\13\10"
matchstr 5  14 "CONNECT 7200\13\10"
matchstr 6  15 "CONNECT 9600\13\10"
matchstr 7  16 "CONNECT 12000\13\10"
matchstr 8  17 "CONNECT 14400\13\10"
matchstr 9  50 "NO CARRIER\13\10"
matchstr 10 50 "ERROR\13\10"
matchstr 11 51 "MODEM IN USE\13\10"
matchstr 12 52 "NO DIALTONE\13\10"
matchstr 13 53 "BUSY\13\10"
matchstr 14 54 "NO ANSWER\13\10"
matchread 700
jump 31
!
@LABEL 32
note "Answering phone
jump 31
!
! 50: error messages
!
@LABEL 50
exit -6021
!
@LABEL 51
note "The Express Modem is currently in use by another application
exit -6020
!
@LABEL 52
exit -6020
!
@LABEL 53
exit -6022
!
@LABEL 54
exit -6023
!
@LABEL 59
exit -6019
!
! Hang up the modem
!
@HANGUP
@LABEL 60
settries 0
@LABEL 61
write "ATH0\13"
matchclr
matchstr 1 64 "OK\13\10"
matchstr 2 63 "NO CARRIER\13\10"
matchstr 3 64 "ERROR\13\10"
matchread 15
inctries
iftries 3 64
! no response, try escape sequence
write "+++"
matchclr
matchstr 1 62 "OK\13\10"
matchread 18
!
! No response from modem
!
jump 61
!
@LABEL 62
matchclr
matchstr 1 64 "OK\13\10"
matchstr 2 63 "NO CARRIER\13\10"
write "ATH0\13"
matchread 50
jump 61
!
@LABEL 63
pause 45
flush
!
! Recall the factory settings
!
@LABEL 64
matchclr
matchstr 1 65 "OK\13\10"
write "AT&F\13"
matchread 30
!
@LABEL 65
matchstr 1 66 "OK\13\10"
write "ATS0=0\13"
matchread 30
!
@LABEL 66
exit 0