CHAPTER 6. ASYNCHRONOUS DIALING AND ANSWERING The information in this chapter applies to asynchronous calls only. For synchronous operations, refer to Chapter 7. BEFORE CONNECTING For two modems to connect and exchange data, they must use the same modulation standard and, for error control to be successful, the same error control protocol. The end-to-end devices (the computers, or DTEs) must use the same word length, parity, and number of stop bit settings. Modulation/Standards The Courier modem adheres to the following modulation and signaling standards. USR-HST 16.8K, 14.4K/12K/9600/7200/4800 bps (Dual Standard and HST modems) CCITT V.32 bis 14.4K/12K/9600/7200/4 800 bps (Dual Standard and V.32 bis modems) CCITT V.32 9600/4800 bps (Dual Standard and V.32 bis modems) V.22 bis 2400 bps Bell 212A/ 1200 bps CCITT V.22 CCITT V.23 1200 bps with 75 bps back channel (British phone system) CCITT V.25 Answer sequence for calls originating outside the U.S. and Canada Bell 103 or 300 bps CCITT V.21 CCITT V.42 LAPM error control, 1200 bps and higher CCITT V.42 bis Data compression, 1200 bps and higher MNP Levels 2, 3 and 4 error control, level 5 data compression, 1200 bps and higher CCITT V.54 Analog digital and remote digital loopback testing Setting the Transmission Rate Setting your terminal or software to 57.6K, 38.4K or 19.2K bps ensures that the Courier can operate at its highest speed. The modem detects the rate from the AT command and operates accordingly. It also detects your terminal/software settings for the data formats shown below in Table 6.1. Follow the guidelines in the Quick Start in Chapter 3 or the more detailed instructions in Chapter 4 before selecting either variable or fixed DTE rates (&Bn). Setting the modem to &B1 and your software to a high DTE rate will give you the best throughput. Set the modem for flow control (&Hn), as well. We recommend leaving the modem at its link operation factory setting, &N0, unless your application requires that you specify a fixed link rate. &N0 allows the Courier to automatically negotiate with the remote modem for the highest possible link rate. Data Format Both modems must use the same 10-bit data format, which you must select through your terminal or software. The formats allowed are as follows: Start Data Stop Bits Bits Parity Bits 1 7 Even, Odd, 1 Mark, Space 1 7 None, Even, Odd 2 Mark, Space 1 8 None 1,2 Table 6.1êAllowable Data Formats Error Control For reliable high speed data transfer, always set the Courier for error control, &M4 (the default) or &M5, for calls above 2400 bps. Most users communicating with V.42- or MNP- compatible modems will want error control at 2400 and 1200 bps as well. It is a good idea to find out if the remote modem is MNP-compatible. Some public network services, for example, are not. If the remote modem doesn't have MNP capability, it may misinterpret the error control request and block a successful connection. If you know the remote modem doesn't support MNP, disable MNP handshaking by setting Register S27 to 16. The modem still connects with V.42-compatible modems. PLACING CALLS The commands discussed in this section are used in the following operations: Dialing D (0-9 # * , ; ! P T W @ R), DSn Redialing A/, A>, > Canceling dialing Dial (D) When the Dial command is issued the modem goes off hookêthe equivalent of picking up your phoneêthen enters Originate mode and dials the number sequence that follows. The modem also executes any other commands or options included in the command line. The command string may include up to 40 characters. The modem counts, but ignores punctuation characters such as parentheses and hyphens. It does not count spaces, the AT prefix or the Carriage Return (Enter key) required to execute the command. The following command example instructs the modem to stop the display of commands (E0, turn off the local echo), turn off the speaker (M0), and dial (D) the phone number (1234567) using Touch- Tone dialing (T). The spaces shown are ignored by the modem and are only included here for readability. AT E0 M0 DT 1234567 Cancel Dialing To cancel Dial-command execution, press . If you inadvertently hit a key on the keyboard while the modem is dialing, the call is canceled. If this occurs, type the A/ command explained under Redialing later in this chapter. Dialing Type, Pulse or Tone If set to X0 or X1, the modem defaults to pulse (rotary) dialing. To have the modem use tone dialing, which includes the asterisk (*) and pound sign (#), use the T command. The command may be included in the Dial string, as in the previous command example, or issued separately: ATT The following command resets the modem to pulse dialing: ATP You can switch from one dial type to another within a dialing sequence. NOTE: The modem remains set to the dialing type of the last call until it is reset (ATZ command) or it receives a different dial-type command. Adaptive Dialing (X2êX7) When any of the X2 through X7 options is in effect and you do not issue a dialing type in the Dial string, the Courier uses tone dialing, which is faster than the default pulse type. However, if the phone company's central office does not have Touch-Tone detection equipment, the modem cannot break dial and continues to detect the dial tone. If this occurs, the modem automatically reverts to pulse dialing. Pause (,) A comma causes a two-second delay in the dial sequence. The following example contains four-second delays at several points: ATDP 9,,7654321,,55555,,1 312 1234567 The first four-second pause is to access an outside line after dialing 9, but you may wish to use the W option, described in what follows. The second pause is to make sure the remote system is ready for the user's account number, and the third, to delay before dialing the long- distance number. Such pauses, however, may not be necessary. Experiment and use delays only as required. Slash (/) A slash (/) can be used in any command string to have the modem pause for only 125 milliseconds. Some users find it helpful to have the shorter delay of a series of slashes, rather than the 2- second comma pause. Wait for Another Dial Tone (W) This command is useful in situations where you must wait for a second dial tone before continuing dialing. For example, if you need to dial for an outside line, as in the following example, the Courier continues dialing as soon as it detects the next dial tone. ATD9W1234567 NOTE: This command executes only if result code option X3 or greater has been issued. If the modem is set to X2 or lower, the modem interprets the W as a comma (two-second pause). Dial and Return to Command Mode (;) If your phone is plugged into the modem, you can use this option to have the modem Auto Dial a telephone rather than a modem. The Courier dials, remains off hook and returns the OK message, indicating it is in Command mode. For example, to have the modem place a voice call, enter the Dial command with a semicolon: ATDT5551234; When the modem returns the OK result, pick up your phone receiver so you can talk to the other party, and send the command that hangs up the modem: ATH Similarly, you can call a recorded weather or other service. Have the modem Dial, listen to the recording over the modem's speaker and, when you are finished, tell the modem to hang up. Dialing Letters (+) Quotation marks are used to have the modem dial abbreviations and acronyms used as phone numbers, such as DIAL USR (the USRobotics Sales Department's 800 number). The option is called Quote mode. Quotation marks are inserted at the beginning of the alphabetic string: ATDT+BBS NEWS NOTE: If you are including another command after the dial string, use closing quotation marks before the additional command. Transferring Calls (!) This command applies to modems in installations where other modems share the phone line. The modem flashes the switch-hook, i.e., goes off hook 0.5 seconds, on hook for 0.5 seconds, and off hook again to dial the specified extension. The following example includes instructions to return to Command mode (;) and to hang up (H). ATDT !1234;H Wait for an Answer (@) Some online services answer the phone and return a tape-recorded request for information before processing transactions. In such instances, the @ command can be used in the Dial string to tell the modem to detect at least one ring, wait for five seconds of silence at the other end of the call, and then continue to execute the Dial string. To use the @ command, set the modem to X3, X4 or X7. If the modem is set to X2 or lower, the modem returns an ERROR message when encountering the @ character in a command string. If set to X5 or X6, the modem hangs up when it detects a voice answer and sends the VOICE result code. In the next example, the modem is set to the X4 result code option and dials a banking service. Each occurrence of @ in the example indicates a five-second wait for silence, that is, for taped requests from the bank for a password (12345), an account number (6789) and a transaction code (2). The transaction code might indicate, for example, a request for an account balance. ATX4 DT5551234 @ 12345 @ 6789 @ 2 If the necessary conditions do not occurêno rings, or no following five seconds of silenceêthe modem times out as it normally would (after 60 seconds). It then sends the message NO ANSWER to the screen and aborts the command. Reversing Originate/Answer Frequencies (R) This command allows calls to an originate-only modem. It reverses the modem's originate/answer frequencies, forcing the Courier to dial out at the answer frequency. The command follows the Dial command, before or after the phone number: AT D1234567R AT DR1234567 Dialing a Stored Number (DSn) Chapter 5 includes instructions for storing up to four telephone numbers in nonvolatile random access memory (NVRAM). To have the modem dial a stored number use the DSn command, where n is the number's position, 0-3, in NVRAM. In the first of the next two examples, the phone number is stored at position 0, assumed by the modem if there is no numeric parameter: ATDS ATDS3 You can store a partial dial sequence, for example, the phone number of a system, to which you might want to add different codes for different extensions. Store the phone number so that you don't have to type it each time. Use the DSn command to dial the number; then have the modem dial whichever code you want, as in the following example. The phone number is stored at position 1. Spaces in the command string are included here only for readability. AT DS1 D5678 REDIALING The most frequent reason for redialing is receipt of a busy signal. The Courier provides three ways to redial, as follows. Dial the Last Dialed Number (DL) When sent this command, the modem dials the last dialed number, which it has stored in a special buffer: ATDL To display the number stored in the last-dialed buffer, use the following command: ATDL? To write the last number dialed to NVRAM, use &Zn = L where n is the position in NVRAM. The following example stores the last dialed number at position 3: &Z3 = L If a number is already stored at position 3, that number is overwritten with the last-dialed number. Re-execute the Last Command (A/) The A/ command, which does not take the AT prefix or a Carriage Return, redials one time: A/ When the modem receives a command, it stores the instruction in its command buffer until it receives the next AT command. Note that if you've sent the modem an additional command since the Dial command, A/ re-executes that command instead of redialing. Automated Redialing (>, A>) These two commands, while they can be used to continuously repeat any command, are designed for automated redialing. The first (>) is included in the Dial command. The second (A>) is used alone to continuously redial the command string in the buffer. Continuous Repeat (>) If you know the modem you are calling is frequently busy, include the Repeat command in the Dial string, as follows: AT > DT 1234567 AT DT 1234567 > The modem enters Repeat mode, dials the number, waits the default 60 seconds for a carrier, and hangs up. Then, after a two-second pause, it redials. The cycle continues until the modems connect or the modem reaches a maximum of 10 attempts. The 10-try limit is mandated by the Canadian Department of Communications (DOC) to prevent tying up local telephone company exchanges with unconnected calls. Continuous Re-execute (A>) This command combines the features of both the A/ and > commands. The modem enters Repeat mode as described above, and redials the Dial string in the command buffer. Like the A/ command, A> does not take the AT prefix or a Carriage Return: A> Exiting Repeat Mode Should you use > or A> with a command other than a Dial string, abort the cycle by pressing . To abort automated redialing, be sure to press when the result code appears, during the pause before the modem begins dialing again. If you press while the modem is dialing, that dial attempt is canceled but the cycle continues. ESCAPE CODE OPERATIONS (+++) Once the modem is online to another system, the only command it recognizes is an escape code of three pluses, which forces the modem back to Command mode. Do the following when issuing the command: ù Wait one second after sending the last item of data ù Type: +++ ù Wait one second before typing any data Do not type the AT prefix or a Carriage Return. The guard time of one second before and after the code prevents the modem from misinterpreting the occurrence of +++ in the transmitted data stream. If necessary, the character used in the escape code or the duration of the guard time can be changed by resetting Register S2 or S12. See the S-Register Summary in Appendix B. Modem Response to +++ The modem returns to Command mode when it detects the escape code. However, it keeps the line open or hangs up, depending on the setting of DIP switch 9: DIP Switch 9 Response to +++ UP Modem goes on hook (hangs up), sends NO CARRIER result code (factory setting) DOWN Modem maintains connection (Online-Command mode), sends OK result code The factory setting (UP) forces an automatic disconnect when you issue +++. An advantage of this is that you are not likely to inadvertently run up an all- night phone bill. Set DIP switch 9 DOWN if you want the modem to respond to +++ by entering Online-Command mode, enabling it to execute commands and return online. (See the O command, below.) WARNING: For unattended modem operations: in rare instances, the modem may fail to recognize the +++ escape code sequence. If you are running the modem under software control for unattended operations, we suggest you use the surefire method of dropping the DTR signal from the DTE for at least 50 milliseconds, to ensure against costly phone charges. Methods of turn- ing the DTR signal offêfor example, closing the communications portêdiffer from one computer to another. RETURNING ONLINE (O) If DIP switch 9 is DOWN (on detection of the escape code the modem maintains the connection), you can issue commands and then toggle the modem back online with the O command, as in this example: AT Q1 O HANGING UP (Hn) If DIP switch 9 is DOWN (factory setting), the escape code forces the modem back to Command mode but leaves the line open. If you want the modem to hang up, issue the following command once the modem sends the OK result code. ATH If DIP switch 9 is UP, the modem automatically hangs up on receipt of the escape code. AUTOMATIC ANSWERING The Courier is shipped with DIP switch 5 DOWN, Auto Answer suppressed. To set the modem to automatically answer incom- ing calls, do one of the following: 1. Before powering on your system, set DIP switch 5 UP. When you turn the computer on, the modem answers incoming calls on the first ring. 2. When the modem is on, use software control. The following command instructs the modem to answer on the first ring. (You can substitute a higher value. See the S-Register summary in Appendix B-5.) ATS0=1 When the modem senses a call coming in, it sends the result code RING to your screen, goes off hook, and sends the remote modem a high-pitched answer tone. If there is no Carrier Detect within 60 seconds, the modem hangs up. If the connection is made, the modem sends a CONNECT result code. When the call is disconnected by you or the remote user, the modem hangs up and returns the NO CARRIER code. Suppressing Auto Answer To disable Auto Answer, reverse Steps 1 or 2 above. Set DIP switch 5 DOWN before powering on the modem or set the modem to answer on zero rings: ATS0=0 Points to Remember 1. If the modem is attached to a computer, you can set the modem to receive calls when you're not at your computer. Load your communications software as you normally do, and set the modem to Auto Answer. Also set your software's file-save function to save incoming messages and/or files. 2. If you've attached your phone so it can be used for conventional calls, disable Auto Answer when you are not expecting incoming data calls. Otherwise, your modem may answer the phone before you do, greeting a voice caller with a high-pitched, irritating answer tone. INTERNATIONAL CALLS There are three commands that apply to international calls at 1200 bps and above. NOTE: To call or answer overseas modems at 300 bps, set the modem to CCITT V.21 mode. See Register S27 in Appendix B. Handshaking Options (Bn) This command is used primarily to select HST or V.32 bis operation. However, to answer international calls, use the B0 setting, as described below. B0 This setting is required for V.32/V.32 bis operation. It also selects the CCITT V.25 answer tone used outside of North America. This answer tone is incorporated into the V.32/V.32 bis recommendations. This setting is the default for the Courier V.32 bis and Dual Standard modems. All you need to do is make sure that the modem is set for Auto Answer (ATS0=1). Set Courier HST modems to B0 to an- swer HST-mode international calls. The B0 setting does not affect the modem's ability to call or answer domestic modems. It takes slightly longer, however, to connect. B1 This setting is required for HST operation. It also selects the Bell 2225 Hz answer tone used in the U.S. and Canada. This is the default setting for the Courier HST. Guard Tone (&Gn) This setting applies only to overseas calls at 2400 or 1200 bps. British phone switching systems require the modem to send an 1800 Hz guard tone after it sends an answer tone. Some other European phone networks require a 550 Hz guard tone. Guard tones are not used in the United States or Canada. &G0 No guard tone, U.S./Canada. Default. &G1 550 Hz guard tone follows answer tone. &G2 1800 Hz guard tone follows answer tone, United Kingdom and some Commonwealth countries. Requires B0 setting. Pulse Dial Make/Break Ratio (&Pn) This command sets the ratio of the off- hook/on-hook (make/ break) interval for pulse dialing. The default sets the modem for use in North America. The ratio must be changed if the modem is used in the United Kingdom and some Commonwealth countries. &P0 Make/break ratio, U.S./Canada: 39%/61%. Default. &P1 Make/break ratio, United Kingdom, some Commonwealth countries: 33%/67%.