In SMS text mode, the syntax of the +CMGS AT command is: (Optional parameters are enclosed in square brackets.)
+CMGS=address[,address_type]<CR>sms_message_body<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+CMGS=”+85291234567″,145<CR>This is an example for illustrating the syntax of the +CMGS AT command in SMS text mode.<Ctrl+z>
The address Parameter
The first parameter of the +CMGS AT command, address, specifies the destination address to send the SMS message to. Usually it is a mobile number formatted using the typical ISDN / telephony numbering plan (ITU E.164/E.163). For example, “+85291234567”, “91234567”, etc. Note that the value passed to the address parameter should be a string, i.e. it should be enclosed in double quotes.
The address_type Parameter
The second parameter of the +CMGS AT command, address_type, specifies the type of the address assigned to the address parameter. Two values are commonly used. They are 129 and 145:
-
129. It means the value of address is formatted using the typical ISDN / telephony numbering plan (ITU E.164/E.163) but it is not sure whether the value of address is an international number, a national number or a number of other types. Example addresses: “85291234567”, “91234567”.
-
145. It means the value of address is formatted using the typical ISDN / telephony numbering plan (ITU E.164/E.163) and it is an international number. Example address: “+85291234567”.
As address_type 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 address_type parameter, which is:
-
129 if the value of address does not start with a “+” character. For example, “85291234567”.
-
145 if the value of address starts with a “+” character. For example, “+85291234567”.