The standard ASCII character set is used for AT commands. Only the least significant 7 bits of each character are used for commands or parameters; Modem strips the 8th bit. AT command can be issued in either upper or lower case characters. A valid AT command consists of a prefix, a body and a terminator. The prefix consists of two characters A and T in either upper or lower case. (Note that both characters have to be in the same case). The body of AT command is a combination of non-control ASCII characters (codes 0x20 - 0x7E). The default terminator is the <CR> character. All characters that precede AT prefix are discarded. The length of AT command line should not exceed 128 characters.
It is possible to edit the command line by sending a backspace character.
When Modem receives a backspace character it deletes the last character of the AT command line, and if echo is enabled, it sends a combination of backspace, space and another backspace to visually erase the character on the line. Backspace cannot be used to edit the AT prefix.
The AT command line can be aborted by sending a <CAN> character (ASCII 0x18). The AT command line interpretation starts after receipt of the terminator character. If a syntax error is encountered while processing AT command line, the ERROR result code is returned and the rest of the line is discarded.
Basic AT commands consist of a single ASCII character or a combination of two ASCII characters followed by a numeric parameter. The parameter may be omitted, and in such a case a zero parameter is assumed. Any number of basic AT commands may follow a single AT prefix, with exception of Z, D, or A basic commands. Any further commands in this case will be discarded.
S-register AT commands control the set of S registers. These commands allow to display and change the values of S registers. Any number of S-register AT commands may follow a single AT prefix.
Extended AT commands are preceded by the '+' or '#' prefixes, and terminated by a semicolon or by the regular string terminator (<CR> is the default).
When Modem is in on-line data mode, it is possible to send an escape sequence to force it into on-line command mode, in order to send more AT commands. This is achieved by sending a three character escape sequence ("+++"), followed by a valid AT command.
The A/ command command instructs the modem to re-execute the last AT command. It will repeat the command already in the command buffer. This command does not require AT prefix and does not have to be followed by the terminator character. This command is mostly used to redial the last number in case of a busy signal.
The A> command will continuously repeat the previous AT command until it returns success. This feature is typically used to redial a number automatically until a connection is established. Up to 10 redial attempts will be performed. The modem will only attempt to redial for the following responses:
This command writes the value x to the currently selected S-Register. An S-Register can be selected by using the ATSn command.
This command reads and displays the selected S-Register. An S-Register can be selected by using the ATSn command.
This command instructs Modem to go off-hook and answer an incoming call. After a successful connection the modem will go on-line in the answer mode. The execution of this command is affected by +FCLASS command settings. This command must be the last on the command line. All characters before the end of the line are discarded. Any character sent to Modem after A command but before CONNECT result code will abort the connection.
This command selects the modulation type used by Modem for 300 and 1200 bps connections.
Command | Description |
---|---|
B0 | Select CCITT compatibility mode. |
B1 | Select Bell 103/212 compatibility mode. (Default.) |
This command instructs Modem to go off-hook and dial the number specified by the dial string supplied as a command parameter. The execution of this command is affected by +FCLASS command settings.
Any character sent to Modem after the command but before CONNECT result code will abort the connection.
Modifier | Description |
---|---|
0123456789 | Phone number digits |
ABCD*# | Special DTMF digits (tone dialing only) |
P | Use pulse dialing |
T | Use tone dialing
Both 'P' & 'T' modifiers can be anywhere inside the dialing string. The dialing after such modifier will be made using the method specified. |
L | Dial the last number. This modifier is valid only if it is the first symbol of the dial string. All consecutive characters are discarded. |
S=n | If nonvolatile memory is supported, dial the number stored in the directory (n = 0 to 3). |
! | Hook flash. Modem will go on hook for for a time defined by S29. Available only during tone dialing. |
^ | Disable calling tone transmission. |
W | Wait for dial tone. Modem will wait for dial tone before dialing the following digits. If dial tone is not detected within the time specified by S6 register Modem will go on-hook and return NO DIALTONE result code. |
@ | Wait for silence. Modem will wait for 5 seconds of silence before dialing the following digits. |
& or $ | Wait for calling card prompt. If the calling card prompt signal is not detected within the time specified by S6 register Modem will go off-hook and return NO DIALTONE result code. The prompt signal is also known as the "Bong" tone. |
, or < | Dial pause. Modem will wait a time specified by S8 before continue dialing. |
; | Return to command state. This modifier must be the last on the dial string. This modifier instructs Modem to return to command mode after finishing dialing. |
(, ), - and space | These characters are ignored and may be used for dial string formatting. |
This command controls the echoing of the characters in the command mode.
Command | Description |
---|---|
E0 | Disables command echo |
E1 | Enables command echo. (Default.) |
This command selects the modulation to be used during data connection. This command is enabled for compatibility only, and using N command and S37 register is the recommended way of selecting the desired modulation.
Command | Description |
---|---|
F0 | Selects automoding. |
F1 | Selects V.21 or Bell103 300 bps mode. |
F2 | Returns ERROR. |
F3 | Selects V.23 75/1200 bps mode. |
F4 | Selects V.22 or Bell212 1200 bps mode. |
F5 | Selects V.22 bis 2400 bps mode. |
F6 | Selects V.32 bis 4800 bps mode. |
F7 | Selects V.32 bis 7200 bps mode. |
F8 | Selects V.32 bis 9600 bps mode. |
F9 | Selects V.32 bis 12000 bps mode. |
F10 | Selects V.32 bis 14400 bps mode. |
This command controls the modem's hook switch.
Command | Description |
---|---|
H0 | If in on-line mode this command will instruct Modem to initiate disconnect procedure, and then go on-hook. If already off-line this command will simply force Modem to go on-hook. |
H1 | If on-hook, Modem will go off-hook. |
This command reports information about the modem and current status.
Command | Description |
---|---|
I0 | Reports product code |
I1 | Returns OK |
I2 | Returns OK |
I3 | Reports Modem version |
I4 | Returns Modem Build date |
I5 | Returns country code |
I6 | Reports linklayer statistics:
|
I7 | Returns the board hardware version |
I8 | Returns codec version |
I9 | Returns country name |
I10 | Returns OK |
I11 | Returns last call statistics:
|
This command instructs Modem to use specified speaker volume setting when speaker is on.
Command | Description |
---|---|
L0 | Low volume |
L1 | Low volume. |
L2 | Medium volume. (Default.) |
L3 | High volume. |
This command controls the speaker of the modem.
Command | Description |
---|---|
M0 | Speaker is always off |
M1 | Speaker is on until CONNECT. (Default) |
M2 | Speaker is always on |
M3 | Same as M1 except speaker is off during dialing for originating modem |
This command controls automoding. The behavior of this command depends on the value of S37.
Command | Description |
---|---|
N0 | Automoding is disabled. If S37 = 0 then the connection will be attempted at the highest enabled modulation only. If S37 != 0 then the data connection will be attempted at the data rate specified by the S37 register only. The call will fail if a connection cannot be established at the specified rate. |
N1 | Automoding is enabled. The highest speed is controlled by the S37 register. The call will be established at the rate specified by the S37 register or at any lower rate. (Default) |
This command is only valid in on-line command mode. If the modem is off-line it will return ERROR result code.
Command | Description |
---|---|
O0 | This command instructs Modem to go to on-line data mode. |
O1 | This command instructs Modem to go to on-line data mode and initiate a retrain. |
O2 | This command instructs Modem to go to on-line data mode and initiate a rate renegotiation. |
This command instructs Modem to use pulse dialing as the default dialing method.
The default dialing method can be overridden using dial modifiers (see D command).
The command controls the displaying of the result codes.
Command | Description |
---|---|
Q0 | Enables result codes. (Default) |
Q1 | Disables result codes. |
This command is used to query or set S registers.
Command | Description |
---|---|
n | Sets the default S register. |
n=v | Sets S-Register n to the value v. If v starts with "0x", Modem interprets the value as hexidecimal. |
n? | Reports the value of S-Register n. |
n.k=v | sets bit k of S-Register n to the value v, where v can be 0,1 and 0 <= k <= 7, where 0 corresponds to least significant bit. n.k? Reports the value of bit k of S-Register n. |
This command instructs Modem to use tone dialing as the default dialing method. The default dialing method can be overridden by dial modifiers (see D command).
This command controls the format of the result codes returned by Modem.
Command | Description |
---|---|
V0 | Sets short-form (terse) result codes |
V1 | Sets long-form (verbose) result codes. (Default) |
This command controls the format of CONNECT messages.
Command | Description |
---|---|
W0 | Modem reports DTE speed only. |
W1 | Modem reports the line speed, the error correction protocol, and the DTE speed, respectively. |
W2 | Modem reports DCE speed only. (Default) |
This command selects which result codes will be used by Modem.
Command | Description |
---|---|
X0 | Busy detection is disabled; blind dialing (no dial tone detection)
is enabled. The following result codes are supported:
|
X1 | Busy detection is disabled; blind dialing (no dial tone detection)
is enabled. The following result codes are supported:
|
X2 | Busy detection is disabled; blind dialing is disabled. The dialing
cannot be conducted unless dialtone is detected. If dialtone is not
detected within the time specified by register S6, the NO DIALTONE
result code will be reported. The following result codes are supported:
|
X3 | Busy detection is enabled; blind dialing is enabled. The following result
codes are supported:
|
X4 | Busy detection is enabled; blind dialing is disabled. The dialing
cannot be conducted unless dialtone is detected. If dialtone is not
detected within the time specified by register S6, the NO DIALTONE
result code will be reported. The following result codes are supported:
|
X5 | Busy detection is enabled; blind dialing is disabled. The dialing
cannot be conducted unless dialtone is detected. If dialtone is not
detected within the time specified by register S6, the NO DIALTONE
result code will be reported. The following result codes are supported:
|
This command will force Modem to perform a soft reset. It will restore the profile according to the parameter of the command.
Command | Description |
---|---|
Z0 | Reset and restore stored profile 0. |
Z1 | Reset and restore stored profile 1. |
This command informs Modem how to control DCD signal .
Command | Description |
---|---|
&C0 | DCD remains ON at all times. |
&C1 | DCD follows the state of the carrier. (Default.) |
This command informs Modem how to treat DTR signal .
Command | Description |
---|---|
&D0 | Modem ignores DTR signal |
&D1 | In on-line data mode DTR transition from ON to OFF forces Modem to go into on-line command mode (same as escape sequence). |
&D2 | Modem hangs up on DTR transition from ON to OFF. |
&D3 | Modem performs soft reset on DTR transition from ON to OFF. |
This command instructs Modem to restore the default ("factory") configuration.
Command | Description |
---|---|
&F0 | Restore default configuration. |
&F1 | Restore default configuration. |
Note: Modem has only one default configuration.
This command instructs Modem which flow control method to use.
Command | Description |
---|---|
&K0 | Disables flow control. |
&K3 | Enables RTS/CTS flow control. (Default) |
&K4 | Enables XON/XOFF flow control. |
&K6 | Enables both RTS/CTS and XON/XOFF flow control. |
Command | Description |
---|---|
&Q0 | Selects asynchronous normal buffered mode. Forces &Q6. |
&Q1 | Selects synchronous connect mode with async command mode . |
&Q2 | Returns ERROR. |
&Q3 | Returns ERROR. |
&Q4 | Returns ERROR. |
&Q5 | Modem will try to establish error-corrected link. For performance reasons, an error-corrected link is not supported for V.23 or any of the 300 bps modulations |
&Q6 | Selects asynchronous normal buffered mode. |
Command | Description |
---|---|
&S0 | DSR will be always ON. (Default) |
&S1 | DSR will go ON after modem signal has been detected and will go OFF after disconnect. |
This command displays the current and stored profiles of Modem.
This command stores the current configuration to one of two stored configurations defined by the command parameter.
Command | Description |
---|---|
&W0 | Store the current configuration as profile 0. |
&W1 | Store the current configuration as profile 1. |
This command is only available for configurations supporting nonvolatile memory. It selects which one of two profiles to load after a reset.
Command | Description |
---|---|
&Y0 | Load profile 0. |
&Y1 | Load profile 1. |
This command is only available for configurations supporting nonvolatile memory. This command instructs Modem to store a telephone number in the directory. The number may contain up to 34 digits and up to 4 numbers can be stored.
This command controls the preferred error correcting mode to be negotiated in a subsequent data connection.
Command | Description |
---|---|
\N0 | Selects normal speed buffered mode (disables error-correction mode). With Modem, there is no difference between speed buffered mode and direct mode, since the DTE is virtual. |
\N1 | Selects synchronous connect mode with async command mode |
\N2 | Selects reliable (error-correction) mode. Modem will first try to negotiate V.42 (LAPM) connection and if fails, MNP connection. Failure to negotiate any of the above protocols results in Modem hanging up. |
\N3 | Selects auto-reliable mode. This is the same as \N2 except failure to make a reliable connection results in Modem falling back to normal mode. |
\N4 | Selects V.42 (LAPM) error-correction mode. Failure to make a LAPM error-corrected connection results in hanging up. |
\N5 | Selects MNP error-correction mode. Failure to make an MNP error-correction connection results in hanging up. |
Enables or disables data compression negotiation. The modem can only perform data compression on an error-corrected link. The parameter value, if valid, is written to S41 bits 0 and 1.
Command | Description |
---|---|
%C0 | Disables data compression. |
%C1 | Enables MNP 5 data compression. |
%C2 | Enables V.42 bis data compression. |
%C3 | Enables both V.42 bis and MNP 5 data compression. (Default.) |
Note that HardModems typically support MNP5 with C1 and MNP5 or V.42bis with C3.
Command | Description |
---|---|
+PCW=0 | Enable call waiting detector. On CW detection toggle V.24 circuit 125. |
+PCW=1 | Enable call waiting detector. On CW detection hang up and CALL WAITING DETECTED result code will be generated.. |
+PCW=2 | Disable call waiting detector(Default). |
This command enables or disables caller ID.
Command | Description |
---|---|
#CID=0 | Disables Caller ID. (default) |
#CID=1 | Enables Caller ID with formatted presentation. The modem will present the data items in a <Tag><Value> pair format. The expected pairs are: data, time, caller code (telephone number), and name. |
#CID=2 | Enables Caller ID with unformatted presentation to the DTE. The modem will present the entire packet of information, excluding the leading U's, in ASCII printable hex numbers. |
Inquiries:
Command | Description |
---|---|
#CID? | Retrieves the current Caller ID mode from the modem. |
#CID=? | Returns the mode capabilities of the modem in a list with each element separated by commas. |
The +PMH command enables or disables Modem on Hold (MOH) for V.92 connections.
Command format: +PMH=<disable>
Parameters:
The <disable> parameter can have any of the following values:
Value | Description |
---|---|
0 | Enables Modem on Hold |
1 | Disables Modem on Hold |
This command enables or disables the PCM upstream feature for V.92 connections.
Command format: +PIG=<disable>
The <disable> parameter can have any of the following values;
Value | Description |
---|---|
0 | Disables PCM upstream |
1 | Enables PCM upstream |
The Modem AT command handler responds to commands from the caller and to activity on the line via result codes. The possible result codes that Modem can send are listed below.
Two forms of each result code are available: long-form, "verbose" response when V1 is selected, and short-form, a data-like numeric response (included in parentheses following the long-form) when V0 is selected. The long-form code is preceded and terminated by the sequence <CR> <LF>. The short-form is terminated by <CR> only with no preceding sequence. If result messages are suppressed, nothing is returned to the caller.
Connect Message | Numeric Response | Description | |
---|---|---|---|
OK | 0 | The OK code is returned by the modem to acknowledge execution of a command line. | |
CONNECT | 1 | Sent upon connecting, when the range of result code responses is restricted by the X command such that no speed reporting is allowed. | |
RING | 2 | Sent when incoming ring is detected. | |
NO CARRIER | 3 | Sent when a connect attempt fails or is aborted, or when the modem auto-disconnects due to loss of carrier. | |
ERROR | 4 | Sent if the command line contains a syntax error, or if a command cannot be executed | |
NO DIALTONE | 6 | Sent if the modem is waiting for a dial tone but none is received. | |
BUSY | 7 | Sent when attempting to originate a call, if the busy signal is detected. | |
REORDER | 87 | Sent when attempting to originate a call, if the reorder signal is detected. | |
DELAYED | 32 | Sent when a call fails to connect and the number dialed is considered 'delayed' due to country blacklisting requirements. | |
BLACKLISTED | 24 | Sent when a call fails to connect and the number dialed is considered 'blacklisted'. | |
CALL WAITING DETECTED | 89 | Sent when the modem disconnects due to a call waiting tone. | |
NO LINE CURRENT | 90 | Sent when the modem is unable to dial, when the phone line is not connected or is of incompatible type. | |
FAX | 33 | Sent when a fax modem connection is established in a facsimile mode. | |
DATA | 35 | The modem returns this result code when a data modem connection is established in a facsimile mode. | |
CONNECT 600 | 9 | ||
CONNECT 1200 | 5 | ||
CONNECT 2400 | 10 | ||
CONNECT 4800 | 11 | ||
CONNECT 9600 | 12 | ||
CONNECT 7200 | 13 | ||
CONNECT 12000 | 14 | ||
CONNECT 14400 | 15 | ||
CONNECT 19200 | 16 | ||
CONNECT 38400 | 17 | ||
CONNECT 57600 | 18 | ||
CONNECT 115200 | 19 | ||
CONNECT 230400 | 153 | ||
CONNECT 460800 | 154 | ||
CONNECT 921600 | 155 | ||
CONNECT 16800 | 59 | ||
CONNECT 21600 | 61 | ||
CONNECT 24000 | 62 | ||
CONNECT 26400 | 63 | ||
CONNECT 28800 | 64 | ||
CONNECT 31200 | 68 | ||
CONNECT 33600 | 70 | ||
CONNECT 25333 | 98 | ||
CONNECT 26666 | 99 | ||
CONNECT 28000 | 100 | ||
CONNECT 29333 | 101 | ||
CONNECT 30666 | 102 | ||
CONNECT 32000 | 103 | ||
CONNECT 33333 | 104 | ||
CONNECT 34666 | 105 | ||
CONNECT 36000 | 106 | ||
CONNECT 37333 | 107 | ||
CONNECT 38666 | 108 | ||
CONNECT 40000 | 109 | ||
CONNECT 41333 | 110 | ||
CONNECT 42666 | 111 | ||
CONNECT 44000 | 112 | ||
CONNECT 45333 | 113 | ||
CONNECT 46666 | 114 | ||
CONNECT 48000 | 115 | ||
CONNECT 49333 | 116 | ||
CONNECT 50666 | 117 | ||
CONNECT 52000 | 118 | ||
CONNECT 53333 | 119 | ||
CONNECT 54666 | 120 | ||
CONNECT 56000 | 121 | ||
CONNECT 57333 | 122 | ||
CARRIER 300 | 40 | ||
CARRIER 1200 | 44 | ||
CARRIER 75 | 45 | ||
CARRIER 1200 | 46 | ||
CARRIER 2400 | 47 | ||
CARRIER 4800 | 48 | ||
CARRIER 7200 | 49 | ||
CARRIER 9600 | 50 | ||
CARRIER 12000 | 51 | ||
CARRIER 14400 | 52 | ||
CARRIER 16800 | 53 | ||
CARRIER 19200 | 54 | ||
CARRIER 21600 | 55 | ||
CARRIER 24000 | 56 | ||
CARRIER 26400 | 57 | ||
CARRIER 28800 | 58 | ||
CARRIER 31200 | 60 | ||
CARRIER 33600 | 65 | ||
CARRIER 25333 | 128 | ||
CARRIER 26666 | 129 | ||
CARRIER 28000 | 130 | ||
CARRIER 29333 | 131 | ||
CARRIER 30666 | 132 | ||
CARRIER 32000 | 133 | ||
CARRIER 33333 | 134 | ||
CARRIER 34666 | 135 | ||
CARRIER 36000 | 136 | ||
CARRIER 37333 | 137 | ||
CARRIER 38666 | 138 | ||
CARRIER 40000 | 139 | ||
CARRIER 41333 | 140 | ||
CARRIER 42666 | 141 | ||
CARRIER 44000 | 142 | ||
CARRIER 45333 | 143 | ||
CARRIER 46666 | 144 | ||
CARRIER 48000 | 145 | ||
CARRIER 49333 | 146 | ||
CARRIER 50666 | 147 | ||
CARRIER 52000 | 148 | ||
CARRIER 53333 | 149 | ||
CARRIER 54666 | 150 | ||
CARRIER 56000 | 151 | ||
CARRIER 57333 | 152 | ||
COMPRESSION: CLASS 5 | 66 | Sent when the modem connects using MNP Class 5 compression. | |
COMPRESSION: V.42 bis | 67 | Sent when the modem connects using V.42 bis compression. | |
COMPRESSION: NONE | 69 | Sent when the modem connects with no compression. | |
COMPRESSION: V.44 | 71 | Sent when the modem connects using V.44 compression. | |
PROTOCOL: NONE | 76 | Sent when the modem connects with no error correction. | |
PROTOCOL: LAPM | 77 | Sent when the modem connects using V.42 error correction. | |
PROTOCOL: ALT | 80 | Sent when the modem connects using MNP error correction. |