PC Gen: Contents of Modem Script File USRHST.MDMLast reviewed: October 21, 1994Article ID: Q80268 |
The information in this article applies to:
The following is the contents of the Microsoft Mail version 2.1e modem script file USRHST.MDM, which can be compiled with SCRCOMP.EXE: ;********************************************************************* ; ; Microsoft Mail Script File ; ; Filename: usrhst.mdm ; Date : Oct 26, 1990 ; Script : Script file for USRobotics Courier HST modems ;; This modem has a bank of DIP-Switches on the back. These should ; be set as follows (note that switches 1 and 6 differ from factory ; settings): ; ; QUAD 1 2 3 4 5 6 7 8 9 10 ; ON XXXX X X X X ; OFF X X X X X X ; ;; This script file contains the standard modem setup strings used ; by the External, Transmit and Listen programs. There are five ; procedures defined in this script file for setting up the modem and ; for connecting to a remote External machine. ; ; The modem setup strings used here will be adequate for most ; people but there may be some changes required if you are dialing ; overseas and require a longer wait for Carrier Detect (S7 register) ; or if you wish to change the speaker volume. Note that if you used ; the -Innn option in version 1.0 or 2.0 that you will have to modify ; the S7 register and recompile this script file. ; ; Consult your modem manual for more information on setup options. ; ; Script procedures defined: ; INITIALIZE ; RESET ; CALL ; ANSWER ; DISCONNECT ;; Return codes for External, Transmit, Listen: ; 0 - OK ; 1 - CONNECT 300 ; 2 - not defined ; 3 - NO CARRIER ; 4 - ERROR ; 5 - CONNECT 1200 ; 6 - not defined ; 7 - BUSY ; 8 - NO ANSWER ; 9 - not defined; 10 - CONNECT 2400 ; 11 - not defined ; 12 - CONNECT 9600 (high speed connection) ; ; ;*********************************************************************
INITIALIZE: title "USRobotics HST/V.32 Script" baud 19200 ; set the baud rate display " Baud Rate : 19200" $attempts = 5init_retry: sendln "ATZ" ; reset modem to default settings wait 2 waitrsp 1 if ("0" isin response) goto reset_okay if ("OK" isin response) {reset_okay: sendln "AT&F&B1&H1&R2&S1E0M1V0X3" wait 2 waitrsp 3 if ("0^M" isin response) { sendln "ATS0=0S10=50&W" waitrsp 3 if (response = "0^M") return 0 } } dec $attempts if ($attempts > 0) goto init_retry return 4RESET: baud 19200 ; set the baud rate display " Baud Rate : 19200" sendln "ATZ" ; reset modem to default settings waitrsp 2 if (response = "0^M") return 0 else return 4CALL: $ret = 8 ; set default ret code to "no answer" clearrsp ; clear the response buffer echo 0 ; do not display phone number sendln "ATD" + dial_mode + phone_number ; execute the dial up echo 1 ; turn echo back on waitrsp 120 ; wait until the modem responds (max ; 2 minutes) if (response = "1^M") { display ">>> CONNECT 300 <<<" $ret = 1 } else if (response = "3^M") { display ">>> NO CARRIER <<<" $ret = 8 ; no answer or no connect } else if (response = "5^M") { display ">>> CONNECT 1200 <<<" $ret = 5 } else if (response = "7^M") { display ">>> BUSY <<<" $ret = 7 ; busy } else if (response = "10^M") { display ">>> CONNECT 2400 <<<" $ret = 10 } else if (response = "13^M") { display ">>> CONNECT 9600 <<<" $ret = 12 } else if (response = "18^M") { display ">>> CONNECT 4800 <<<" $ret = 11 } else if (response = "14^M") { display ">>> CONNECT 300/ARQ <<<" $ret = 1 } else if (response = "15^M") { display ">>> CONNECT 1200/ARQ <<<" $ret = 5 } else if (response = "16^M") { display ">>> CONNECT 2400/ARQ <<<" $ret = 10 } else if (response = "17^M") { display ">>> CONNECT 9600/ARQ <<<" $ret = 12 } else if (response = "19^M") { display ">>> CONNECT 4800/ARQ <<<" $ret = 11 } return $ret ; return connect baud rate to ; applicationANSWER: $ret = 8 ; set default ret code to "no answer" waitrsp 1 ; see if phone is ringing if (response = "2^M") ; 2 is numeric form of "RING" { if (listen = 1) ; see if Listen program is running or sendln "ATD" ; not answer phone in originate mode ; (Listen) else sendln "ATA" ; answer the phone normally waitrsp 120 ; wait for return code from modem (max ; 2 minutes) if (response = "1^M") { display ">>> CONNECT 300 <<<" $ret = 1 } else if (response = "3^M") { display ">>> NO CARRIER <<<" $ret = 8 ; no answer or no connect } else if (response = "5^M") { display ">>> CONNECT 1200 <<<" $ret = 5 } else if (response = "10^M") { display ">>> CONNECT 2400 <<<" $ret = 10 } else if (response = "13^M") { display ">>> CONNECT 9600 <<<" $ret = 12 } else if (response = "18^M") { display ">>> CONNECT 4800 <<<" $ret = 11 } else if (response = "14^M") { display ">>> CONNECT 300/ARQ <<<" $ret = 1 } else if (response = "15^M") { display ">>> CONNECT 1200/ARQ <<<" $ret = 5 } else if (response = "16^M") { display ">>> CONNECT 2400/ARQ <<<" $ret = 10 } else if (response = "17^M") { display ">>> CONNECT 9600/ARQ <<<" $ret = 12 } else if (response = "19^M") { display ">>> CONNECT 4800/ARQ <<<" $ret = 11 } } return $ret ; return connect baud rate to ; applicationDISCONNECT: wait 2 ; wait 2 seconds send "+++" ; send escape sequence to put modem ; back to command state wait 2 ; wait 2 seconds clearrsp ; clear the response buffer sendln "ATH0" ; hang up the phone waitrsp 3 ; wait for a response if (response != "0^M") ; if hang up failed, drop DTR to force ; hang up { DTR 0 ; drop DTR to reset modem wait 2 ; some modems require a delay here DTR 1 ; raise DTR clearrsp ; clear response buffer } return 0 ; always return OK |
Additional reference words: 2.10 2.1 2.10e
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |