Using AT commands to send and read SMS
This article discusses how to use AT commands to send and receive SMS. It can be used to create a PC application that send SMS from the phone. This kind of application is useful, for example, in automating test cases related to SMS.
Note that not all phones support all SMS AT commands. For example, some phones may support send command only and not support read command. See also links at the end of this article to find more about AT commands, including complete list of SMS AT commands on Nokia's GSM and WCDMA products.
There are basically two modes to work with SMS, i.e.:
- PDU (Protocol Data Unit)
- Text mode.
A mobile phone internally uses PDU format. Developers normally uses text mode because it is easier to use. AT+CMGF is the command to set the mode.
sets the format to PDU mode.
sets the format to text mode.
queries the current format.
Although you can send SMS in PDU or text mode, it is easier to use text mode to type the message.
The following commands change the message format to text mode and send a text message.
> Hello World�<Ctrl>+<Z>
Note that <Ctrl>+<Z> has to be entered at the end of message to send the message.
Use the following command to read the list of all messages on the phone:
+CMGL: 123,"REC READ","+123456789"
Use the following command to read a message with has index of 123:
+CMGR: "REC READ","+17789975545","08/09/05,17:46:49-12"