Short Messages Service

Introduction

For a complete overview of SMS, see 3GPP TS 23.040 [33] and 3GPP TS 27.005 [34].

In case of errors all the SMS related AT commands return an error result code as defined in Section A.2.

Class 0 SMS

The storing of a class 0 SMS depends on the module series:

  • not stored.

<index> parameter range

The <index> parameter range depends on the memory storage type:

ME (ME message), SM ((U)SIM message) MT (ME + SM):

  • LEXI-R10 / SARA-R10

    • Values between 0 and 10: SMS stored in ME.

    • Values between 0 and n-1: SMS stored in SIM (n is the number of records of the EFSMS file in the SIM card used).

    • MT storage is not supported.

BM (Broadcast Message):

  • Broadcast Message storage is not supported.

SR (Status Report):

  • Status Report storage is not supported.

Limitations

The following limitations apply related to the SMS usage:

Single SMS

  • 160 characters if <dcs>= "GSM 7 bit default alphabet data"

  • 140 octets if <dcs>= "8-bit data"

  • 70 UCS2 characters (2 bytes for each one) if <dcs>="16-bit uncompressed UCS2 data"

Concatenated SMS (where supported) - "8-bit reference number" type

  • 153 characters if <dcs>= "GSM 7 bit default alphabet data"

  • 134 octets if <dcs>= "8-bit data"

  • 67 UCS2 characters (2 bytes for each one) if <dcs>="16-bit uncompressed UCS2 data"

Concatenated SMS (where supported) - "16-bit reference number" type

  • The limits are the same as the "8-bit reference number" type, but are decreased by one unit.

A concatenated SMS can have as many as 255 parts.

Select message service +CSMS

+CSMS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

Profile

No

-

+CMS Error

Description

Selects the <service> message service. It returns the types of messages supported by the MT.

Syntax

TypeSyntaxResponseExample

Set

AT+CSMS=<service>

+CSMS: <mt>,<mo>,<bm>

OK

AT+CSMS=1

+CSMS: 1,1,1

OK

Read

AT+CSMS?

+CSMS: <service>,<mt>,<mo>,<bm>

OK

+CSMS: 0,1,1,1

OK

Test

AT+CSMS=?

+CSMS: (list of supported <service>s)

OK

+CSMS: (0-1)

OK

Defined values

ParameterTypeDescription

<service>

Number

Allowed values:

  • 0: see 3GPP TS 23.040 [33] and 3GPP TS 23.041 [35]; syntax of AT commands is compatible with 3GPP TS 27.005 [34] phase 2; phase 2+ features may be supported if no new command syntax is required

  • 1: see 3GPP TS 23.040 [33] and 3GPP TS 23.041 [35]; syntax of AT commands is compatible with 3GPP TS 27.005 [34] phase 2+

<mt>

Number

Mobile terminated messages:

  • 0: not supported

  • 1: supported

<mo>

Number

Mobile originated messages:

  • 0: not supported

  • 1: supported

<bm>

Number

Broadcast messages:

  • 0: not supported

  • 1: supported

Notes

  • To activate correctly the manual acknowledge (see +CNMA AT command), set <service> to 1 before changing the settings of the +CNMI AT command to route the messages directly to TE.

  • Set <service> to 1 to acknowledge an incoming message (either SMS or Status Report) with +CNMA AT command.

  • If <service> is changed from 1 to 0 and one or more parameters of the +CNMI command are in phase 2+, switch the +CNMI parameters to phase 2 specific values before entering phase 2.

  • PIN is not required.

LEXI-R10801D-00B

  • The command settings are restored to the factory-programmed values after any MNO profile change (see +UMNOPROF).

Preferred message storage +CPMS

+CPMS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

partial

Yes

NVM

No

< 10 s

+CMS Error

Description

Selects memory storages <mem1>, <mem2> and <mem3>. If the chosen storage is supported by the MT but not suitable, the +CMS ERROR: <err> error result code should be returned.

See the test command for the supported memory types for each memory storage.

Syntax

TypeSyntaxResponseExample

Set

AT+CPMS=<mem1>[,<mem2>[,<mem3>]]

AT+CPMS: <used1>,<total1>,<used2>,<total2>,<used3>,<total3>

OK

AT+CPMS="BM","SM","SM"

+CPMS: 0,5,0,50,0,50

OK

Read

AT+CPMS?

+CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,<mem3>,<used3>,<total3>

OK

+CPMS: "MT",4,350,"MT",4,350,"MT",4,350

OK

Test

AT+CPMS=?

+CPMS: (list of supported <mem1>s),(list of supported <mem2>s),(list of supported <mem3>s)

OK

+CPMS: ("MT","ME","SM","BM","SR"),("MT","ME","SM"),("MT","ME","SM")

OK

Defined values

ParameterTypeDescription

<mem1>

String

Memory used to read and delete messages. The supported values may vary:

  • "ME": ME message storage

  • "SM": (U)SIM message storage

  • "MT": "ME"+"SM", "ME" preferred

  • "BM": Broadcast Message storage

  • "SR": Status Report storage

The default value is the currently set value. The factory-programmed value depends on the module series: see Notes for more details.

<mem2>

String

Memory used to write and send SMS. The supported values may vary:

  • "ME": ME message storage

  • "SM": (U)SIM message storage

  • "MT": "ME"+"SM", "ME" preferred

The default value is the currently set value. The factory-programmed value depends on the module series: see Notes for more details.

<mem3>

String

Memory preferred to store the received SMS. The supported values may vary:

  • "ME": ME message storage

  • "SM": (U)SIM message storage

  • "MT": "ME"+"SM", "ME" preferred

The default value is the currently set value. The factory-programmed value depends on the module series: see Notes for more details.

<used1>

Number

Number of used message locations in <mem1>

<total1>

Number

Total number of message locations in <mem1>

<used2>

Number

Number of used message locations in <mem2>

<total2>

Number

Total number of message locations in <mem2>

<used3>

Number

Number of used message locations in <mem3>

<total3>

Number

Total number of message locations in <mem3>

Notes

  • The factory-programmed value is "ME", "ME" and "ME".

  • "SR", "BM" and "MT" message storages are not supported.

  • The PIN verification is not required when the preferred memory storage is "ME".

Preferred message format +CMGF

+CMGF

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

Profile

No

-

+CMS Error

Description

Indicates to the MT which input and output format of messages shall be used.

Syntax

TypeSyntaxResponseExample

Set

AT+CMGF=[<mode>]

OK

AT+CMGF=1

OK

Read

AT+CMGF?

+CMGF: <mode>

OK

+CMGF: 1

OK

Test

AT+CMGF=?

+CMGF: (list of supported <mode>s)

OK

+CMGF: (0-1)

OK

Defined values

ParameterTypeDescription

<mode>

Number

Indicates the format of messages used with send, list, read and write commands and URCs resulting from receiving SMSes messages:

  • 0: PDU mode

  • 1: text mode

The factory-programmed value is:

  • 1

Notes

  • PIN is not required.

  • The <mode> parameter is mandatory.

Show text mode parameters +CSDH

+CSDH

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

Profile

No

-

+CMS Error

Description

Controls whether detailed SMS header information is shown in text mode (see the AT+CMGF=1 command).

This affects the responses of the +CMGR, +CMGL, +CSMP, +CSCA AT commands and the +CMT, +CMTI, +CDS, +CDSI, +CBM, +CBMI (see +CNMI) URCs.

Syntax

TypeSyntaxResponseExample

Set

AT+CSDH=[<show>]

OK

AT+CSDH=1

OK

Read

AT+CSDH?

+CSDH: <show>

OK

+CSDH: 0

OK

Test

AT+CSDH=?

+CSDH: (list of supported <show>s)

OK

+CSDH: (0-1)

OK

Defined values

ParameterTypeDescription

<show>

Number

Allowed values:

  • 0 (default): do not show detailed SMS header information

  • 1: show detailed SMS header information

Notes

  • The <show> parameter is mandatory in the set command.

New message indication +CNMI

+CNMI

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

partial

Yes

NVM

No

-

+CMS Error

Description

Selects the procedure to indicate the reception of a new SMS if the MT is active (the DTR signal is ON). If the MT is inactive (the DTR signal is OFF), the message reception should be done as specified in 3GPP TS 23.038 [36].

The +UCMT URC notifies the SMS-DELIVER status for 3GPP2 Mobile Terminated SMSes; it is equivalent to +CMT but valid only for 3GPP2 SMS (i.e. 3GPP2 SMS over IMS received on Verizon MNO).

Syntax

TypeSyntaxResponseExample

Set

AT+CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,<bfr>]]]]]

OK

AT+CNMI=1,1

OK

Read

AT+CNMI?

+CNMI: <mode>,<mt>,<bm>,<ds>,<bfr>

OK

+CNMI: 0,0,0,0,0

OK

Test

AT+CNMI=?

+CNMI: (list of supported <mode>s),(list of supported <mt>s),(list of supported <bm>s),(list of supported <ds>s),(list of supported <bfr>s)

OK

+CNMI: (0-2),(0-3),(0-3),(0-2),(0-1)

OK

URC

+CMTI: <mem>,<index>

+CMTI: "SM",5

URC

Text mode (+CMGF=1):

+CMT: <oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>

+CMT: "+393475234652",,"14/11/21,11:58:23+01"

Hello world

PDU mode (+CMGF=0):

+CMT: ,<length><CR><LF><pdu>

URC

Text mode (+CMGF=1):

+UCMT: <message_id>,<oa>,<scts>,[<priority>],[<privacy>],[<callback_number>],<encoding>,[<status>],[<num_sms>,<part>,<reference>],<length><CR><LF><text>

+UCMT: 1,+1231241241,"18:02:28+08",,,,2,,,,,6

Hello!

PDU mode (+CMGF=0):

+UCMT: <pdu_length><CR><LF><pdu>

URC

+CBMI: <mem>,<index>

+CBMI: "BM",48

URC

Text mode (+CMGF=1):

+CBM: <sn>,<mid>,<dcs>,<page>,<pages><CR><LF><data>

+CBM: 271,1025,1,1,1

The quick brown fox jumps over the lazy dog 0123456789

PDU mode (+CMGF=0):

+CBM: <length><CR><LF><pdu>

URC

+CDSI: <mem>,<index>

+CDSI: "MT",2

URC

Text mode (+CMGF=1):

+CDS: <fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>

+CDS: 6,202,"+393492323583",145,"14/07/25,13:07:16+02","14/07/25,16:35:44+02",0

PDU mode (+CMGF=0):

+CDS: <length><CR><LF><pdu>

Defined values

ParameterTypeDescription

<mode>

Number

Controls the processing of URCs specified within this command:

  • 0 (default value): buffer URCs in the MT; if the MT buffer is full, the oldest indication may be discarded and replaced with the new received indications (ring buffer)

  • 1 (factory-programmed value): discard indication and reject new received message URCs when MT-DTE link is reserved; otherwise forward them directly to the DTE

  • 2: buffer URCs in the MT when the serial link is busy (e.g. data-transfer); otherwise forward them directly to the DTE

  • 3: forward URCs directly to the TE. TA-TE link specific inband technique used to embed result codes and data when MT is in on-line data mode

<mt>

Number

Specifies the rules for managing the received SMS according the message’s Data Coding Scheme (DCS):

  • 0 (default and factory-programmed value): No SMS-DELIVER indications are routed to the TE

  • 1: if SMS-DELIVER is stored in the MT, indication of the memory location is routed to the DTE using the +CMTI URC

  • 2: SMS-DELIVER (except class 2 SMS) are routed directly to the DTE (but not saved in the module file system or SIM memory) using the +CMT URC. If MT has its own display device then class 0 SMS and SMS in the message waiting indication group (discard message) may be copied to both MT display and to DTE. In this case MT shall send the acknowledgement to the network. Class 2 SMSs and messages in the message waiting indication group (storage message) result in indication as defined in <mt>=1

  • 3: Class 3 SMS-DELIVERs are routed directly to DTE using URCs defined in <mt>=2. Messages of other data coding schemes result in indication as defined in <mt>=1

<bm>

Number

Specifies the rules for managing the received Cell Broadcast messages (CBM):

  • 0 (default and factory-programmed value): no CBM indications to the DTE

  • 1: if the CBM is stored in the MT, an indication of the used memory location is routed to DTE using the +CBMI URC

  • 2: new CBMs are routed directly to the DTE using the +CBM URC

  • 3: class 3 CBMs are routed directly to DTE using URCs defined in <bm>=2. If CBM storage is supported, messages of other classes result in indication as defined in <bm>=1

<ds>

Number

Specifies the rules for managing the Status Report messages:

  • 0 (default and factory-programmed value): no SMS-STATUS-REPORTs are routed to the DTE

  • 1: SMS-STATUS-REPORTs are routed to the DTE using the +CDS URC

  • 2: if SMS-STATUS-REPORT is stored in the MT, the indication of the memory location is routed to the DTE using the +CDSI URC

<bfr>

Number

Controls the buffering of URCs:

  • 0 (default and factory-programmed value): MT buffer of URCs defined within this command is flushed to the DTE when <mode> 1…​3 is entered (OK final result code shall be given before flushing the codes).

  • 1: MT buffer of URCs defined within this command is cleared when <mode> 1…​3 is entered

<mem>

String

Same as defined in +CPMS Defined Values

<index>

Number

Storage position

<length>

Number

Two meanings:

  • in text mode: number of characters

  • in PDU mode: PDU’s length in octets without the Service Center’s address. In example: 039121430100038166F6000004E374F80D: this is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length>=13.

<pdu>

String

Protocol data unit: each 8-bit octet is presented as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65)

<oa>

String

Originator address

<scts>

String

Service center time stamp in time-string format, see the <dt>

<data>

String

In the case of SMS: 3GPP TS 23.040 [33] TP-User-Data in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS command in 3GPP TS 27.007 [9]): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of GSM 7 bit default alphabet into two IRA character long hexadecimal number (e.g. character Æ (GSM 7 bit default alphabet 28) is presented as 1C (IRA 49 and 67))

  • if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number (e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65))

In the case of CBS: 3GPP TS 23.041 [35] CBM Content of Message in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS in 3GPP TS 27.007 [9]): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of the GSM 7 bit default alphabet into two IRA character long hexadecimal number

  • if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number

<sn>

Number

CBM serial number

<mid>

Number

CBM message identifier

<dcs>

Number

Data Coding Scheme

<page>

Number

CBM Page Parameter bits 4-7 in integer format as described in 3GPP TS 23.041 [35]

<pages>

Number

CBM Page Parameter bits 0-3 in integer format as described in 3GPP TS 23.041 [35]

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33])

<mr>

Number

Message reference

<ra>

String

Recipient address field

<tora>

Number

Type of address of <ra> - octet

<dt>

String

Discharge time in format "yy/MM/dd,hh:mm:ss+zz"; the time zone is expressed in steps of 15 minutes. The range goes from -48 to 56

<st>

Number

Status of a SMS STATUS-REPORT

<message_id>

Number

Message-ID of the 3GPP2 SMS

<priority>

Number

3GPP2 priority:

  • 0: normal

  • 1: interactive

  • 2: urgent

  • 3: emergency

<privacy>

Number

3GPP2 privacy:

  • 0: not restricted

  • 1: restrictive

  • 2: confidential

  • 3: secret

<callback_number>

String

Callback number

<encoding>

Number

Text encoding:

  • 0: octet, unspecified

  • 2: ASCII7

  • 3: IA5

  • 4: UCS2

  • 8: ISO 8859-1

  • 9: GSM7

<num_sms>

Number

Total number of SMS

<part>

Number

Fragment part number

<reference>

Number

3GPP2 reference ID

Notes

  • PIN is not required.

  • <mode>=1 and <mode>=3 behave in the same way as <mode>=2.

  • <mt> parameter’s factory-programmed value is 2.

  • <bm>=1 is not supported.

  • <ds>=2 is not supported.

  • If the SMS notification URC is enabled (i.e. <mt> is set to 1, 2 or 3) and the related AT command interface is not busy, the arrival of SMSs is notified by the UART RI line (or the ring indicator GPIO, based on the configuration) switching from OFF to ON for 1 s; the URC can be enabled with +CNMI AT command on any AT command interface, namely USB, MAIN UART, AUX UART or MUX virtual channels.

New message acknowledgement to MT +CNMA

+CNMA

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

Section B.2

+CMS Error

Description

Confirms the reception of a new message (SMS-DELIVER or SMS-STATUS-REPORT) which is routed directly to the TE (see the +CNMI command). This acknowledgement command shall be used when +CSMS parameter <service> equals 1. The MT shall not send another +CMT or +CDS (see the +CNMI command) unsolicited result codes to the TE before the previous one is acknowledged. If the MT does not get acknowledgement within required time (network timeout), the MT should respond as specified in 3GPP TS 24.011 [37] to the network. The MT shall automatically disable routing to the TE by setting both <mt> and <ds> values of +CNMI to zero. If the command is executed, but no acknowledgement is expected, or some other MT related error occurs, the +CMS ERROR: <err> error result code is returned.

In PDU mode, it is possible to send either positive (RP-ACK) or negative (RP-ERROR) acknowledgement to the network. The <n> parameter defines which one will be sent. Optionally (when <length> is greater than zero) an acknowledgement TPDU (SMS-DELIVER-REPORT for RP-ACK or RP-ERROR) may be sent to the network. The entering of PDU is done similarly as specified in +CMGS command, except that the format of<ackpdu> is used instead of <pdu> (i.e. SMSC address field is not present). The PDU shall not be bounded by double quotes.

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CNMA

OK

AT+CNMA

OK

PDU mode (+CMGF=0):

AT+CNMA[=<n>[,<length>

[PDU is given<Ctrl-Z>/<ESC>]]]

OK

AT+CNMA=1,5

>0007000000 <Ctrl-Z>

OK

Test

AT+CNMA=?

Text mode (+CMGF=1):

OK

OK

PDU mode (+CMGF=0):

+CNMA: (list of supported <n>s)

OK

+CNMA: (0-2)

OK

Defined values

ParameterTypeDescription

<n>

Number

Allowed values:

  • 0: the command operates similarly as defined for the text mode

  • 1: sends RP-ACK (or buffered result code received correctly)

  • 2: sends RP-ERROR (if PDU is not given, ME/TA shall send SMS-DELIVER-REPORT with 3GPP TS 23.040 [33] TP-FCS value set to 'FF' (unspecified error cause))

<length>

Number

PDU’s length in octets without the Service Center’s address

Send message +CMGS

+CMGS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

Section B.2

+CMS Error

Description

Sends a message from a DTE to the network (SMS-SUBMIT). The message reference value <mr> is returned to the DTE for a successful message delivery. Optionally (when enabled by +CSMS AT command and the network supports) <ackpdu> is returned. Values can be used to identify message upon unsolicited delivery status report result code. <Ctrl-Z> indicates that the SMS shall be sent, while <ESC> indicates aborting of the edited SMS.

The entered text/PDU is preceded by a ">" (Greater-Than sign) character, and this indicates that the interface is in "text/PDU enter" mode.

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMGS=<da>[,<toda>]<CR>

> text is entered<Ctrl-Z/ESC>

+CMGS: <mr>

OK

AT+CMGS="0171112233"<CR>

> This is the text<Ctrl-Z>

+CMGS: 2

OK

PDU mode (+CMGF=0):

AT+CMGS=<length><CR>

> PDU is given<Ctrl-Z/ESC>

+CMGS: <mr>[,<ackpdu>]

OK

AT+CMGS=13<CR>

> 039121430100038166F6000004E374F80D<Ctrl-Z>

+CMGS: 2

OK

Test

AT+CMGS=?

OK

Defined values

ParameterTypeDescription

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<text>

String

SMS string

<mr>

Number

Message reference

<length>

Number

Two meanings:

  • in text mode: number of characters

  • in PDU mode: PDU’s length in octets without the Service Center’s address. In example 039121430100038166F6000004E374F80D: is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length>=13.

<PDU>

String

Protocol Data Unit: each 8-bit octet of the PDU must be written as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 must be written as two characters 2A (IRA 50 and 65)

<ackpdu>

String

See the 3GPP TS 23.040 [33] RP-User-Data element of RP-ACK PDU; the format is same as for <PDU> in case of SMS

Notes

  • The <toda> parameter is ignored.

  • If the set command cannot be executed within 60 s from the entrance into SMS mode (e.g. because <Ctrl-Z> or <ESC> are not issued), an error result code is returned.

Send SMS command +CMGC

+CMGC

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

Section B.2

+CMS Error

Description

Sends a command message from a DTE to the network (SMS-SUBMIT). The message reference value <mr> is returned to the DTE for a successful message delivery. Optionally (when enabled by +CSMS AT command and network supports) the <ackpdu> parameter is returned. Values can be used to identify message upon unsolicited delivery status report result code. <Ctrl-Z> indicates that the SMS shall be sent, while <ESC> indicates aborting of the edited SMS.

The entered PDU is preceded by a ">" (Greater-Than sign) character, and this indicates that the interface is in "PDU enter" mode.

The +CMT URC is issued on the reception of the SMS messages.

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMGC=<fo>,<ct>[,<pid>[,<mn>[,<da>[,<toda>]]]]<CR>

> text is entered<Ctrl-Z/ESC>

+CMGC: <mr>[,<scts>]

OK

AT+CMGC=17,0<CR>

> This is the text<Ctrl-Z>

+CMGC: 20

OK

PDU mode (+CMGF=0):

AT+CMGC=<length><CR>

> <PDU> is given<Ctrl-Z/ESC>

+CMGC: <mr>[,<ackpdu>]

OK

AT+CMGC=13<CR>

> 039121430100038166F6000004E374F80D<Ctrl-Z>

+CMGC: 2

OK

Test

AT+CMGC=?

OK

URC

+CMT: [<alpha>],<length><CR><LF><pdu>

Defined values

ParameterTypeDescription

<mr>

Number

Message reference

<length>

Number

PDU’s length in octets without the Service Center’s address. In example 039121430100038166F6000004E374F80D: is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length>=13.

<PDU>

String

Protocol Data Unit: each 8-bit octet of the PDU must be written as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 must be written as two characters 2A (IRA 50 and 65).

<ackpdu>

String

See the 3GPP TS 23.040 [33] RP-User-Data element of RP-ACK PDU; format is same as for <PDU> in case of SMS.

<alpha>

String

Alphanumeric representation of destination or originating address. See the 3GPP TS 27.005 [34].

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33])

<ct>

Number

TP-Command-Type (default value: 0)

<pid>

Number

TP-Protocol-Identifier (default value: 0); see the 3GPP TS 23.040 [33]

<mn>

Number

See the 3GPP TS 23.040 [33] TP-Message-Number in integer format

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

Notes

  • If the command cannot be executed within 60 s from the entrance into SMS mode (e.g. because <Ctrl-Z> or <ESC> are not issued), an error result code is returned.

Write message to memory +CMGW

+CMGW

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

<10 s

+CMS Error

Description

Stores a message (SMS-DELIVER or SMS-SUBMIT) to memory storage <mem2> and returns the memory location <index> of the stored message. <Ctrl-Z> indicates that the SMS shall be stored, while <ESC> indicates aborting of the edited SMS.

The entered text/PDU is preceded by a ">" (Greater-Than sign) character, and this indicates that the interface is in "text/PDU enter" mode.

It is possible to write SMSes in "ME" also without the PIN insertion (no access to SIM is required when <mem2>= "ME").

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMGW[=<oa/da>[,<tooa/toda>[,<stat>]]]<CR>

text is entered<Ctrl-Z/ESC>

+CMGW: <index>

OK

AT+CMGW="091137880"<CR>

> This is the text<Ctrl-Z>

+CMGW: 303

OK

PDU mode (+CMGF=0):

AT+CMGW=<length>[,<stat>]<CR>

PDU is given<Ctrl-Z/ESC>

+CMGW: <index>

OK

AT+CMGW=13<CR>

> 039121430100038166F6000004E374F80D<Ctrl-Z>

+CMGW: 303

OK

Test

AT+CMGW=?

OK

Defined values

ParameterTypeDescription

<da>

String

TP-Destination-Address Address-Value field (see the 3GPP TS 23.040 [33]); BCD numbers (or GSM 7 bit default alphabet characters) are converted to characters of the currently selected TE character set (see the +CSCS AT command); type of address given by <toda>

<oa>

String

TP-Originating-Address Address-Value field (see the 3GPP TS 23.040 [33]); BCD numbers (or GSM 7 bit default alphabet characters) are converted to characters of the currently selected TE character set (see the +CSCS AT command); type of address given by <tooa>

<tooa>

Number

TP-Originating-Address Type-of-Address octet (see the 3GPP TS 24.011 [37]); see the <toda> parameter for the default value

<toda>

Number

TP-Destination-Address Type-of-Address octet (see the 3GPP TS 24.011 [37]); when the first character of <da> is + (IRA 43) the default value is 145, otherwise it is 129)

<stat>

Number or String

Number type in PDU mode (default value: 2), or string type in text mode (default value: "STO UNSENT"); it indicates the message status in memory:

  • 0: in PDU mode or "REC UNREAD" in text mode: received unread SMS messages

  • 1: in PDU mode or "REC READ" in text mode: received read SMS messages

  • 2: in PDU mode or "STO UNSENT" in text mode: stored unsent SMS messages

  • 3: in PDU mode or "STO SENT" in text mode: stored sent SMS messages

<text>

String

SMS string

<index>

Number

Storage position

<length>

Number

The parameter meaning depends on the message format:

  • In text mode: number of characters

  • In PDU mode: PDU’s length in octets without the Service Center’s address. In example: 039121430100038166F6000004E374F80D is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length>=13.

<PDU>

String

Protocol Data Unit: each 8-bit octet of the PDU must be written as two IRA character long hexadecimal numbers, e.g. an octet with integer value 42 must be written as two characters 2A (IRA 50 and 65)

Notes

  • The <toda>/<tooa> parameter is ignored.

  • If the set command cannot be executed within 60 s from the entrance into SMS mode (e.g. because <Ctrl-Z> or <ESC> are not issued), an error result code is returned.

Send message from storage +CMSS

+CMSS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

Section B.2

+CMS Error

Description

Sends message with location value <index> from the preferred message storage <mem2> to the network (SMS-SUBMIT or SMS-COMMAND). If a new recipient address <da> is given for SMS-SUBMIT, it will be used instead of the one stored with the message. Reference value <mr> is returned to the DTE on successful message delivery.

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMSS=<index>[,<da>[,<toda>]]

+CMSS: <mr>[,<scts>]

OK

AT+CMSS=302

+CMSS: 3

OK

PDU mode (+CMGF=0):

AT+CMSS=<index>

+CMSS: <mr>[,<ackpdu>]

OK

AT+CMSS=302

+CMSS: 4

OK

Test

AT+CMSS=?

OK

Defined values

ParameterTypeDescription

<index>

Number

Storage position

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<mr>

Number

Message reference

<scts>

String

3GPP TS 23.040 TP-Service-Centre-Time-Stamp [33] in time-string format (see <dt>).

<ackpdu>

String

See the 3GPP TS 23.040 [33] RP-User-Data element of RP-ACK PDU; format is same as for <PDU> in case of SMS.

Notes

  • The <toda> parameter is ignored.

Delete message +CMGD

+CMGD

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

partial

Yes

No

No

Section B.2

+CMS Error

Description

Deletes the message from the preferred message storage <mem1>, if <flag>=0 or not present, in location <index>. Otherwise the messages are deleted following the rules specified by <flag>.

If the <index> value is out of range (it depends on AT+CPMS command setting), then the "+CMS ERROR: Invalid memory index" error result code is returned.

When deleting a message from an empty location, the module returns the "OK" final result code.

It is possible to read SMSes in "ME" also without the PIN insertion (no access to SIM is required when <mem1>= "ME").

Syntax

TypeSyntaxResponseExample

Set

AT+CMGD=<index>[,<flag>]

OK

AT+CMGD=3

OK

Test

AT+CMGD=?

+CMGD: (list of supported <index>s),(list of supported <flag>s)

OK

+CMGD: (1-350),(0-4)

OK

Defined values

ParameterTypeDescription

<index>

Number

Storage position

<flag>

Number

Deletion flag. If present, and different from 0, the <index> parameter is ignored:

  • 0 (default value): delete the message specified in <index>

  • 1: delete all the read messages from the preferred message storage, leaving unread messages and stored mobile originated messages (whether sent or not) untouched

  • 2: delete all the read messages from the preferred message storage and sent mobile originated messages, leaving unread messages and unsent mobile originated messages untouched

  • 3: delete all the read messages from the preferred message storage, sent and unsent mobile originated messages leaving unread messages untouched

  • 4: delete all the messages from the preferred message storage including unread messages

Notes

  • The test command returns list of occupied memory indexes e.g. (0,1,4,5). If there is no occupied memory index, an empty list is returned.

Read message +CMGR

+CMGR

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

<10 s

+CMS Error

Description

Returns the message with location value <index> from message storage <mem1> to the DTE.

The parameters <tooa>, <fo>, <pid>, <dcs>, <sca>, <tosca>, <length>, <cdata> shall be displayed only if AT+CSDH=1 is set.

The syntax AT+CMGR=0 allows to display an SMS class 0 if it is signalized to MT, because no MMI is available in the MT (see also the +CNMI AT command notes).

If the <index> value is out of range (it depends on AT+CPMS command setting) or it refers to an empty position, then "+CMS ERROR: invalid memory index" error result code is returned.

It is possible to read SMSes in "ME" also without the PIN insertion (no access to SIM is required when <mem1>= "ME").

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMGR=<index>

SMS-DELIVER

+CMGR: <stat>,<oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]

<data>

OK

AT+CMGR=303

+CMGR: "REC READ","+393488535999",,"07/04/05,18:02:28+08",145,4,0,0,"+393492000466",145,93

You have a missed call. Free information provided by your operator.

OK

SMS-SUBMIT

+CMGR: <stat>,<da>,[<alpha>][,<toda>,<fo>,<pid>,<dcs>,[<vp>],<sca>,<tosca>,<length>]

<data>

OK

SMS-STATUS-report

+CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>

OK

SMS-COMMAND

+CMGR: <stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length>

[<cdata>]]

OK

CBM storage

+CMGR: <stat>,<sn>,<mid>,<dcs>,<page>,<pages>

<data>

OK

PDU mode (+CMGF=0):

AT+CMGR=<index>

+CMGR: <stat>,[<alpha>],<length>

<pdu>

OK

AT+CMGR=1

+CMGR: 1,,40

0791934329002000040C9193230982661400008070328045218018D4F29CFE06B5CBF379F87C4EBF41E434082E7FDBC3

OK

Test

AT+CMGR=?

OK

Defined values

ParameterTypeDescription

<index>

Number

Storage position

<stat>

Number

  • 0: in PDU mode or "REC UNREAD" in text mode: received unread SMS

  • 1: in PDU mode or "REC READ" in text mode: received read SMS

  • 2: in PDU mode or "STO UNSENT" in text mode: stored unsent SMS

  • 3: in PDU mode or "STO SENT" in text mode: stored sent SMS

<oa>

String

Originator address

<alpha>

String

Alphanumeric representation of <da> or <oa> corresponding to the entry found in the phonebook 3GPP TS 24.008 [12]. The parameter is not managed.

<scts>

String

Service center time stamp in time-string format, see <dt>

<tooa>

Number

Type of address of <oa> - octet

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33])

<pid>

Number

TP-Protocol-Identifier (default 0); see the 3GPP TS 23.040 [33]

<dcs>

Number

Data Coding Scheme

<sca>

String

Service center address field

<tosca>

Number

Type of address of <sca> - octet in Number format (for more details see the 3GPP TS 24.008 [12]); default 145 when string includes '+', otherwise default 129

<length>

Number

Two meanings:

  • in text mode: number of characters

  • in PDU mode: PDU’s length in octets without the Service Center’s address. In example 039121430100038166F6000004E374F80D: this is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length> = 13.

<data>

String

In the case of SMS: 3GPP TS 23.040 [33] TP-User-Data in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see +CSCS command description): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of GSM 7 bit default alphabet into two IRA character long hexadecimal number (e.g. character Æ (GSM 7 bit default alphabet 28) is presented as 1C (IRA 49 and 67))

  • if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number (e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65))

In the case of CBS: 3GPP TS 23.041 [35] CBM Content of Message in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see +CSCS command description): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of the GSM 7 bit default alphabet into two IRA character long hexadecimal number

  • if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<vp>

Number

Format depending of the <fo> setting:

  • Relative format: validity period starting from when the SMS is received by the SMSC, in range 0-255 (default value 167); for more details see the 3GPP TS 23.040 [33]

    <vp>

    Validity period value

    0 to 143

    (TP-VP + 1) x 5 minutes (i.e. 5 minutes intervals up to 12 hours)

    144 to 167

    12 hours + ((TP-VP -143) x 30 minutes)

    168 to 196

    (TP-VP - 166) x 1 day

    197 to 255

    (TP-VP - 192) x 1 week

  • Absolute format: absolute time of the validity period termination in string format ("yy/MM/dd,hh:mm:ss+zz") (see the 3GPP TS 23.040 [33]); the time zone is expressed in steps of 15 minutes. The range goes from -48 to +56

<mr>

Number

Message reference

<ra>

String

Recipient address field

<tora>

Number

Type of address of <ra> - octet

<dt>

String

Discharge time in format "yy/MM/dd,hh:mm:ss+zz"; the time zone is expressed in steps of 15 minutes. The range goes from -48 to 56

<st>

Number

Status of an SMS STATUS-REPORT

<ct>

Number

TP-Command-Type (default 0)

<mn>

Number

See the 3GPP TS 23.040 [33] TP-Message-Number in integer format

<cdata>

String

TP-Command-Data in text mode responses

<sn>

Number

CBM serial number

<mid>

Number

CBM message identifier

<page>

Number

3GPP TS 23.041 [35] CBM Page Parameter bits 4-7 in integer format

<pages>

Number

3GPP TS 23.041 [35] CBM Page Parameter bits 0-3 in integer format

<pdu>

String

Protocol data unit: each 8-bit octet is presented as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65)

List message +CMGL

+CMGL

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

< 10 s

+CMS Error

Description

Returns SMS messages with status value <stat> from message storage <mem1> to the DTE. If status of the received message is "received unread", status in the storage changes to "received read".

It is possible to read SMSes in "ME" also without the PIN insertion (no access to SIM is required when <mem1>= "ME").

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF=1):

AT+CMGL[=<stat>]

Command successful and SMS-DELIVERs:

+CMGL: <index>,<stat>,<oa>,[<alpha>],[<scts>][,<tooa>,<length>]

<data>

[+CMGL: <index>,<stat>,<oa>,[<alpha>],[<scts>][,<tooa>,<length>]<data>[…​]]

OK

AT+CMGL

+CMGL: 303,"REC READ","+393401234999",,"08/08/06,10:01:38+08"

You have a missed call. Free information provided by your operator.

OK

Command successful and SMS-SUBMITs:

+CMGL: <index>,<stat>,<da>,[<alpha>],[<toda>, <length>]

<data>

[+CMGL: <index>,<stat>,<da>,[<alpha>],[<toda>, <length>]<data>[…​]]

OK

Command successful and SMS-STATUS-REPORTs:

+CMGL: <index>,<stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>

[+CMGL: <index>,<stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st> […​]]

OK

Command successful and SMS-COMMANDs:

+CMGL: <index>,<stat>,<fo>,<ct>

[+CMGL: <index>,<stat>,<fo>,<ct>[…​]]

OK

Command successful and CBM storage:

+CMGL: <index>,<stat>,<sn>,<mid>,<page>,<pages><data>

[+CMGL: <index>,<stat>,<sn>,<mid>,<page>,<pages>,<data>[…​]]

OK

Set

PDU mode (+CMGF=0):

AT+CMGL[=<stat>]

Command successful:

+CMGL: <index>,<stat>,[<alpha>],<length>

<pdu>

[+CMGL: <index>,<stat>,[<alpha>],<length>]

<pdu> […​]

AT+CMGL=1

+CMGL: 305,1,,57

0791934329001185440ED0D637396C7EBBCB0000909092708024802A050003000303DEA0584CE60205D974791994769BDF3A90DB759687E9F534FD0DA2C9603419

OK

Test

AT+CMGL=?

+CMGL: (list of supported <stat>s)

OK

+CMGL: ("REC UNREAD","REC READ","STO UNSENT","STO SENT","ALL")

OK

Defined values

ParameterTypeDescription

<stat>

Number or String

Number type in PDU mode (default value: 4), or string type in text mode (default value: "ALL"); indicates the status of message in memory:

  • 0: in PDU mode or "REC UNREAD" in text mode: received unread SMS messages

  • 1: in PDU mode or "REC READ" in text mode: received read SMS messages

  • 2: in PDU mode or "STO UNSENT" in text mode: stored unsent SMS messages

  • 3: in PDU mode or "STO SENT" in text mode: stored sent SMS messages

  • 4: in PDU mode or "ALL" in text mode: all SMS messages

<index>

Number

Storage position

<oa>

String

Originator address

<alpha>

String

Alphanumeric representation of <da> or <oa> corresponding to the entry found in the phonebook 3GPP TS 24.008 [12]. The parameter is not managed.

<scts>

String

Service center time stamp in time-string format; see the <dt> parameter

<tooa>

Number

Type of address of <oa> - octet

<length>

Number

Two meanings:

  • in text mode: number of characters

  • in PDU mode: PDU’s length in octets without the Service Center’s address. In example 039121430100038166F6000004E374F80D: this is a PDU with Service Center’s number +1234, that generates the address 03912143 (4 octets). Thus in this case <length> = 13.

<data>

String

This is the TP-User-Data in text mode; the decoding depends on the DCS (Data Coding Scheme) and the FO (First Octet) of the SMS header 3GPP TS 23.040 [33]; format:

  • if DCS indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS AT command description): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of GSM 7 bit default alphabet into two IRA character long hexadecimal number (e.g. character Æ (GSM 7 bit default alphabet 28) is presented as 1C (IRA 49 and 67))

  • if DCS indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number (e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65))

In the case of CBS: 3GPP TS 23.041 [35] CBM Content of Message in text mode responses; format:

  • if DCS indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS AT command description): ME/TA converts GSM alphabet into current TE character set according to rules of Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of the GSM 7 bit default alphabet into two IRA character long hexadecimal number

if DCS indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33])

<mr>

Number

Message reference

<ra>

String

Recipient address field

<tora>

Number

Type of address of <ra> - octet

<dt>

String

Discharge time in format "yy/MM/dd,hh:mm:ss+zz"; the time zone is expressed in steps of 15 minutes. The range goes from -48 to 56

<st>

Number

Status of an SMS STATUS-REPORT

<ct>

Number

TP-Command-Type (default 0)

<sn>

Number

CBM serial number

<mid>

Number

CBM message identifier

<page>

Number

3GPP TS 23.041 [35] CBM Page Parameter bits 4-7 in integer format

<pages>

Number

3GPP TS 23.041 [35] CBM Page Parameter bits 0-3 in integer format

<pdu>

String

Protocol data unit: each 8-bit octet is presented as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65)

<dcs>

Number

Data Coding Scheme

Notes

  • When parameter <stat> is omitted, the default value will be 0 (if PDU mode is active) or "REC UNREAD" (if text mode is active).

  • The <stat> parameter is blank in SMS-STATUS-report displaying case.

Read concatenated message +UCMGR

+UCMGR

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

<10 s

+CMS Error

Description

Returns the message with location value <index> from message storage <mem1> to the DTE and shows additional information when the message is a segment of a concatenated one:

  • SMS-DELIVER: the parameters <tooa>, <fo>, <pid>, <dcs>, <sca>, <tosca>, <length> shall be displayed only if +CSDH: 1.

  • SMS-SUBMIT: the parameters <toda>, <fo>, <pid>, <dcs>, <vp>, <sca>, <tosca>, <length> shall be displayed only if +CSDH: 1.

  • SMS-COMMAND: <pid>, <mn>, <da>, <toda>, <length>, <cdata> shall be displayed only if +CSDH: 1.

The syntax AT+UCMGR=0 allows to display an SMS class 0 if it is signalized to MT, because no MMI is available in the MT (see also the +CNMI AT command notes).

If the received message status is "received unread", the status in the storage changes to "received read".

The command is supported only for text mode (+CMGF: 1).

If the <index> value is out of range (it depends on the preferred message storage, +CPMS command, settings) or it refers to an empty position, then the "+CMS ERROR: invalid memory index" error result code is returned.

It is possible to read SMSes in "ME" also without the PIN insertion (no access to SIM is required when <mem1>= "ME").

Syntax

TypeSyntaxResponseExample

Set

AT+UCMGR=<index>

SMS-DELIVER

+UCMGR: <stat>,<oa>,[<alpha>],<scts>[,<tooa>, <fo>,<pid>,<dcs>,<sca>,<tosca>,<length>][,<seq>,<max>,<iei>,<ref>]

<data>

OK

AT+UCMGR=1

+UCMGR: "REC READ","+393488535999",,"07/04/05,18:02:28+08",145,4,0,0,"+393492000466",145,153,1,2,0,127

u-blox reserves all rights to this document and the information contained herein. Reproduction, use or disclosure to third parties without express permis

OK

SMS-SUBMIT

+UCMGR: <stat>,<da>,[<alpha>][<toda>,<fo>,<pid>,<dcs>,[<vp>],<sca>,<tosca>,<length>][,<seq>,<max>,<iei>,<ref>]

<data>

OK

SMS-STATUS-report

+UCMGR:<stat>,<fo>,<mr>,[<ra>],[<tora>]<scts><dt>,<st>

OK

SMS-COMMAND

+UCMGR: <stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length>

[<cdata>]]

OK

CBM storage

+UCMGR: <stat>,<sn>,<mid>,<dcs>,<page>,<pages>

<data>

OK

Test

AT+UCMGR=?

OK

Defined values

ParameterTypeDescription

<index>

Number

Storage position

<stat>

String

Indicates the status of message in memory:

  • "REC UNREAD": received unread SMS

  • "REC READ": received read SMS

  • "STO UNSENT": stored unsent SMS

  • "STO SENT": stored sent SMS

<oa>

String

Originator address

<alpha>

String

Alphanumeric representation of <da> or <oa> corresponding to the entry found in the phonebook 3GPP TS 24.008 [12]. The parameter is not managed.

<scts>

String

Service center time stamp in time-string format, refer to <dt>

<tooa>

Number

Type of address of <oa> - octet

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33])

<pid>

Number

TP-Protocol-Identifier (default 0); see 3GPP TS 23.040 [33]

<dcs>

Number

Data Coding Scheme

<sca>

String

Service center address field

<tosca>

Number

Type of address of <sca> - octet in Number format (for more details see 3GPP TS 24.008 [12]); default 145 when string includes '+', otherwise default 129

<length>

Number

Number of characters

<seq>

Number

Sequence number of the current short message (1-255)

<max>

Number

Maximum number of short messages in the concatenated short message (1-255)

<iei>

Number

Information Element Identifier, the possible values are the following:

  • 0: Concatenated short messages, 8-bit reference number

  • 8: Concatenated short messages, 16-bit reference number

<ref>

Number

Concatenated short message reference number:

  • 0-255: concatenated short messages, 8-bit reference number case

  • 0-65535: concatenated short messages, 16-bit reference number case

<data>

String

In the case of SMS: 3GPP TS 23.040 [33] TP-User-Data in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS AT command description): ME/TA converts GSM alphabet into current TE character set according to rules of 3GPP TS 27.005 [34] Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of GSM 7 bit default alphabet into two IRA character long hexadecimal number (e.g. character Æ (GSM 7 bit default alphabet 28) is presented as 1C (IRA 49 and 67))

  • if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number (e.g. octet with integer value 42 is presented to TE as two characters 2A (IRA 50 and 65))

In the case of CBS: 3GPP TS 23.041 [35] CBM Content of Message in text mode responses; format:

  • if <dcs> indicates that 3GPP TS 23.038 [36] GSM 7 bit default alphabet is used:

    • if TE character set other than "HEX" (see the +CSCS AT command description): ME/TA converts GSM alphabet into current TE character set according to rules of 3GPP TS 27.005 [34] Annex A

    • if TE character set is "HEX": ME/TA converts each 7-bit character of the GSM 7 bit default alphabet into two IRA character long hexadecimal number

if <dcs> indicates that 8-bit or UCS2 data coding scheme is used: ME/TA converts each 8-bit octet into two IRA character long hexadecimal number

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<vp>

Number

Format depending of the <fo> setting:

  • Relative format: validity period starting from when the SMS is received by the SMSC, in range 0-255 (default value 167); for more details see 3GPP TS 23.040 [33]

    <vp>

    Validity period value

    0 to 143

    (TP-VP + 1) x 5 minutes (i.e. 5 minutes intervals up to 12 hours)

    144 to 167

    12 hours + ((TP-VP -143) x 30 minutes)

    168 to 196

    (TP-VP - 166) x 1 day

    197 to 255

    (TP-VP - 192) x 1 week

  • Absolute format: absolute time of the validity period termination in string format ("yy/MM/dd,hh:mm:ss+zz") (refer to 3GPP TS 23.040 [33]); the time zone is expressed in steps of 15 minutes. The range goes from -48 to +56

<mr>

Number

Message reference

<ra>

String

Recipient address field

<tora>

Number

Type of address of <ra> - octet

<scts>

String

Service center time stamp in time-string format, refer to <dt>

<dt>

String

Discharge time in format "yy/MM/dd,hh:mm:ss+zz"; the time zone is expressed in steps of 15 minutes. The range goes from -48 to 56

<st>

Number

Status of an SMS STATUS-REPORT

<ct>

Number

TP-Command-Type (default 0)

<mn>

Number

3GPP TS 23.040 [33] TP-Message-Number in integer format

<mid>

Number

CBM message identifier

<cdata>

String

TP-Command-Data in text mode responses

<sn>

Number

CBM serial number

<page>

Number

3GPP TS 23.041 [35] CBM page parameter bits 4-7 in integer format

<pages>

Number

3GPP TS 23.041 [35] CBM page parameter bits 0-3 in integer format

Send concatenated message +UCMGS

+UCMGS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

Section B.2

+CMS Error

Description

Sends one segment of a concatenated message from a DTE to the network (SMS-SUBMIT). The message reference value <mr> is returned to the DTE for a successful message delivery. <Ctrl-Z> indicates that the SMS shall be sent, while <ESC> indicates aborting of the edited SMS.

The command is supported only for text mode (+CMGF: 1).

The entered text is preceded by a ">" (Greater-Than sign) character, and this indicates that the interface is in "text enter" mode.

Syntax

TypeSyntaxResponseExample

Set

AT+UCMGS=<da>,[<toda>],<seq>,<max>,<iei>,<ref><CR>

text is entered<Ctrl-Z/ESC>

+UCMGS: <mr>

OK

AT+UCMGS="0171112233",,1,2,0,127<CR>

> u-blox reserves all rights to this document and the information contained herein. Reproduction, use or disclosure to third parties without express permis<Ctrl-Z>

+UCMGS:2

OK

AT+UCMGS="0171112233",,2,2,0,127<CR>

> sion is strictly prohibited.<Ctrl-Z>

+UCMGS:3

OK

Test

AT+UCMGS=?

OK

Defined values

ParameterTypeDescription

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet

<seq>

Number

Sequence number of the current short message (1-255)

<max>

Number

Maximum number of short messages in the concatenated short message (1-255)

<iei>

Number

Information Element Identifier, the possible values are the following:

  • 0: concatenated short messages, 8-bit reference number

  • 8: concatenated short messages, 16-bit reference number

<ref>

Number

Concatenated short message reference number:

  • 0-255: concatenated short messages, 8-bit reference number case

  • 0-65535: concatenated short messages, 16-bit reference number case

<text>

String

SMS string

<mr>

Number

Message reference

Notes

  • Only <iei>=0 is supported.

  • The <toda> parameter is ignored.

  • If the command cannot be executed within 60 s from the entrance into SMS mode (e.g. because <Ctrl-Z> or <ESC> are not issued), an error result code is returned.

Inline send message +USMSSEND

+USMSSEND

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

Full

Yes

No

No

60 s

+CMS Error

Description

Sends a message from a DTE to the network without using the character <Ctrl-Z>. The message reference value <mr> is returned in case of successful message delivery. Both text and PDU modes are supported, but only the mode currently configured on the AT terminal by +CMGF will be accepted.

Syntax

TypeSyntaxResponseExample

Set

Text mode (+CMGF:1):

AT+USMSSEND=<mode>,<da>,[<toda>],<text>

+CMGS: <mr>

OK

AT+USMSSEND=1,"0171112233",,"This is the text"

+CMGS: 2

OK

PDU mode (+CMGF:0):

AT+USMSSEND=<mode>,PDU is given

+CMGS: <mr>

OK

AT+USMSSEND=0,"039121430100038166F6000004E374F80D"

+CMGS: 2

OK

Test

AT+USMSSEND=?

+USMSSEND: (1),("da"),(128,129,145,161,177,193),(160)

OK

Defined values

ParameterTypeDescription

<mode>

Number

Indicates the format of messages

  • 0: PDU mode

  • 1: text mode

<da>

String

Destination address

<toda>

Number

Type of address of <da> - octet, the default value is 0 ("unknown").

<text>

String

SMS string, the maximum length is 160 characters.

<mr>

Number

Message reference

<PDU>

String

Protocol Data Unit: each 8-bit octet of the PDU must be written as two IRA character long hexadecimal numbers, e.g. octet with integer value 42 must be written as two characters 2A (IRA 50 and 65). The maximum PDU length is 180 octets without the Service Center’s address.

Notes

  • The <da> string length depends on the charset (see +CSCS AT command), the maximum length is up to 40 characters.

  • The <toda> parameter is ignored.

Set text mode parameters +CSMP

+CSMP

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

NVM

No

< 10 s

+CMS Error

Description

Selects values for additional parameters needed when an SMS is sent to the network or placed in a storage when text format message mode is selected. For more details see the 3GPP TS 23.038 [36] and the 3GPP TS 23.040 [33].

Syntax

TypeSyntaxResponseExample

Set

AT+CSMP=<fo>,<vp>[,<pid>[,<dcs>]]

OK

AT+CSMP=17,167,0,0

OK

Read

AT+CSMP?

+CSMP: <fo>,<vp>,<pid>,<dcs>

OK

+CSMP: 17,167,0,0

OK

Test

AT+CSMP=?

OK

Defined values

ParameterTypeDescription

<fo>

Number

First octet of the SMS TPDU (see 3GPP TS 23.040 [33]). The factory-programmed value is 17.

<vp>

Number

Format depending on the values of the bit3/bit4 of the <fo> (SMS-SUBMIT case):

Bit 3

Bit 4

Format

0

0

Validity period not present

0

1

Validity period present, relative format

1

0

Reserved

1

1

Validity period present, absolute format

  • Relative format: validity period, counted from when the SMS-SUBMIT is received by the SMSC, in range 0-255 (the factory-programmed value is 167); for more details see the 3GPP TS 23.040 [33]

    <vp>

    Validity period value

    0 to 143

    (TP-VP + 1) x 5 minutes (i.e. 5 minutes intervals up to 12 hours)

    144 to 167

    12 hours + ((TP-VP -143) x 30 minutes)

    168 to 196

    (TP-VP - 166) x 1 day

    197 to 255

    (TP-VP - 192) x 1 week

  • Absolute format: absolute time of the validity period termination in string format ("yy/MM/dd,hh:mm:ss+zz") (see the 3GPP TS 23.040 [33]); the time zone is expressed in steps of 15 minutes. The range goes from -48 to +56

<pid>

Number

TP-Protocol-Identifier (factory-programmed value: 0); see the 3GPP TS 23.040 [33]

<dcs>

Number

Data Coding Scheme. The factory-programmed value is 0.

Notes

  • Read command first reads parameter settings from NVM and then from the SIM. If parameter settings exist in the SIM, they take precedence.

  • Write command first writes parameter settings to NVM and then to the SIM.

Service center address +CSCA

+CSCA

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

NVM

No

< 10 s

+CMS Error

Description

Updates the SMSC address, through which mobile originated SMSes are transmitted. In text mode the setting is used by send and write commands. In PDU mode the setting is used by the same commands, but only when the length of SMSC address coded into <pdu> parameter equals zero.

Syntax

TypeSyntaxResponseExample

Set

AT+CSCA=<sca>[,<tosca>]

OK

AT+CSCA="0170111000",129

OK

Read

AT+CSCA?

+CSCA: <sca>,<tosca>

OK

+CSCA: "",129

OK

Test

AT+CSCA=?

OK

Defined values

ParameterTypeDescription

<sca>

String

Service center address.

<tosca>

String

Type of address of <sca> (for more details refer to 3GPP TS 24.008 [12]); the default value is 145 when string includes '+', otherwise the default is 129.

Notes

  • The <tosca> parameter is an octet in integer format.

Select cell broadcast message types +CSCB

+CSCB

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

partial

Yes

Profile

No

< 10 s

+CMS Error

Description

Selects which types of CBM’s are to be received by the MT.

Syntax

TypeSyntaxResponseExample

Set

AT+CSCB=[<mode>[,<mids>[,<dcss>]]]

OK

AT+CSCB=0,"1,5,10-11,40",""

OK

Read

AT+CSCB?

+CSCB: <mode>,<mids>,<dcss>

OK

+CSCB: 0,"",""

OK

Test

AT+CSCB=?

+CSCB: (list of supported <mode>s)

OK

+CSCB: (0-1)

OK

Defined values

ParameterTypeDescription

<mode>

Number

Allowed values:

  • 0 (default value and factory-programmed value): message types specified in <mids> and <dcss> accepted

  • 1: message types specified in <mids> and <dcss> not accepted

<mids>

String

Contains all possible combinations of CBM message identifiers (<mid>). See the 3GPP TS 23.041 [35], chapter 9.4. When RAT is UMTS up to 2048 message identifiers can be set; defining an exceeding combination will not cause an error result code and exceeding values will be ignored.

<dcss>

String

Contains all possible combinations of CBM data coding schemes (<dcs>). See the 3GPP TS 23.038 [36], chapter 5.

Notes

  • If <mode>=0 and <mids> is an empty string, receiving of CB SMS is stopped.

  • The <mode> parameter is mandatory in the set command.

  • PIN is not required.

  • The maximum number of <mids> and <dcss> is 5.

  • The <mids> and <dcss> are not saved in NVM or SIM and only kept for limited time for duplicate check, hence these will be lost on reboot. For Japanese operators the values are kept for 1 hour. For the rest of operators the values are kept for 24 hours.

LEXI-R10801D-00B

  • The command settings are restored to the factory-programmed values after any MNO profile change (see +UMNOPROF).

More messages to send +CMMS

+CMMS

Modules

All products

Attributes

Syntax

PIN required

Settings saved

Can be aborted

Response time

Error reference

full

Yes

No

No

-

+CMS Error

Description

Controls the continuity of SMS relay protocol link. When enabled, multiple SMS messages can be sent much faster as link is kept open.

Syntax

TypeSyntaxResponseExample

Set

AT+CMMS=[<mode>]

OK

AT+CMMS=2

OK

Read

AT+CMMS?

+CMMS: <mode>

OK

+CMMS: 2

OK

Test

AT+CMMS=?

+CMMS: (list of supported <mode>s)

OK

+CMMS: (0-2)

OK

Defined values

ParameterTypeDescription

<mode>

Number

Allowed values:

  • 0 (default value): disabled

  • 1: keep enabled until the time between the response of the latest message send command (such as +CMGS) and the next send command exceeds 5 s, then close the link and switch <mode> automatically back to 0

  • 2: keep permanently enabled. The link is closed after each send sequence, but <mode> is not switched back to 0

Notes

  • The <mode> parameter is mandatory in the set command.

  • PIN is not required.

LEXI-R10801D-00B

  • The command settings are restored to the factory-programmed values after any MNO profile change (see +UMNOPROF).

Last updated: Jan 13, 2025
Need help?Contact Support
Questions?Contact us