Specifications

Chapter 12 – Short Message Service (SMS) Commands
Multi-Tech Systems, Inc. AT Commands for EDGE (E1) Modems (S000474A) 220
12.7 AT+CMGS Send SMS Message
Description: The write command transmits a short message from TE to network (SMS-SUBMIT). After
invoking the write command, wait for the prompt “>”, and then start to write the message. To
send the message simply enter <CTRL-Z>. After the prompt, a timer will be started to observe
the input.
To abort sending use <ESC>. Abortion is acknowledged with “OK”, though the message will not
be sent.
The message reference <mr> is returned to the TE on successful message delivery. The value
can be used to identify the message in a delivery status report provided as an unsolicited result
code.
Syntax: Test Command: AT+CMGS=?
Response: OK
Write Command: If text mode (see AT+CMGF=1)
AT+CMGS=<da>[, <toda>]<CR> Text can be entered. <CTRL-Z>/<ESC>
Response: +CMGS: <mr>[, <scts>]
OK
If sending fails see notes below.
Write Command: If PDU mode (see AT+CMGF=0)
AT+CMGS=<length><CR> PDU can be entered. <CTRL-Z>/<ESC>
Response: +CMGS: <mr>[, <ackpdu>]
OK
If sending fails see notes below.
Notes:
If sending fails, for example, if a message is too long, the result code depends on the current setting of the
AT^SM20 command:
If the AT^SM20 <CmgwMode> equals 1 (factory default) any failure to send a message is responded with
"OK".
Users should be aware, that despite the "OK" response, the message will not be sent to the subscriber.
If the AT^SM20 <CmgwMode> equals 0 any failure to send a message is responded with "ERROR".
If sending fails due to timeout, then
AT^SM20 <CmgwMode>=1 causes "+CMS ERROR: unknown error" to be returned;
AT^SM20 <CmgwMode>=0 causes "+CMS ERROR: timer expired" to be returned.
Note that some providers do not recognize an @ symbol used in a short message. A widely used alternative is
typing “*” as defined in GSM 03.40 (GPP TS 23.40).
All characters entered behind the prompt “>” will be recognized as GSM characters. For example, “Backspace”
(ASCII character 8) does not delete a character, but will be inserted into the short message as an additional
physical character. As a result, the character you wanted to delete still appears in the text, plus the GSM code
equivalent of the Backspace key.
Message Length in Text Mode
The maximum length of a short message depends on the used coding scheme: It is 160 characters if the 7 bit
GSM coding scheme is used, and 140 characters according to the 8 bit GSM coding scheme. In case UCS2
character set selected it is highly recommended to set Data Coding Scheme (<dcs> of AT+CSMP) to 16-bit data,
otherwise the length of SMS user data is restricted to 88 octets. Even better for messages with UCS2 character
set is the PDU Mode.
At baud rates lower than 19200 it is recommended to use the line termination character only (refer to <n> of
ATS3, default <CR>) before entering text or PDU. Use of the line termination character followed by the response
formatting character (see <n> of ATS4, default <LF>) can cause problems.
During a pending USSD user interaction the AT+CMGS write command returns "+CME ERROR: operation
temporary not allowed" to prevent blocking situations.
This command is PIN protected.
This command is not supported in airplane mode.