23.5. Syntax of the
+CMGW AT Command in SMS PDU Mode
In
SMS PDU mode, the syntax of the +CMGW AT command is: (Optional
parameters are enclosed in square brackets.)
+CMGW=TPDU_length[,message_status]<CR>SMSC_number_and_TPDU<Ctrl+z>
Before
we discuss each of the parameters, let's see an example that gives
you some idea of how an actual command line should look like:
AT+CMGW=42,2<CR>07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E<Ctrl+z>
The
TPDU_length Parameter
The
first parameter of the +CMGW AT command, TPDU_length,
specifies the length (in octets. 1 octet = 8 bits) of the TPDU
(Transfer Protocol Data Unit) assigned to the SMSC_number_and_TPDU
parameter. In the earlier example command line, the value assigned to
the SMSC_number_and_TPDU
parameter is:
07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E
It
can be divided into two parts. The following part is the TPDU:
01000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E
The
TPDU is coded in hexadecimal format. Each character represents 4
bits, i.e. 1/2 octet. The TPDU has 84 characters and so there are
totally 42 octets. That's why the value assigned to the TPDU_length
parameter is 42.
The
message_status Parameter
The
second parameter of the +CMGW AT command, message_status,
specifies the status of the SMS message to be written. The SMS
specification has defined four status values:
0.
It refers to the message status "received unread".
1.
It refers to the message status "received read".
2.
It refers to the message status "stored unsent".
This is the default value.
3.
It refers to the message status "stored sent".
As
message_status is an
optional parameter, it can be omitted. If you do so, the GSM/GPRS
modem or mobile phone will use the default value of the
message_status
parameter, which is 2.
Note:
To some mobile devices (for example, Sony Ericsson T68i and Philips
598), an error will occur if the
TPDU type is SMS-SUBMIT and the message_status
parameter value is 0 or 1, or if the TPDU type is SMS-DELIVER and the
message_status
parameter value is 2 or 3.
The
<CR> Character
<CR>,
which represents the carriage return character, follows the
message_status
parameter. When the GSM/GPRS modem or mobile phone receives the
carriage return character, it will send back a prompt formed by these
four characters: the carriage return character, the linefeed
character, the ">" character and the space character. If
you don't understand what this means, don't worry. This should be
clear to you when you see the example in the section "Example
Demonstrating How to Use the +CMGW AT Command to Write SMS Text
Messages to Message Storage in SMS PDU Mode".
The
SMSC_number_and_TPDU Parameter
The
third parameter of the +CMGW AT command, SMSC_number_and_TPDU,
specifies the SMSC number and the TPDU in hexadecimal format.
Entering the <Esc>
character will cancel the +CMGS AT command. If you don't
understand what this means, see the example in the section "Example
Demonstrating How to Use the +CMGW AT Command to Write SMS Text
Messages to Message Storage in SMS PDU Mode".
In
the earlier example command line, the value assigned to the
SMSC_number_and_TPDU
parameter is:
07915892000000F001000B915892214365F7000021493A283D0795C3F33C88FE06CDCB6E32885EC6D341EDF27C1E3E97E72E
Here
is some of the information encoded in the above hexadecimal sequence:
TPDU
type: SMS-SUBMIT
SMSC
number: +85290000000
Destination
phone number: +85291234567
Text
message: "It is easy to send text messages."
If
you want to learn how the hexadecimal sequence is coded, please go to
the section titled "Some
Explanation about the Coding of the SMSC_number_and_TPDU Parameter
Value of the +CMGS AT Command"
of this SMS tutorial.
Besides
the TPDU type SMS-SUBMIT, the +CMGW AT command accepts other TPDU
types such as SMS-DELIVER.
The
<Ctrl+z> Character
When
you finish entering the value for the SMSC_number_and_TPDU
parameter, you have to enter the <Ctrl+z>
character to mark the end of the value. The GSM/GPRS modem or mobile
phone will then attempt to write the SMS message to the message
storage area.
23.6. SMSC Number
Stored with the SMS Message (SMS PDU Mode)
In
SMS PDU mode, you can specify an SMSC number to the +CMGW AT command
through the SMSC_number_and_TPDU parameter. If no SMSC number
is specified, the GSM/GPRS modem or mobile phone retrieves the SMSC
number specified by the +CSCA AT
command (command name in text: Service Centre Address) and stores it
with the SMS message. Later if you send the SMS message, it will be
transmitted through this SMSC. Once an SMS message has been written
to message storage, it is not possible to change the SMSC number
stored with the SMS message by using AT commands.
Note
that it is possible that the command behavior on your mobile device
is slightly different from what was described above.
More
information about this issue is available in the "SMSC
Number to be Used by the +CMSS AT Command to Send SMS Messages"
section of this SMS tutorial.
23.7. Format of the
Information Response of the +CMGW AT Command in SMS PDU Mode
If
the GSM/GPRS modem or mobile phone writes the SMS message to the
message storage area successfully, it will return an information
response to the computer / PC. In SMS PDU mode, the information
response of the +CMGW AT command has the following format:
+CMGW:
index
Here
is an example that gives you some idea of how an actual information
response should look like:
+CMGW:
5
The
index Field
The
information response of the +CMGW AT command has only one field
called index. The field contains an integer that tells
us the memory location to which the SMS message was written in the
message storage area.
Feedback Form (ExpandCollapse)
|
|