Hayes command set
Encyclopedia
The Hayes command set is a specific command-language
originally developed for the Hayes
Smartmodem 300 baud
modem in 1981. The command set consists of a series of short text strings which combine together to produce complete commands for operations such as dialing, hanging up, and changing the parameters of the connection. Most dialup modem
s follow the specifications of the Hayes command set.
(BBS), modems typically operated on direct-dial telephone line
s that always began and ended with a particular modem at each end. The modems operated in either "originate" or "answer" modes, and generally the user would dial the phone manually before connecting, or pick it up if it rang. Answering was relatively easy to automate, picking up the phone when it rang. To automate outbound calls, a separate peripheral device, a "dialler", could be plugged into a different input/output
port on the computer (typically an RS-232
port).
This method of operation worked satisfactorily in the 1960s and early 1970s, when modems were generally used to connect dumb devices like computer terminal
s with smart mainframe computer
s. However, the microcomputer revolution
of the 1970s led to the introduction of low-cost modems and the idea of a semi-dedicated point-to-point link was no longer appropriate. There were potentially thousands of users who might want to dial any of the other thousands of users, and the only solution at the time was to make the user dial manually.
The computer industry
needed a way to tell the modem what number to dial through software. The earlier separate dialers had this capability, but only at the cost of a separate port, which a microcomputer might not have available. One solution could have used a separate set of "command pins" dedicated to sending and receiving commands, another could have used a signal pin indicating that the modem should interpret incoming data as a command. But both of these suffered from the problems that these pins might not be available, or connected, in many microcomputers.
To switch from data mode to command mode, sessions sent an escape sequence
string of three plus signs ("+++") followed by a pause of about a second (to go to the command mode without losing the connection); and to switch back they sent the online command, O. In actual use many of the commands automatically switched to the online mode after completion, and it is rare for a user to use the online command explicitly.
This use of In-band signaling
leads to a potential serious problem: what happens if the data sent in data-mode contains three consecutive plus signs? This could happen randomly quite easily, and it would happen any time someone attempted to send data describing the system – this document for instance. In order to reduce the chance of this problem the pause at the end of the escape sequence was required, if any other data was received within one second of the three plus signs, it was not the escape sequence and would be sent as data.
The expansion to 1200 and 2400 baud required the addition of a small set of new commands, some of them prefixed with an ampersand ("&") to denote those dedicated to new functionality. Hayes themselves were forced to quickly introduce a 2400 baud model shortly after their 1200, and the command sets were identical as a time-saving method. Essentially by accident, this allowed users of existing 1200 baud modems to use the new Hayes 2400 models without changing their software. This re-inforced the use of the Hayes versions of these commands. Years later, the TIA
/EIA
raised the 2400-baud command set into a formal standard with the title Data Transmission Systems and Equipment - Serial Asynchronous Automatic Dialing and Control, TIA/EIA-602.
However Hayes Communications moved only slowly to higher speeds or the use of compression, and three other companies led the way here – Microcom
, U.S. Robotics
and Telebit
. Each of these three used its own additional command-sets instead of waiting for Hayes to lead the way. By the early-1990s there were four major command sets in use, and a number of versions based on one of these. Things became simpler again during the widespread introduction of 14.4 and 28.8 kbit/s modems in the early 1990s. Slowly a set of commands based heavily on the original Hayes extended set using "&" commands became popular, and then universal. Only one other command set has remained popular, the US Robotics set from their popular line of modems.
The Hayes command set can subdivide into four groups:
A register represents a specific physical location in memory. Modems have small amounts of memory onboard. The fourth set of commands serves for entering values into a particular register (memory location). The register will store a particular variable (alpha-numeric information) which the modem and the communications software can utilize. For example, S7=60 instructs the computer to "Set register #7 to the value 60".
Although the command-set syntax defines most commands by a letter-number combination (L0, L1 etc.), the use of a zero is optional. In this example, "L0" equates to a plain "L". Keep this in mind when reading the table below.
When in data-mode an escape sequence
can return the modem to command mode. The normal escape sequence is three plus signs ("+++"), and to disambiguate it from possible real data, a guard timer is used: it must be preceded by a pause, not have any pauses between the plus signs, and be followed by a pause; by default a "pause" is one second and "no pause" is anything less.
commands.
software. Terminal-emulator software typically allows the user to send Hayes commands directly to the modem, and to see the responses. In this example, the user of computer A makes the modem dial the phone number of modem B at phone number 555-1234. Note that after every command and response, there is a carriage return
sent to complete the command.
For example, setting up hardware or software handshaking often required many different commands for different modems. This undermined the handy universality of the basic "AT" command-set.
As a result of all this, eventually many communications programs had to give up any sense of being able to talk to all "Hayes-compatible" modems, and instead the programs had to try to determine the modem type from its responses, or provide the user with some option whereby they could enter whatever special commands it took to coerce their particular modem into acting properly.
Note: a command string is terminated with a CR (\r) character
established a standard in its V-Series Recommendations, V.25 ter, in 1995 in an attempt to establish a standard for the command set again. It was renamed V.250 in 1998 with an annex that was not concerning the Hayes command set renamed as V.251. A V.250 compliant modem implements the A, D, E, H, I, L, M, N, O, P, Q, T, V, X, Z, &C, &D, and &F commands in the way specified by the standard. It must also implement S registers and must use registers S0, S3, S4, S5, S6, S7, S8, and S10 for the purposes given in the standard. Lastly it also must implement any command beginning with the plus sign, "+" followed by any letter A to Z, only in accordance with ITU recommendations. Modem manufacturers are free to implement other commands and S-registers as they see fit, and may add options to standard commands.
The ETSI GSM 07.05 (3GPP TS 27.005) specifies AT style commands for managing the SMS
feature of GSM.
Examples of GSM commands:
GSM/3G modems typically support the ETSI GSM 07.07/3GPP TS 27.007 AT command set extensions, although how many commands are implemented varies.
Most USB modem vendors, such as Huawei, Sierra Wireless, Option, have also defined proprietary extensions for radio mode selection (GSM/3G preference) or similar. Some recent high speed modems provide a virtual Ethernet interface instead of using a PPP connection for the data connection because of performance reasons (PPP connection is only used between the computer and the modem, not over network). The set-up requires vendor-specific AT command extensions. Sometimes the specifications for these extensions are openly available, other times the vendor requires an NDA for access to these.
Command language
A command language is a domain-specific interpreted language; a common example of a command language are shell or batch programming languages. These languages can be used directly at the command line, but can also automate tasks that would normally be performed manually at the command line...
originally developed for the Hayes
Hayes Microcomputer Products
Hayes Microcomputer Products was a U.S.-based manufacturer of modems. They are particularly well known for their Smartmodem, which is introduced the ability to control the modem through commands sent in the data stream itself. The "smart modem" approach dramatically simplified operation, making...
Smartmodem 300 baud
Baud
In telecommunications and electronics, baud is synonymous to symbols per second or pulses per second. It is the unit of symbol rate, also known as baud rate or modulation rate; the number of distinct symbol changes made to the transmission medium per second in a digitally modulated signal or a...
modem in 1981. The command set consists of a series of short text strings which combine together to produce complete commands for operations such as dialing, hanging up, and changing the parameters of the connection. Most dialup modem
Modem
A modem is a device that modulates an analog carrier signal to encode digital information, and also demodulates such a carrier signal to decode the transmitted information. The goal is to produce a signal that can be transmitted easily and decoded to reproduce the original digital data...
s follow the specifications of the Hayes command set.
Background
Prior to the introduction of the Bulletin Board SystemBulletin board system
A Bulletin Board System, or BBS, is a computer system running software that allows users to connect and log in to the system using a terminal program. Once logged in, a user can perform functions such as uploading and downloading software and data, reading news and bulletins, and exchanging...
(BBS), modems typically operated on direct-dial telephone line
Telephone line
A telephone line or telephone circuit is a single-user circuit on a telephone communication system...
s that always began and ended with a particular modem at each end. The modems operated in either "originate" or "answer" modes, and generally the user would dial the phone manually before connecting, or pick it up if it rang. Answering was relatively easy to automate, picking up the phone when it rang. To automate outbound calls, a separate peripheral device, a "dialler", could be plugged into a different input/output
Input/output
In computing, input/output, or I/O, refers to the communication between an information processing system , and the outside world, possibly a human, or another information processing system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it...
port on the computer (typically an RS-232
RS-232
In telecommunications, RS-232 is the traditional name for a series of standards for serial binary single-ended data and control signals connecting between a DTE and a DCE . It is commonly used in computer serial ports...
port).
This method of operation worked satisfactorily in the 1960s and early 1970s, when modems were generally used to connect dumb devices like computer terminal
Computer terminal
A computer terminal is an electronic or electromechanical hardware device that is used for entering data into, and displaying data from, a computer or a computing system...
s with smart mainframe computer
Mainframe computer
Mainframes are powerful computers used primarily by corporate and governmental organizations for critical applications, bulk data processing such as census, industry and consumer statistics, enterprise resource planning, and financial transaction processing.The term originally referred to the...
s. However, the microcomputer revolution
Microcomputer revolution
The microcomputer revolution is a phrase used to describe the rapid advances of microprocessor-based computers from esoteric hobby projects to a commonplace fixture of homes in industrial societies...
of the 1970s led to the introduction of low-cost modems and the idea of a semi-dedicated point-to-point link was no longer appropriate. There were potentially thousands of users who might want to dial any of the other thousands of users, and the only solution at the time was to make the user dial manually.
The computer industry
Computer industry
Computer industry is a collective term used to describe the whole range of businesses involved in developing computer software, designing computer hardware and computer networking infrastructures, the manufacture of computer components and the provision of information technology services.-See...
needed a way to tell the modem what number to dial through software. The earlier separate dialers had this capability, but only at the cost of a separate port, which a microcomputer might not have available. One solution could have used a separate set of "command pins" dedicated to sending and receiving commands, another could have used a signal pin indicating that the modem should interpret incoming data as a command. But both of these suffered from the problems that these pins might not be available, or connected, in many microcomputers.
Hayes' solution
Hayes Communications introduced a solution in its 1981 Smartmodem by re-using the existing data pins with no modification. Instead, the modem itself could switch itself between one of two modes:- data modeCommand and Data modes (modem)Command and Data modes refer to the two modes in which a computer modem may operate. These modes are defined in the Hayes command set, which is the de-facto standard for all modems...
in which the modem sends the data to the remoteRemote accessIn telecommunication, the term remote access has the following meanings:#Pertaining to communication with a data processing facility from a remote location or facility through a data link...
modem. (A modem in data mode treats everything it receives from the computer as data and sends it across the phone line). - command modeCommand and Data modes (modem)Command and Data modes refer to the two modes in which a computer modem may operate. These modes are defined in the Hayes command set, which is the de-facto standard for all modems...
in which data is interpreted as commands to the localInternationalization and localizationIn computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...
modem (commands that the local modem should execute).
To switch from data mode to command mode, sessions sent an escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
string of three plus signs ("+++") followed by a pause of about a second (to go to the command mode without losing the connection); and to switch back they sent the online command, O. In actual use many of the commands automatically switched to the online mode after completion, and it is rare for a user to use the online command explicitly.
This use of In-band signaling
In-band signaling
In telecommunications, in-band signaling is the sending of metadata and control information in the same band or channel used for data.-Telephone:...
leads to a potential serious problem: what happens if the data sent in data-mode contains three consecutive plus signs? This could happen randomly quite easily, and it would happen any time someone attempted to send data describing the system – this document for instance. In order to reduce the chance of this problem the pause at the end of the escape sequence was required, if any other data was received within one second of the three plus signs, it was not the escape sequence and would be sent as data.
Commands
The Hayes command set includes commands for various phone-line manipulations, dialing and hanging-up for instance. It also includes various controls to set up the modem, including a set of register commands which allowed the user to directly set the various memory locations in the original Hayes modem. The command set was copied largely verbatim, including the meaning of the registers, by almost all early 300 baud modem manufacturers, of which there were quite a few.The expansion to 1200 and 2400 baud required the addition of a small set of new commands, some of them prefixed with an ampersand ("&") to denote those dedicated to new functionality. Hayes themselves were forced to quickly introduce a 2400 baud model shortly after their 1200, and the command sets were identical as a time-saving method. Essentially by accident, this allowed users of existing 1200 baud modems to use the new Hayes 2400 models without changing their software. This re-inforced the use of the Hayes versions of these commands. Years later, the TIA
Telecommunications Industry Association
The Telecommunications Industry Association is accredited by the American National Standards Institute to develop voluntary, consensus-based industry standards for a wide variety of ICT products, and currently represents nearly 400 companies...
/EIA
Electronic Industries Alliance
The Electronic Industries Alliance was a standards and trade organization composed as an alliance of trade associations for electronics manufacturers in the United States. They developed standards to ensure the equipment of different manufacturers was compatible and interchangeable...
raised the 2400-baud command set into a formal standard with the title Data Transmission Systems and Equipment - Serial Asynchronous Automatic Dialing and Control, TIA/EIA-602.
However Hayes Communications moved only slowly to higher speeds or the use of compression, and three other companies led the way here – Microcom
Microcom
Microcom, Inc. was a major modem vendor during the 1980s, although they were never as popular as the "big three", Hayes, U.S. Robotics and Telebit. Nevertheless they hold an important place in modem history due to their introduction of the MNP error-correction and compression protocols, which were...
, U.S. Robotics
U.S. Robotics
USRobotics Corporation is a company that makes computer modems and related products. It sold high-speed modems in the 1980s, and had a reputation for high quality and compatibility. With the reduced usage of voiceband modems in North America in the early 21st century, USR is now one of the few...
and Telebit
Telebit
Telebit was a US-based modem manufacturer, most notable for their TrailBlazer series of high-speed modems. One of the first modems to routinely exceed 9600 bit/s speeds, the TrailBlazer used a proprietary modulation scheme that proved highly resilient to interference, earning the product an almost...
. Each of these three used its own additional command-sets instead of waiting for Hayes to lead the way. By the early-1990s there were four major command sets in use, and a number of versions based on one of these. Things became simpler again during the widespread introduction of 14.4 and 28.8 kbit/s modems in the early 1990s. Slowly a set of commands based heavily on the original Hayes extended set using "&" commands became popular, and then universal. Only one other command set has remained popular, the US Robotics set from their popular line of modems.
Description
The following text lists part of the Hayes command set (also called the AT commands: "AT" meaning attention).The Hayes command set can subdivide into four groups:
- basic command set - A capital character followed by a digit. For example, M1.
- extended command set - An “&” (ampersand) and a capital character followed by a digit. This extends the basic command set. For example, &M1. Note that M1 is different from &M1.
- proprietary command set - Usually starting either with a backslash (“\”) or with a percent sign (“%”); these commands vary widely among modem-manufacturers.
- register commands - Sr=n where r is the number of the register to be changed, and n is the new value that is assigned.
A register represents a specific physical location in memory. Modems have small amounts of memory onboard. The fourth set of commands serves for entering values into a particular register (memory location). The register will store a particular variable (alpha-numeric information) which the modem and the communications software can utilize. For example, S7=60 instructs the computer to "Set register #7 to the value 60".
Although the command-set syntax defines most commands by a letter-number combination (L0, L1 etc.), the use of a zero is optional. In this example, "L0" equates to a plain "L". Keep this in mind when reading the table below.
When in data-mode an escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...
can return the modem to command mode. The normal escape sequence is three plus signs ("+++"), and to disambiguate it from possible real data, a guard timer is used: it must be preceded by a pause, not have any pauses between the plus signs, and be followed by a pause; by default a "pause" is one second and "no pause" is anything less.
Syntactical definitions
The following syntactical definitions apply:-
Carriage return character, is the command line and result code terminator character, which value, in decimal ASCII between 0 and 255,is specified within parameter S3. The default value is 13. -
Linefeed character, is the character recognised as line feed character. Its value, in decimal ASCII between 0 and 255, is specified within parameter S4. The default value is 10. The line feed character is output after carriage return character if verbose result codes are used (V1 option used ) otherwise, if numeric format result codes are used (V0 option used) it will not appear in the result codes. - <...> Name enclosed in angle brackets is a syntactical element. They do not appear in the command line.
- [...] Optional subparameter of a command or an optional part of TA information response is enclosed in square brackets. Brackets themselves do not appear in the command line. When subparameter is not given in AT commands which have a Read command, new value equals to its previous value. In AT commands which do not store the values of any of their subparameters, and so have not a Read command, which are called action type commands, action should be done on the basis of the recommended default setting of the subparameter.
Modem initialization
A string can contain many Hayes commands placed together, so as to optimally prepare the modem to dial out or answer, e.g.AT&F&D2&C1S0=0X4
. This is called the initialization string. The V.250 specification requires all DCEs to accept a body (after "AT") of at least 40 characters of concatenatedConcatenation
In computer programming, string concatenation is the operation of joining two character strings end-to-end. For example, the strings "snow" and "ball" may be concatenated to give "snowball"...
commands.
Example session
The following represents two computers, computer A and computer B, both with modems attached, and the user controlling the modems with terminal-emulatorTerminal emulator
A terminal emulator, terminal application, term, or tty for short, is a program that emulates a video terminal within some other display architecture....
software. Terminal-emulator software typically allows the user to send Hayes commands directly to the modem, and to see the responses. In this example, the user of computer A makes the modem dial the phone number of modem B at phone number 555-1234. Note that after every command and response, there is a carriage return
Carriage return
Carriage return, often shortened to return, refers to a control character or mechanism used to start a new line of text.Originally, the term "carriage return" referred to a mechanism or lever on a typewriter...
sent to complete the command.
Modem A | Modem B | Comment |
---|---|---|
ATDT15551234 | User at modem A issues a dial command. | |
RING | Modem A begins dialing. Modem B's phone-line rings, and the modem reports the fact. | |
ATA | Computer at modem B issues answer command. | |
CONNECT | CONNECT | The modems connect, and both modems report "connect". (In practice, most modems report more information after the word CONNECT — specifying the speed of the connection.) Also, at this time, both modems will raise the DCD, or Data Carrier Detect signal, on the serial port. |
abcdef | abcdef | When the modems are connected, any characters typed at either side will appear on the other side. The person at computer A starts typing. The characters pass through the modem and appear on computer B's screen. (User A may not see his own typed characters — depending on the terminal software's local echo Echo (computing) In computing, echo is a command in DOS, OS/2, Microsoft Windows, Singularity, Unix and Unix-like operating systems that places a string on the computer terminal... setting). |
+++ | The person at computer B issues the modem escape command. (Alternately, and more commonly, the computer B could drop the DTR, or Data Terminal Ready signal, to achieve a hangup, without needing to use +++ or ATH.) | |
OK | The modem acknowledges it. | |
ATH | The person at computer B issues a hang up command. | |
NO CARRIER | OK | Both modems report that the connection has ended. Modem B responds "OK" as the expected result of the command; modem A says NO CARRIER to report that the remote side interrupted the connection. The modems on both sides drop their DCD signals as well. |
Compatibility
While the original Hayes command set represented a huge leap forward in modem-based communications, with time many problems set in, almost none of them due to Hayes per se:- Due to the lack of a written standard, other modem manufacturers just copied the external visible commands and (roughly) the basic actions. This led to a wide variety of subtle differences in how modems changed from state to state, and how they handled error conditions, hangups, and timeouts.
- Each manufacturer tended to add new commands to handle emerging needs, often incompatible with other modems.
For example, setting up hardware or software handshaking often required many different commands for different modems. This undermined the handy universality of the basic "AT" command-set.
- Many "Hayes-compatible" modems had serious quirks that made them effectively incompatible. For example, many modems required a pause of several seconds after receiving the "AT Z" reset command. Some modems required spaces between commands, while others did not. Some would unhelpfully change baud-rate of their own "volition", which would leave the computer with no clue how to handle the incoming bits.
As a result of all this, eventually many communications programs had to give up any sense of being able to talk to all "Hayes-compatible" modems, and instead the programs had to try to determine the modem type from its responses, or provide the user with some option whereby they could enter whatever special commands it took to coerce their particular modem into acting properly.
The basic Hayes command set
The following commands are understood by virtually all modems supporting an AT command set, whether old or new.Command | Description | Comments |
---|---|---|
A0 or A | Answer incoming call | |
A/ | Repeat last command | Don't preface with AT, don't follow with carriage return. Enter usually aborts. |
D | Dial | Dial the following number and then handshake |
E0 or E | No Echo | Will not echo commands to the computer |
E1 | Echo | Will echo commands to the computer (so one can see what one types) |
H0 | Hook Status | On hook. Hangs up the phone, ending any call in progress. |
H1 | Hook status | Off hook. Picks up the phone line (typically you'll hear a dialtone) |
I0 to I9 | Inquiry, Information, or Interrogation | This command returns information about the model, such as its firmware or brand name. Each number (0 to 9, and sometimes 10 and above) returns one line of modem-specific information, or the word ERROR if the line isn't defined. Today, Windows uses this for Plug-and-play Plug-and-play In computing, plug and play is a term used to describe the characteristic of a computer bus, or device specification, which facilitates the discovery of a hardware component in a system, without the need for physical device configuration, or user intervention in resolving resource conflicts.Plug... detection of specific modem types. |
L0 or Ln (n=1 to 3) | Speaker Loudness. Supported only by some modems, usually external ones. Modems lacking speakers, or with physical volume controls, or ones whose sound output is piped through the sound card will not support this command. | Off or low volume |
M0 or M | Speaker off, completely silent during dialing | M3 is also common, but different on many brands |
M1 | Speaker on until remote carrier detected (i.e. until the other modem is heard) | |
M2 | Speaker always on (data sounds are heard after CONNECT) | |
O | Return Online | Returns the modem back to the normal connected state after being interrupted by the "+++" escape code. |
Q0 or Q | Quiet Mode | Off - Displays result codes, user sees command responses (e.g. OK) |
Q1 | Quiet Mode | On - Result codes are suppressed, user does not see responses. |
Sn | Select current register Note that Sn, ? and =r are actually three separate commands, and can be given in separate AT commands. |
Select register n as the current register |
Sn? | Select register n as the current register, and query its value. Using ? on its own will query whichever register was most recently selected. | |
Sn=r | Select register n as the current register, and store r in it. Using =r on its own will store into whichever register was most recently selected. | |
V0 or V | Verbose | Numeric result codes |
V1 | English result codes (e.g. CONNECT, BUSY, NO CARRIER etc.) | |
X0 or X | Smartmodem | Hayes Smartmodem 300 compatible result codes |
X1 | Usually adds connection speed to basic result codes (e.g. CONNECT 1200) | |
X2 | Usually adds dial tone detection (preventing blind dial, and sometimes preventing ATO) | |
X3 | Usually adds busy signal detection. | |
X4 | Usually adds both busy signal and dial tone detection | |
Z0 or Z | Reset | Reset modem to stored configuration. Use Z0, Z1etc. for multiple profiles. This is the same as &F for factory default on modems without NVRAM (non volatile memory) |
Note: a command string is terminated with a CR (\r) character
Modem S register definitions
Register | Description | Range | Default value |
---|---|---|---|
S0 | Number of rings before Auto-Answer | 0–0 never | 0 |
S1 | Ring Counter | 0–255 rings | 0 |
S2 | Escape character | 0–255, ASCII decimal | 43 |
S3 | Carriage Return Character | 0–127, ASCII decimal | 13 (Carriage Return) |
S4 | Line Feed Character | 0–127, ASCII decimal | 10 (Line Feed) |
S5 | Backspace Character | 0–32, ASCII decimal | 8 (Backspace) |
S6 | Wait Time before Blind Dialing | 2–255 seconds | 2 |
S7 | Wait for Carrier after Dial | 1–255 seconds | 50 |
S8 | Pause Time for Comma (Dial Delay) | 0–255 seconds | 2 |
S9 | Carrier Detect Response Time | 1–255 tenths of a seconds | 6 (0.6 second) |
S10 | Delay between Loss of Carrier and Hang-Up | 1–255 tenths of a second | 14 (1.4 seconds) |
S11 | DTMF Tone Duration | 50–255 milliseconds | 95 milliseconds |
S12 | Escape Code Guard Time | 0–255 fiftieths of a second | 50 (1 second) |
S18 | Test Timer | 0–255 seconds | 0 seconds |
S25 | Delay to DTR | 0–255 (seconds if sychronous mode, hundredths of a second in all other modes) | 5 |
S26 | RTS to CTS Delay Interval | 0–255 hundredths of a second | 1 hundredth of a second |
S30 | Inactivity Disconnect Timer | 0–255 tens of seconds | 0 (disable) |
S37 | Desired Telco Line Speed | 0–10 Command options:
|
0 |
S38 | Delay before Force Disconnect | 0–255 seconds | 20 seconds |
V.250
The ITU-TITU-T
The ITU Telecommunication Standardization Sector is one of the three sectors of the International Telecommunication Union ; it coordinates standards for telecommunications....
established a standard in its V-Series Recommendations, V.25 ter, in 1995 in an attempt to establish a standard for the command set again. It was renamed V.250 in 1998 with an annex that was not concerning the Hayes command set renamed as V.251. A V.250 compliant modem implements the A, D, E, H, I, L, M, N, O, P, Q, T, V, X, Z, &C, &D, and &F commands in the way specified by the standard. It must also implement S registers and must use registers S0, S3, S4, S5, S6, S7, S8, and S10 for the purposes given in the standard. Lastly it also must implement any command beginning with the plus sign, "+" followed by any letter A to Z, only in accordance with ITU recommendations. Modem manufacturers are free to implement other commands and S-registers as they see fit, and may add options to standard commands.
Leading characters |
Includes commands related to |
---|---|
+A | Call control (network Addressing) issues, common, PSTN, ISDN, ITU-T Rec. X.25, switched digital |
+C | Digital Cellular extensions |
+D | Data Compression, ITU-T Rec. V.42 bis |
+E | Error Control, ITU-T Rec. V.42 |
+F | Facsimile, ITU-T Rec. T.30, etc. |
+G | Generic issues such as identity and capabilities |
+I | DTE-DCE Interface issues, ITU-T Rec. V.24, etc. |
+M | Modulation, ITU-T Rec. V.32 bis, etc. |
+P | PCM DCE commands, ITU-T Rec. V.92 |
+S | Switched or Simultaneous Data Types |
+T | Test issues |
+V | Voice extensions |
+W | Wireless extensions |
GSM
The ETSI GSM 07.07 (3GPP TS 27.007) specifies AT style commands for controlling a GSM phone or modem.The ETSI GSM 07.05 (3GPP TS 27.005) specifies AT style commands for managing the SMS
Short message service
Short Message Service is a text messaging service component of phone, web, or mobile communication systems, using standardized communications protocols that allow the exchange of short text messages between fixed line or mobile phone devices...
feature of GSM.
Examples of GSM commands:
Command | Description |
---|---|
AT+CPIN=1234 | Enter PIN code Personal identification number A personal identification number is a secret numeric password shared between a user and a system that can be used to authenticate the user to the system. Typically, the user is required to provide a non-confidential user identifier or token and a confidential PIN to gain access to the system... |
AT+CPWD="SC","old","new" | Change PIN code from 'old' to 'new' |
AT+CLCK="SC",0,"1234" | Remove PIN code |
AT&V | Status |
ATI | Status (Manufacturer, Model, Revision, IMEI International Mobile Equipment Identity The International Mobile Equipment Identity or IMEI is a number, usually unique, to identify GSM, WCDMA, and iDEN mobile phones, as well as some satellite phones. It is usually found printed inside the battery compartment of the phone... , capabilities) |
AT+COPS=? | List available networks 0-Unknown/2-Current/3-Forbidden, Longname, Shortname, Numerical-ID, "AcT" |
AT+CSQ | Get signal strength. Answer: +CSQ: <rssi Received signal strength indication In telecommunications, received signal strength indicator is a measurement of the power present in a received radio signal.RSSI is a generic radio receiver technology metric, which is usually invisible to the user of the device containing the receiver, but is directly known to users of wireless... (more=better)>, <ber Bit error ratio In digital transmission, the number of bit errors is the number of received bits of a data stream over a communication channel that have been altered due to noise, interference, distortion or bit synchronization errors.... , less=better> |
ATD*99# | Dial access point |
AT+CGDCONT=1,"IP","access.point.name" | Defines PDP context. |
GSM/3G modems typically support the ETSI GSM 07.07/3GPP TS 27.007 AT command set extensions, although how many commands are implemented varies.
Most USB modem vendors, such as Huawei, Sierra Wireless, Option, have also defined proprietary extensions for radio mode selection (GSM/3G preference) or similar. Some recent high speed modems provide a virtual Ethernet interface instead of using a PPP connection for the data connection because of performance reasons (PPP connection is only used between the computer and the modem, not over network). The set-up requires vendor-specific AT command extensions. Sometimes the specifications for these extensions are openly available, other times the vendor requires an NDA for access to these.
Voice command set
Modems with voice or answering-machine capabilities support a superset of these commands to enable digital audio playback and recording.See also
- Access Point NameAccess Point NameAccess Point Name is a computer protocol that typically allows a user's computer to access the Internet using the mobile phone network.On a technical level it is a configurable network identifier used by a mobile device when connecting to a GSM carrier...
(APN) - Command and Data modes (modem)Command and Data modes (modem)Command and Data modes refer to the two modes in which a computer modem may operate. These modes are defined in the Hayes command set, which is the de-facto standard for all modems...
- Electronic Industries AllianceElectronic Industries AllianceThe Electronic Industries Alliance was a standards and trade organization composed as an alliance of trade associations for electronics manufacturers in the United States. They developed standards to ensure the equipment of different manufacturers was compatible and interchangeable...
(EIA) - Motorola Phone AT CommandsMotorola Phone AT CommandsAT commands are used to control modems to do their specified functions. Cellular phones are not much different from the old dial-up modems that are still found in many computers. This article focuses on the Motorola RAZR V3m from Verizon and the AT commands that this phone supports and their...
- GPRS Core NetworkGPRS Core NetworkThe GPRS core network is the central part of the General Packet Radio Service which allows 2G, 3G and WCDMA mobile networks to transmit IP packets to external networks such as the Internet...
- Point-to-Point ProtocolPoint-to-Point ProtocolIn networking, the Point-to-Point Protocol is a data link protocol commonly used in establishing a direct connection between two networking nodes...
(PPP) - Short message serviceShort message serviceShort Message Service is a text messaging service component of phone, web, or mobile communication systems, using standardized communications protocols that allow the exchange of short text messages between fixed line or mobile phone devices...
- ITU-TITU-TThe ITU Telecommunication Standardization Sector is one of the three sectors of the International Telecommunication Union ; it coordinates standards for telecommunications....
Recommendations:- H.324H.324H.324 is an ITU-T recommendation for voice, video and data transmission over regular analog phone lines. It uses a regular 33,600 bit/s modem for transmission, the H.263 codec for video encoding and G.723.1 for audio....
(video) - T.31 (faxFaxFax , sometimes called telecopying, is the telephonic transmission of scanned printed material , normally to a telephone number connected to a printer or other output device...
)
- H.324
- ITU-T V-Series Recommendations
External links
- Hayes AT Command Reference Manual.
- A list of Hayes AT commands.
- http://www.3gpp.org/ftp/Specs/archive/27_series/27.007/27007-3d0.zip 3GPP3GPPThe 3rd Generation Partnership Project is a collaboration between groups of telecommunications associations, known as the Organizational Partners...
AT command set for User EquipmentUE (wireless telephone)In the Universal Mobile Telecommunications System and 3GPP Long Term Evolution , user equipment is any device used directly by an end-user to communicate. It can be a hand-held telephone, a laptop computer equipped with a mobile broadband adapter, or any other device...
. - Modem initialisation string.
- Extended Hayes AT command parameters for SMS.
- Determining your Class of Fax / Modem .
- Openmoko: AT Commands.
- Cell modem commands.
- ITU Standard V.250