B A S I C A T C O M M A N D S The standard AT command set is sometimes referred to as Hayes compatible modem commands. A modem that is Hayes compatible can use this standard Hayes command set. Don't buy a modem if it isn't Hayes compatible. Almost all modems sold today support these AT commands. The command letters AT wake up the modem and initialize it. The AT means ATTENTION modem. This list of commands is for reference only; please don't feel you need to memorize them! If you do, your cohorts will presume you're a nerd (and correctly so). COMMAND FUNCTION A/ Repeats the last AT command (this command does not need to be preceded by the letters AT) +++ Switches the modem from online mode to command mode (this command does not need to be preceded by the letters AT) AT Attention modem--(wakes up the modem) The following commands require an AT to precede the command (such as ATA for the first one on the list): A Sets the modem in answer mode DT Dials a touch-tone phone DP Dials a pulse (rotary) phone dial modifiers R Originate call in answer mode (to call originate only modems) S=n Dial the stored numbers where n= 0,1,2,3 W Wait for dial tone prior to dialing--the time period of the pause is determined by an S register setting , Pause 2 seconds before continuing to dial / Pause .125 second before continuing to dial ; Remain in command mode after connection ! Flash hook--hangs up then reconnects in .5 second @ Wait for silence before continuing to dial--the time period of the pause is determined by an S register setting COMMAND FUNCTION E or E0 Turns character echo off E1 Turns character echo on F or F0 Sets modem to half-duplex F1 Sets modem to full-duplex H or H0 Hangs up the phone I or I0 Shows the modem product code I1 ROM check I2 ROM test L1 Sets modem speaker volume to low L2 Sets modem speaker volume to medium L3 Sets modem speaker volume to high M2 Turns modem speaker on for the entire connection (don't do it!) M0 Turns modem speaker off M1 Turns modem speaker off when connection is established O0 Returns online after entering command mode Q0 Turns on result code display Q1 Turns off result code display Sxn Sets the S register x to the value of n; note that both x and n are variable numbers Sx? Displays value of register Sx V0 Sets modem to display numeric result codes V1 Sets modem to display verbose codes (words) Xn Modem response sets (note that n is a variable number) X0=minium responses X1=minium responses--don't wait for dialtone before dialing X2=like X1 but do wait for dialtone before dialing X3=like X1 but adds call progress messages and tone detection X4=call progress messages--tone detection and wait for dialtone Z Resets modem & Advanced commands prefix (not all modems support these) &F Resets modem to factory default S REGISTERS A Hayes compatible modem has special memory locations called S registers. A modem initialization string consists of AT commands which usually include S register settings. The list below gives some of the more important S register functions. FUNCTION S0 Sets the number of rings to answer when in auto answer mode. S0=0 (which is usually the default setting) suppresses auto answer. S0=3 sets the modem to auto answer mode and tells the modem to answer on the third ring. S1 Counts the number of rings from an incoming call and stores it. S2 Stores the ASCII escape code character. S3 Stores the ASCII decimal code for a carriage return. S4 Stores the ASCII decimal code for a line feed. S5 Stores the ASCII decimal code for a backspace. S6 Sets the time in seconds that a modem waits before dialing. S7 Sets the time in seconds, that a modem waits for a carrier. If you desire to make an international call you might want to change this to a longer time period. S8 Sets the time in seconds, for a comma pause. The default for a (,) pause is usually set to 2 seconds. S9 Sets the time in 1/10 seconds for carrier detect response S10 Sets the time in 1/10 seconds for lost carrier hang-up delay. S11 Sets the touch-tone dialing duration and spacing in milliseconds. S12 Sets the time in 1/50 seconds for the Hayes escape code guard time. S13 Bit-mapped register for UART. S14 Bit-mapped option register. S15 Bit-mapped option for flag register. S16 Modem self-test. S28 Sets the time in 1/10 seconds for V.32 answer tones. AT COMMAND SET USAGE AT commands need to be issued in upper or lower case letters. You can't mix upper and lower case letters when issuing an AT command. When loaded, most telecommunications programs start in the command mode. This means you can issue AT commands from the keyboard as soon as you load your telecommunications program. Try loading yours. Then type: atz If your modem is connected to the serial port you designated when you set up your telecommunications software and it is working properly, you should see OK on your screen. OK Next, you can try dialing a BBS number using an AT command. If you have a touch-tone phone (most people do), try issuing a command while in the command mode of your telecommunications program: atdt845-8532 The dashes are optional. Suppose you were at a phone where you had to dial 9 before you got an outside line. Start up your telecommunications software, then from the command mode type: at dt 9 , 845-8532 In this example spaces were used. AT commands ignore spaces and dashes. The first AT command got the modem's attention. The following DT told it to dial using touch- tone dialing. The 9 is to get an outside line. A comma then instructs the modem to pause two seconds before continuing (see the dial modifiers in the basic AT commands). The 845-8532 is the phone number you want to dial. Note that you only need the AT (attention modem) at the beginning of an AT command statement and that AT commands can be strung together. Perhaps you have a burning desire to check the value of your S7 register. This will show the number of seconds that your modem waits for a carrier before hanging up. Start up your telecommunications software, then from the command mode type: at s7? The above command will show you the value of your modem's S7 register. Your telecommunications software manual will probably mention the modem initialization string. This is the string of commands that initializes your modem. The AT command section combined with the S registers section should help you understand your modem's initialization string. See your particular modem manual for more details on AT commands and initialization strings. Different modems require different modem initialization strings. The better telecommunications software programs will have a modem pick-list feature. With such a feature, the software will automatically set your modem for optimum use with pre-defined setup initialization strings. When newer modems come out, telecommunications software manufactures have to keep adding the new modems to their pick-list. If your modem is not on their pick- list, you can often contact the company that makes the telecommunications program for a software update. For example, if you are using Telix, you would contact deltaComm Development, the company that makes Telix. Many of these companies maintain a BBS where customers can download updates. You can also send AT commands to your modem from the DOS command line. Suppose you have your modem connected to COM2 (serial port) and a speaker phone connected to your modem. Go to the DOS prompt. With your modem on, you can dial a number by using the ECHO command. First, press the button to activate your speaker phone. Then, at the DOS prompt type: echo atdt845-8522 >com2 That's dialing from DOS! =========================================================