SMS
ARIB STD-T63-27.005 V10.0.1
Use of Data Terminal Equipment Data Circuit terminating
Equipment (DTE - DCE) interface
for
Short Message Service (SMS) and
Cell Broadcast Service (CBS)
(Release 10)
Refer to “Industrial Property Rights (IPR)” in the preface of ARIB STD-T63 for Related Industrial
Property Rights. Refer to “Notice” in the preface of ARIB STD-T63 for Copyrights.
3GPP TS 27.005 V10.0.1 (2011-09)
Technical Specification
3rd Generation Partnership Project;
Technical Specification Group Core Network and Terminals;
Use of Data Terminal Equipment - Data Circuit terminating
Equipment (DTE - DCE) interface for
Short Message Service (SMS) and
Cell Broadcast Service (CBS)
(Release 10)
The present document has been developed within the 3rd Generation Partnership Project (3GPP TM) and may be further elaborated for the purposes of 3GPP.
The present document has not been subject to any approval process by the 3GPP Organisational Partners and shall not be implemented.
This Specification is provided for future development work within 3GPP only. The Organisational Partners accept no liability for any use of this Specification.
Specifications and reports for implementation of the 3GPP TM system should be obtained via the 3GPP Organisational Partners' Publications Offices.
Release 10
2
3GPP TS 27.005 V10.0.1 (2011-09)
Keywords
UMTS, GSM, LTE, SMS, data, broadcast
3GPP
Postal address
3GPP support office address
650 Route des Lucioles - Sophia Antipolis
Valbonne - FRANCE
Tel.: +33 4 92 94 42 00 Fax: +33 4 93 65 47 16
Internet
http://www.3gpp.org
Copyright Notification
No part may be reproduced except as authorized by written permission.
The copyright and the foregoing restriction extend to reproduction in all media.
© 2011, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TTA, TTC).
All rights reserved.
UMTS™ is a Trade Mark of ETSI registered for the benefit of its members
3GPP™ is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners
LTE™ is a Trade Mark of ETSI registered for the benefit of its Members and of the 3GPP Organizational Partners
GSM® and the GSM logo are registered and owned by the GSM Association
3GPP
Release 10
3
3GPP TS 27.005 V10.0.1 (2011-09)
Contents
Foreword ............................................................................................................................................................ 6
0
Scope ........................................................................................................................................................ 7
0.1
0.2
1
References.......................................................................................................................................................... 7
Abbreviations ..................................................................................................................................................... 8
Reference configuration ........................................................................................................................... 9
1.1
1.1.1
1.1.2
2
V.24 Interface Circuits ....................................................................................................................................... 9
Circuit definitions for the SMS Block mode ................................................................................................ 9
Circuit definitions for the SMS Text and PDU modes ............................................................................... 10
SMS Block Mode ................................................................................................................................... 10
2.1
2.1.1
2.1.2
2.2
2.3
2.3.1
2.3.2
2.3.2.1
2.3.2.2
2.3.3
2.3.3.1
2.3.3.2
2.3.3.3
2.3.4
2.3.5
2.4
2.4.1
2.4.1.1
2.4.1.2
2.4.1.3
2.4.1.4
2.4.1.5
2.4.1.6
2.4.1.7
2.4.1.8
2.4.1.9
2.4.1.10
2.4.1.11
2.4.1.12
2.4.2
2.4.2.1
2.4.2.2
2.4.2.3
2.4.2.4
2.4.2.5
2.4.2.6
2.4.2.7
2.4.2.8
2.4.2.9
2.4.2.10
2.4.2.11
2.4.2.12
2.5
2.5.1
2.5.2
2.5.2.1
Beginning and ending of SMS/CBS Block Mode............................................................................................ 10
Beginning SMS/CBS Block Mode ............................................................................................................. 10
Returning from SMS/CBS Block Mode To Default Mode ........................................................................ 11
Protocol description ......................................................................................................................................... 11
Requesting messages already held in the Mobile Termination ........................................................................ 12
Requesting List Of Messages ..................................................................................................................... 13
Requesting Transfer Of Messages.............................................................................................................. 13
Requesting Transfer Of A Specific Message ........................................................................................ 13
Requesting Transfer Of All Messages .................................................................................................. 13
Requesting Diversion Of Incoming Messages ........................................................................................... 14
Requesting SMS Messages ................................................................................................................... 14
Requesting CBS Messages ................................................................................................................... 14
Requesting indication of message arrival ............................................................................................. 14
Requesting Transfer Into Mobile Termination ........................................................................................... 15
Requesting Deletion Of Messages ............................................................................................................. 15
Message functional definitions and contents ................................................................................................... 16
Commands Issued By The Terminal Equipment........................................................................................ 16
List Request .......................................................................................................................................... 17
Get Message ......................................................................................................................................... 17
Get First Message ................................................................................................................................. 17
Get Next Message................................................................................................................................. 17
Transfer Inc SMS ................................................................................................................................. 17
Indicate Inc SMS .................................................................................................................................. 17
Transfer Inc CBS .................................................................................................................................. 18
Insert SMS ............................................................................................................................................ 18
Delete message ..................................................................................................................................... 18
Unable to process ................................................................................................................................. 18
End SMS Mode .................................................................................................................................... 18
Acknowledge Message ......................................................................................................................... 19
Responses/Indications Issued By The MT ................................................................................................. 19
Message List ......................................................................................................................................... 19
Message ................................................................................................................................................ 19
Get Message Failure ............................................................................................................................. 20
Inc Message .......................................................................................................................................... 20
Message Arrived ................................................................................................................................... 20
Insert SMS Complete ........................................................................................................................... 20
Insert SMS Failure ................................................................................................................................ 20
Delete Message Complete .................................................................................................................... 21
Delete Message Failure ........................................................................................................................ 21
Unable To Process ................................................................................................................................ 21
End SMS Mode .................................................................................................................................... 21
Request Confirmed ............................................................................................................................... 21
General message format and information elements coding ............................................................................. 21
Message Type ............................................................................................................................................ 21
Other Information Elements ....................................................................................................................... 22
Short Message Reference ..................................................................................................................... 22
3GPP
Release 10
2.5.2.2
2.5.2.3
2.5.2.4
2.5.2.5
2.5.2.6
2.5.2.7
2.5.2.8
2.5.2.9
2.5.2.10
2.5.2.11
2.5.2.12
2.5.2.13
2.5.2.14
2.5.2.15
3
3.1
3.2
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.3
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.4
3.4.1
3.4.2
3.4.3
3.4.4
3.4.5
3.5
3.5.1
3.5.2
3.5.3
3.5.4
3.5.5
3.5.6
3.5.7
4
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4
3GPP TS 27.005 V10.0.1 (2011-09)
SMS Transfer Type .............................................................................................................................. 23
Indication Type ..................................................................................................................................... 23
Insert Type ............................................................................................................................................ 24
Short Message Index ............................................................................................................................ 25
Short Message Data .............................................................................................................................. 26
Cause .................................................................................................................................................... 28
Index Count .......................................................................................................................................... 29
CBS Transfer Type ............................................................................................................................... 29
Page Index ............................................................................................................................................ 29
Last Short Message............................................................................................................................... 30
Confirm Type ....................................................................................................................................... 30
TP-Failure Cause .................................................................................................................................. 31
SM-Deliver-Ack ................................................................................................................................... 31
SM-Submit-Ack ................................................................................................................................... 32
Text Mode .............................................................................................................................................. 32
Parameter Definitions ...................................................................................................................................... 32
General Configuration Commands .................................................................................................................. 35
Select Message Service +CSMS ................................................................................................................ 35
Preferred Message Storage +CPMS ........................................................................................................... 36
Message Format +CMGF ........................................................................................................................... 36
Enter SMS Block Mode Protocol +CESP .................................................................................................. 37
Message Service Failure Result Code +CMS ERROR .............................................................................. 37
Informative Examples ................................................................................................................................ 38
Message Configuration Commands ................................................................................................................. 38
Service Centre Address +CSCA ................................................................................................................ 38
Set Text Mode Parameters +CSMP ........................................................................................................... 38
Show Text Mode Parameters +CSDH........................................................................................................ 39
Select Cell Broadcast Message Types +CSCB .......................................................................................... 39
Save Settings +CSAS ................................................................................................................................. 40
Restore Settings +CRES ............................................................................................................................ 40
Informative Examples ................................................................................................................................ 41
Message Receiving and Reading Commands .................................................................................................. 41
New Message Indications to TE +CNMI ................................................................................................... 41
List Messages +CMGL .............................................................................................................................. 46
Read Message +CMGR.............................................................................................................................. 47
New Message Acknowledgement to ME/TA +CNMA .............................................................................. 47
Informative Examples ................................................................................................................................ 48
Message Sending and Writing Commands ...................................................................................................... 49
Send Message +CMGS .............................................................................................................................. 49
Send Message from Storage +CMSS ......................................................................................................... 50
Write Message to Memory +CMGW ......................................................................................................... 50
Delete Message +CMGD ........................................................................................................................... 51
Send Command +CMGC ........................................................................................................................... 51
More Messages to Send +CMMS .............................................................................................................. 52
Informative Examples ................................................................................................................................ 52
PDU Mode ............................................................................................................................................. 53
List Messages +CMGL .................................................................................................................................... 53
Read Message +CMGR ................................................................................................................................... 54
Send Message +CMGS .................................................................................................................................... 54
Write Message to Memory +CMGW .............................................................................................................. 55
Send Command +CMGC ................................................................................................................................. 55
New Message Acknowledgement to ME/TA +CNMA ................................................................................... 56
Send Message from Storage +CMSS ............................................................................................................... 57
Annex A (normative):
Character Set Conversions for SMS Text Mode......................................... 58
Annex B (informative):
Example of processing a data block ............................................................. 61
B.1
Example state diagrams for the block receiver ...................................................................................... 61
B.2
Example of coding and decoding a data block ....................................................................................... 61
3GPP
Release 10
Annex C (informative):
5
3GPP TS 27.005 V10.0.1 (2011-09)
Change History .............................................................................................. 68
3GPP
Release 10
6
3GPP TS 27.005 V10.0.1 (2011-09)
Foreword
This Technical Specification has been produced by the 3rd Generation Partnership Project (3GPP).
The contents of the present document are subject to continuing work within the TSG and may change following formal
TSG approval. Should the TSG modify the contents of the present document, it will be re-released by the TSG with an
identifying change of release date and an increase in version number as follows:
Version x.y.z
where:
x the first digit:
1 presented to TSG for information;
2 presented to TSG for approval;
3 Indicates TSG approved document under change control.
y the second digit is incremented for all changes of substance, i.e. technical enhancements, corrections,
updates, etc.
z the third digit is incremented when editorial only changes have been incorporated in the specification;
3GPP
Release 10
0
7
3GPP TS 27.005 V10.0.1 (2011-09)
Scope
The present document defines three interface protocols for control of SMS functions within a GSM/UMTS mobile
telephone from a remote terminal via an asynchronous interface.
Clause 2 defines a binary protocol ("Block Mode"). The protocol includes error protection and is suitable for use where
the link may not be completely reliable. It will be of particular use where control of remote devices is required. Efficient
transfer of binary encoded user data is possible.
Clause 3 defines a character-based interfaced based on "AT" commands ("Text Mode"). This mode is suitable for
unintelligent terminals or terminal emulators, and for application software built on command structures like those
defined in V.25ter. Some of the commands defined in clause 3 will also be useful for implementations of clause 2
and/or clause 4, for example enabling an indication of incoming SMS messages.
Clause 4 defines a character-based interface with hex-encoded binary transfer of message blocks ("PDU Mode"). This
mode is suitable for software drivers based on AT command structures which do not understand the content of the
message blocks and can only pass them between the MT and "upper level" software resident in the TE.
In all three modes, the terminal is considered to be in control for SMS/CBS transactions.
The present document considers the mobile termination to be a single entity. Other 3GPP/GSM Technical
Specifications describe the split of functionality between the mobile equipment and (U)SIM.
The three "modes" referred to above, are represented in figure 0.1.
The "Block mode" is a self contained mode in its own right, and when entered, control will remain within that mode
until the procedures to exit the mode are executed, after which control is returned to the V.25ter "command" state or
"on-line command" state.
The "Text" and "PDU" modes are not in themselves V.25ter states but are simply sets of commands which will operate
in either the V.25ter "command" state or "on-line command" state. The "Text" and "PDU" modes are transitory states
and after each operation, control is automatically returned to the V.25ter "command" state or "on-line command" state.
Whilst in the V.25ter command state, the MS is available to handle incoming and outgoing calls such as Data or
Facsimile.
V.25ter
"command" state
and "on-line command" state
SMS
PDU
Mode
SMS
Text
Mode
SMS Block Mode
Figure 0.1: Block, Text and PDU modes
In the "Block mode" and "PDU" mode a mobile is not permitted to modify any component of an SMS/CBS message
received from the air interface or an SMS message received from a TE, before passing it on, except where
3GPP TS 23.040 [3] or 3GPP TS 23.041 [4] defines a "component modification facility" and where this "component
modification facility" is supported by the mobile. In the Text Mode the mobile may be unable to display characters
coded in particular coding schemes. In this case, the mobile shall behave as described in 3GPP TS 23.038 [2] and
assume the coding scheme to be the GSM 7 bit default alphabet.
3GPP
Release 10
0.1
8
3GPP TS 27.005 V10.0.1 (2011-09)
References
The following documents contain provisions which, through reference in this text, constitute provisions of the present
document.
• References are either specific (identified by date of publication, edition number, version number, etc.) or
non-specific.
• For a specific reference, subsequent revisions do not apply.
• For a non-specific reference, the latest version applies. In the case of a reference to a 3GPP document (including
a GSM document), a non-specific reference implicitly refers to the latest version of that document in the same
Release as the present document.
[1]
Void.
[2]
3GPP TS 23.038: "Alphabets and language-specific information".
[3]
3GPP TS 23.040: "Technical realization of the Short Message Service (SMS) ".
[4]
3GPP TS 23.041: "Technical realization of the Cell Broadcast Service (CBS)".
[5]
3GPP TS 24.008: "Mobile Radio Interface Layer 3 specification; Core Network Protocols;
Stage 3".
[6]
3GPP TS 24.011: "Short Message Service (SMS) support on mobile radio interface".
[7]
3GPP TS 24.012: "Cell Broadcast Service (CBS) support on the mobile radio interface".
[8]
3GPP TS 27.001: "General on Terminal Adaptation Functions (TAF) for Mobile Stations (MS)".
[9]
3GPP TS 27.007: "AT command set for User Equipment (UE)".
[10]
3GPP TS 51.011: "Specification of the Subscriber Identity Module - Mobile Equipment
(SIM - ME) interface".
[11]
ITU-T Recommendation V.25ter: "Serial asynchronous automatic dialling and control".
[12]
ITU-T Recommendation V.24: "List of definitions for interchange circuits between data terminal
equipment (DTE) and data circuit-terminating equipment (DCE)".
[13]
ITU-T Recommendation E.164: "The international public telecommunication numbering plan".
[14]
ITU-T Recommendation E.163: "Numbering plan for the international telephone service".
[15]
3GPP TR 21.905: "Vocabulary for 3GPP Specifications".
[16]
3GPP TS 31.102: "Characteristics of the USIM application".
0.2
Abbreviations
For the purposes of the present document, the abbreviations given in 3GPP TR 21.905 [15] and the following]
apply.
EVPF
Enhanced Validity Period Format
3GPP
Release 10
1
9
3GPP TS 27.005 V10.0.1 (2011-09)
Reference configuration
MT
TE
USIM
ME
UE
Figure 1: Reference configuration
The User Equipment (UE) consists of the mobile equipment (ME) and the (U)SIM. Messages may be stored in either,
but the present document does not distinguish between messages stored in the (U)SIM or in the ME. The management
of message storage in the two parts of the UE is a matter for the UE implementation.
1.1
V.24 Interface Circuits
The operation of the ITU-T Recommendation V.24 blue book interface circuits for SMS is shown in table 1.1.
Table 1.1: Use of V.24 interface circuits
NOTE:
1.1.1
V.24 CIRCUIT
DESCRIPTION
CT102
signal ground
CT103
TXD
CT104
RXD
CT105
RTS
CT106
CTS
CT107
DSR
CT108.2
DTR
CT109
DCD
CT105 at the TE is connected to CT133 at the MT.
TE to MT
x
x
MT to TE
x
x
x
x
x
x
x
Circuit definitions for the SMS Block mode
CT103
All commands from the TE to the MT are transferred across this circuit. Inband flow control is not permitted during
Block Mode.
CT104
All responses/indications from the MT to the TE are transferred across this circuit. Inband flow control is not permitted
during Block Mode.
3GPP
Release 10
10
3GPP TS 27.005 V10.0.1 (2011-09)
CT105
This circuit allows the TE to flow control the MT when in the Block Mode and at other times if hardware flow control
is enabled.
CT106
This circuit allows the MT to flow control the TE when in the Block Mode and at other times if hardware flow control
is enabled.
CT107
This circuit shall be set to the ON condition before entry into the Block Mode, and shall remain in the ON condition
during Block Mode. If the TE detects that this circuit returns to the OFF condition during the block mode then the TE
shall return CT108.2 to the OFF condition and exit the Block Mode.
CT108.2
This circuit shall be set in the ON condition before the AT+CESP command is sent from the TE to begin the Block
Mode, and shall be maintained in the ON condition during the Block Mode. It shall be returned to the OFF condition
after the command 'END SMS MODE' has been accepted and acknowledged by the MT. If the MT detects that this
circuit returns to the OFF condition during the Block Mode then the MT shall exit the Block Mode.
CT109
This circuit shall be set to the ON condition before entry into the Block Mode and remain in the ON condition during
the Block Mode. If the TE detects that this circuit returns to the OFF condition during the Block Mode then the TE shall
return CT108.2 to the OFF condition and shall exit the Block Mode.
1.1.2
Circuit definitions for the SMS Text and PDU modes
Only circuits CT102, CT103 and CT104 are mandatory for the Text and PDU modes. The functionality and operation
of other circuits shall be in accordance with V.25ter.
2
SMS Block Mode
2.1
Beginning and ending of SMS/CBS Block Mode
2.1.1
Beginning SMS/CBS Block Mode
As described in 3GPP TS 27.001 [8], the DTE/DCE interface is normally associated with the terminal adaptation
function (TAF), if such a function is available. When no data connection is in progress, and the terminal equipment
wishes to enter SMS/CBS mode, the command 'AT+CESP' shall be issued by the TE through the DTE/DCE interface
requesting that the Block mode protocol described in the present document is to be used. The syntax of this command is
further described in clause 3.2.4 later. The syntax for these commands is derived from ITU-T Recommendation V.25ter,
i.e. the command is encoded as an IA5 character string together with delimiters as described in ITU-T Recommendation
V.25ter.
Upon receipt of this command, the mobile termination shall respond as follows:
-
If the mobile termination supports SMS/CBS block mode commands, responses and indications as described in
the present document, it shall respond with 'OK' (or 0) and enter the SMS/CBS mode.
-
If the mobile termination does not support SMS/CBS block mode commands, responses and indications as
described in the present document, it shall respond with 'ERROR' (or 4) and remain in the current mode.
3GPP
Release 10
-
11
3GPP TS 27.005 V10.0.1 (2011-09)
Terminal software shall wait a short time (e.g. 5 seconds) for the 'OK' (0) or 'ERROR' (4) response. If neither
response is received before the timeout then the terminal software shall assume that the block mode has been
entered. The terminal software may then submit its first block mode command. If no response is received to
this command then the terminal software shall proceed as described below in clause 2.2 (i.e. repeat the command
3 times and then exit the block mode).
If the SMS/CBS block mode command is accepted by the mobile termination, then all further commands, responses and
indications shall be as defined in clause 2 of the present document. These SMS/CBS mode commands, responses and
indications use 8-bit encoded data and not IA5 characters.
2.1.2
Returning from SMS/CBS Block Mode To Default Mode
When the terminal equipment wishes to return to default mode from SMS/CBS mode, it shall issue the command 'END
SMS MODE', described in clause 2.4.1.11. The mobile termination shall respond with 'OK' (or 0) to indicate that the
DTE/DCE interface has returned to default mode. The TE shall change back to default mode whether or not such a
response is received.
The TE may also indicate that it has exit from the SMS/CBS mode through the use of CT 108/2 (see clause 1.1)
If an incoming data call arrives while the DTE/DCE interface is set to SMS/CBS mode, then the mobile termination
may autonomously issue the 'END SMS MODE' indication (clause 2.4.2.11) and revert to default mode in order to
connect the data call through the TAF.
The MT may exit from SMS/CBS mode autonomously if the power to the MT is switched off and then on again. In
addition, the MT manufacturer may provide MMI to change the mode back to the default mode. In the latter case, the
MT shall issue the 'END SMS MODE' indication (clause 2.4.2.11) and exit the SMS/CBS mode immediately.
The MT may also indicate that it has exit from the SMS/CBS mode through the use of CT 107 and
CT 109 (see clause 1.1).
A BREAK condition in either direction at the DTE/DCE interface shall cause the TE and the MT to exit from the
SMS/CBS block mode and return to the default mode.
In the event where the TE or the MT find themselves unable to recover from a protocol error then either entity may exit
the SMS/CBS mode using any of the mechanisms described above. Confirmation of default mode operation will be
achieved through the use of AT commands and responses.
2.2
Protocol description
The communication path between the MT and the TE across the DTE/DCE interface should be quite reliable if it uses a
short wire link. However, to ensure that the low error rate does not cause malfunction, the following error protection
scheme is provided.
Each message sent from the MT to the TE or vice-versa consists of a data block (DATA) and block check sum (BCS,
see figure 2.2.1). In the following description the notation DLE, STX, NUL and ETX refer to control characters having
the values 10 02 00 and 03 hexadecimal respectively.
<-----------------DATA-----------------> <- BCS ->
DLE
10H
STX
02H
Message content
DLE
10H
ETX
03H
BCS
MSB
BCS
LSB
Figure 2.2.1: Format of DTE/DCE interface messages
The data block consists of a start transmission sequence, set to 00010000 00000010 (10 02 hex), the message content as
defined below and an end transmission sequence, set to 00010000 00000011 (10 03 hex). The least significant bit of
each octet is always transmitted first.
The block check sum is calculated at the transmitter by adding all of the octets in the message content modulo 65536.
Each bit of the 16-bit result is then inverted, and 1 is added to the answer.
During transmission of the message content and the BCS octets, any occurrence of the value 10 hex (DLE) shall result
in an additional 'stuffing' octet of value 00 hex (NUL) being transmitted immediately following the octet containing 10
3GPP
Release 10
12
3GPP TS 27.005 V10.0.1 (2011-09)
hex. This is to ensure that the start and end markers are unambiguous. The receiver shall remove stuffing octets by
discarding any octet of value 00 hex (NUL) which immediately follows an octet of value 10 hex (DLE).
After removal of any stuffing octets, the receiver can check the BCS by adding all of the octets in the message content
and the 16-bit BCS modulo 65536. The correct result is 0000 hex. If any message is received with an incorrect BCS,
then the message is discarded. No response is sent over the DTE/DCE interface, but an indication may be provided to
higher layers within the receiving entity.
The transmitter shall only send DLE when it is followed by STX, NUL or ETX. Therefore, if the receiver sees a DLE
followed by anything else then the receiver shall assume that some data has been lost, and shall start to search for the
start marker. An unexpected end marker at the receiver shall also result in a search for a start marker. A start marker
shall always be treated as the start of a new block, regardless of which state the receiver is in.
Examples of state diagrams for a block receiver to implement this procedure are given in Annex B, together with an
example of coding and decoding a message.
Only one Command/Response transaction shall be permitted at any one time from any sending or receiving entity. It
shall however be possible for a Command/Response transaction from one entity to be initiated even if there is a
Command/Response transaction in progress from the other entity.
If an immediate response is expected to a message sent over the DTE/DCE interface, then the sending entity shall wait
10 s. If no response is received within this time, the sending entity shall repeat the message. The message shall be
repeated a maximum of 3 times, after which the sending entity shall exit from the SMS/CBS mode and provide an error
indication to the user.
If a message cannot be understood by the receiving entity even though it has a correct BCS, then it shall return an
UNABLE TO PROCESS message with cause value 'Command not understood'. The receipt of an UNABLE TO
PROCESS message should not in itself initiate re-transmission although re-transmission may take place due to the
timeout mechanism described earlier since an UNABLE TO PROCESS is deemed to be an invalid response. The
'Cause' may however be referred to a higher layer. An UNABLE TO PROCESS shall not be sent as the result of an
incorrect BCS.
2.3
Requesting messages already held in the Mobile
Termination
The TE may request the MT to provide SMS or CBS messages already stored. The TE will either request all messages,
or request a list of messages and subsequently ask for specific messages.
At the start of the SMS/CBS mode session, the MT shall number all messages contiguously, starting with message
number 1. These "Short Message References" are only valid for a single SMS/CBS MODE session and should not be
confused with the 3GPP TS 23.040 [3] TP-Message-Reference. Each message retains its Short Message Reference for
the duration of the SMS/CBS mode session. New messages will normally be given the lowest previously-unused Short
Message Reference. However, if all Short Message References have been used then the MT may reallocate Short
Message References previously allocated to now-deleted messages.
Short Message Reference 0 signifies that there are no messages in the MT. The value of 0 is used under the following
conditions:
-
When an INSERT SMS command is used to transfer an SM over the air interface and not store it in the MT then
the MT will return a Short Message Reference of 0 in the REQUEST CONFIRMED response and the ensuing
INSERT SMS COMPLETE / INSERT SMS FAILURE indications.
-
For Class 0 SM's which are not stored in the MT.
-
For TE specific SM's which are not stored in the MT.
If Message number 0 is requested by the TE, the MT will always return an error cause, but will also include the highest
valid Short Message Reference (see clause 2.3.2.1).
3GPP
Release 10
2.3.1
13
3GPP TS 27.005 V10.0.1 (2011-09)
Requesting List Of Messages
The TE may request the MT to provide a list of SMS and CBS messages currently stored in the mobile termination.
This is achieved by the LIST REQUEST command (clause 2.4.1.1). The MT divides the messages stored into groups of
5 (called pages) and transfers the first 5 in a MESSAGE LIST response (clause 2.4.2.1) containing message references
allocated by the MT, plus the relevant header information described in 3GPP TS 23.040 [3] and 3GPP TS 24.011 [6]
and 3GPP TS 23.041 [4] and 3GPP TS 24.012 [7].
If there are no messages stored in the MT, then the MESSAGE LIST response shall be empty.
The TE may then request further groups of up to 5 messages by repeating the LIST REQUEST command for pages 2, 3,
and so on. The MT will indicate that there are no more pages by responding with an empty MESSAGE LIST response.
2.3.2
Requesting Transfer Of Messages
The TE may request the transfer of one or more messages by means of the commands described below. The MT does
not delete messages which have been transferred. Messages can only be deleted by the DELETE MESSAGE command
(clause 2.4.1.9).
2.3.2.1
Requesting Transfer Of A Specific Message
The TE may request the MT to transfer a specific message by sending the GET MESSAGE command (clause 2.4.1.2),
including the appropriate message reference. The MT will provide the full message including header in a MESSAGE
response (clause 2.4.2.2). If the message reference is unallocated, then the GET MESSAGE FAILURE response is
returned with cause 'No such message' and the highest valid Message Reference (clause 2.4.2.3).
2.3.2.2
Requesting Transfer Of All Messages
The TE may request the MT to transfer all messages by sending the GET FIRST MESSAGE command (clause 2.4.1.3),
followed by the appropriate number of GET NEXT MESSAGE commands (clause 2.4.1.4).
The MT shall be able to transfer all messages one-by-one, starting with the 'first' and continuing with the 'next'. The
precise ordering of the messages is left to the MT implementation.
If the MT exits from SMS/CBS mode for any reason, then this information need not be retained.
On receipt of the GET FIRST MESSAGE command, the MT shall set a pointer to the first message, and transfer this
message using the MESSAGE response as described in clause 2.3.2.1.
On receipt of the GET NEXT MESSAGE command, the MT shall move the pointer to the first available message after
the last message transferred (using either GET FIRST MESSAGE, GET MESSAGE or GET NEXT MESSAGE), and
transfer this message using the MESSAGE response as described in clause 2.3.2.1.
If the MT receives a GET NEXT MESSAGE command when all messages have been transferred to the TE, or there are
no messages stored in the MT, then the GET MESSAGE FAILURE response shall be provided with the cause 'No such
message' (see clause 2.4.2.3).
If the TE receives an out of sequence message then it shall attempt to transfer the missing message using the GET
MESSAGE command before continuing with GET NEXT MESSAGE. If this attempt fails with the cause 'no such
message', it means that the message has been deleted, or it has been lost due to a failure at the MT.
The MT includes a LAST SHORT MESSAGE REFERENCE in the GET MESSAGE FAILURE response. This is so
that the TE can detect whether or not the last short message was received in error.
If the MT receives a GET NEXT MESSAGE command prior to receiving a GET FIRST MESSAGE or GET
MESSAGE command, then it shall continue as if the command had been GET FIRST MESSAGE (i.e. provide the 'first'
message and continue with the 'next' on receipt of the subsequent GET NEXT MESSAGE command).
3GPP
Release 10
2.3.3
14
3GPP TS 27.005 V10.0.1 (2011-09)
Requesting Diversion Of Incoming Messages
The TE may request the MT to transfer SMS or CBS messages directly from the air interface to the DTE/DCE interface,
by the following procedures. If messages are diverted then they are not stored in the MT. If messages are diverted and
there is no communication path to the TE (e.g. because it has been disconnected), the diversion shall be cancelled.
2.3.3.1
Requesting SMS Messages
The TE may request an indication of arrival of incoming SMS messages, or the direct transfer of incoming SMS
messages.
The TE requests new SMS messages by the TRANSFER INC SMS command (clause 2.4.1.5). This command will be
sent with parameters indicating whether all incoming SMS messages are to be transferred, or only those indicated as
being for the TE.
The MT shall confirm receipt of this command with a REQUEST CONFIRMED message provided there is memory
available to store SM's in the ME or the (U)SIM. If there is no memory available, the MT shall respond with 'unable to
process' with a cause value No memory.
The MT shall transfer incoming messages by the INC MESSAGE indication (clause 2.4.2.4).
For an INC MESSAGE which contains a Short Message (SMS) info element id, the TE shall acknowledge receipt of
the INC MESSAGE with an ACKNOWLEDGE MESSAGE (clause 2.4.1.12). The MT should not send another INC
MESSAGE which contains a Short Message (SMS) info element id to the TE whilst it is waiting for an
ACKNOWLEDGE MESSAGE.
In the event of the MT not receiving an ACKNOWLEDGE MESSAGE within a time specified by the MT manufacturer
the MT shall exit the SMS mode automatically after 'n' attempts to send the INC MESSAGE (where n is a number
specified by the MT manufacturer). The MT should attempt to store the unacknowledged SM or Status Report
(contained in the INC MESSAGE) in the MT or on the (U)SIM as appropriate.
The ACKNOWLEDGE MESSAGE sent from the TE to the MT must not delay the MT sending the RP-ACK defined in
3GPP TS 23.040 [3] (to the SC) for longer than the RP-ACK timeout specified in 3GPP TS 24.011 [6].
The TE requests the cessation of incoming message transfer by the same command, indicating no incoming messages.
The transfer of messages will automatically cease on exit of the SMS/CBS mode. Transfer shall not recommence until
a new request is issued by the TE.
2.3.3.2
Requesting CBS Messages
The TE may request the transfer of all cell broadcast messages directly from the air interface to the DTE/DCE interface.
This is achieved by the use of the TRANSFER INC CBS message (clause 2.4.1.7).
The MT shall confirm receipt of this command with a REQUEST CONFIRMED message.
After receipt of this command, the MT shall transfer all CBS pages as they arrive on the air interface, using the INC
MESSAGE indication (clause 2.4.2.4).
While the CBS pages are being transferred, any other indication or response required to be sent to the TE will take
precedence over the CBS pages. However, the MT shall not interrupt the transfer of a page to send other information
within the SMS/CBS mode (ie. the MT shall wait until a page boundary).
The transfer of messages will automatically cease on exit of the SMS/CBS mode.
a new request is issued by the TE.
2.3.3.3
Transfer shall not recommence until
Requesting indication of message arrival
If the TE requires an indication of incoming message arrival, the INDICATE INC SMS command (clause 2.4.1.6) shall
be used.
The MT shall confirm receipt of this command with a REQUEST CONFIRMED message.
3GPP
Release 10
15
3GPP TS 27.005 V10.0.1 (2011-09)
After receipt of this command, the MT shall indicate all incoming messages in the specified categories (unless they are
directly transferred) with the MESSAGE ARRIVED indication (clause 2.4.2.5). This indication shall be of the same
format as the MESSAGE LIST response described in clause 2.3.1.
The TE shall acknowledge receipt of the MESSAGE ARRIVED with an ACKNOWLEDGE MESSAGE.
(clause 2.4.1.12). The MT should not send another MESSAGE ARRIVED to the TE whilst it is waiting for an
ACKNOWLEDGE MESSAGE.
In the event of the MT not receiving an ACKNOWLEDGE MESSAGE within a time specified by the MT manufacturer
the MT shall exit the SMS mode automatically after 'n' attempts to send the MESSAGE ARRIVED (where n is a
number specified by the MT manufacturer). The MT should attempt to store the unacknowledged SM or Status Report
in the MT or on the (U)SIM as appropriate.
The ACKNOWLEDGE MESSAGE sent from the TE to the MT must not delay the MT sending the RP-ACK defined in
3GPP TS 23.040 [3] (to the SC) for longer than the RP-ACK timeout specified in the 3GPP TS 24.011 [6].
The TE requests the cessation of incoming message indication by the INDICATE INC SMS command, with the 'no
incoming messages' parameter.
2.3.4
Requesting Transfer Into Mobile Termination
The TE may request transfer of SMS messages into the mobile termination.
transferred in this direction.
Cell broadcast messages cannot be
The TE shall use the INSERT SMS command (clause 2.4.1.8) to transfer the message. This command shall indicate
whether the message is to be stored in the MT, sent over the air interface or both. The command shall include the full
SMS message and header as described in 3GPP TS 23.040 [3], except for the message reference and message type
indication (which are allocated by the MT).
Only one INSERT SMS command may be outstanding at any given instant. An INSERT SMS is deemed complete
when an INSERT SMS COMPLETE or an INSERT SMS FAILURE indication has been received irrespective of
whether an intermediate REQUEST CONFIRMED has been received.
Upon receipt of an INSERT SMS command, the MT shall act in the following way:
If the TE requested the MT to store the message, the MT shall attempt to store the message. If the attempt is
successful, the MT shall return an INSERT SMS COMPLETE indication (clause 2.4.2.6), including the message
reference allocated by the MT. If the attempt fails (eg. due to lack of memory), the MT shall return an INSERT SMS
FAILURE indication (clause 2.4.2.7), providing a cause for the failure.
If the TE requested the MT to send the message, the MT shall respond immediately with a REQUEST CONFIRMED
message, and attempt to send the message. If the send attempt subsequently succeeds, the MT shall send an INSERT
SMS COMPLETE indication, including the message references allocated by the MT. If the send attempt subsequently
fails, the MT shall return an INSERT SMS FAILURE indication, providing a cause for the failure.
If the TE requested the MT to store and send the message, the MT shall first attempt to store the message. If no storage
is available, the MT shall return an INSERT SMS FAILURE indication (clause 2.4.2.7) and shall not attempt to send
the message. If storage is available, the MT shall store the message and then respond with a REQUEST CONFIRMED
message. If the send attempt is successful, the MT shall return an INSERT SMS COMPLETE indication
(clause 2.4.2.6), including the message references allocated by the MT. If the transmission of the message fails, then the
MT shall return an INSERT SMS FAILURE indication (clause 2.4.2.7). This will show that the send attempt failed and
provide a cause. After that the MT shall delete the stored message.
2.3.5
Requesting Deletion Of Messages
The TE may request deletion of SMS or CBS messages from the store in the MT. This is achieved by the DELETE
MESSAGE command (clause 2.4.1.9). The command will include a message reference, as defined by the MT and
provided in the message list.
Upon receipt of this command, the MT shall attempt to delete the message. If successful, the MT shall return a
DELETE MESSAGE COMPLETE indication (clause 2.4.2.8). If not successful, the MT shall return a DELETE
MESSAGE FAILURE indication (clause 2.4.2.9).
3GPP
Release 10
16
3GPP TS 27.005 V10.0.1 (2011-09)
On successful deletion of an SM or CBS message the Page Index (see clause 2.5.2.10) and the Index Count (see
clause 2.5.2.8) shall be re-assigned so that their values are contiguous (i.e. there are no gaps in either parameter). The
original short message Reference values remain unchanged.
2.4
Message functional definitions and contents
This clause provides an overview of the message structure to be used over the DTE/DCE interface in SMS/CBS block
mode. Each message definition includes a brief description of the use of the message, and a table showing all the
information elements which may be included in the message. If an entity receives a message containing more
information elements than expected then the receiving entity shall ignore the additional information elements. For each
information element the following data are provided.
Reference - this indicates where the detailed description of each element can be found.
Presence:
M
Mandatory
must always be present
receiver: If not present, consider message erroneous
C
Conditional
presence depending on e.g.
a) value of other element
b) presence of optional element
receiver: If not present when condition met, consider message
O
erroneous
Optional
presence is a choice of the sender
receiver: present or not, accept message
Format:
T
V
TV
LV
TLV
Type only, fixed length, only IEI
Value only, fixed length, no IEI included
Type and value, fixed length, IEI included
Length and value, variable length, no IEI included and Length indicator included
Type, Length and Value, variable length, IEI and length indicator included
Length - this indicates the length of the information element in octets.
2.4.1
Commands Issued By The Terminal Equipment
Table 2.4.1 summarises the commands which may be issued by the TE.
Table 2.4.1: Commands which may be issued by the TE
Reference
2.4.1.1
2.4.1.2
2.4.1.3
2.4.1.4
2.4.1.5
2.4.1.6
2.4.1.7
2.4.1.8
2.4.1.9
2.4.1.10
2.4.1.11
2.4.1.12
LIST REQUEST
GET MESSAGE
GET FIRST MESSAGE
GET NEXT MESSAGE
TRANSFER INC SMS
INDICATE INC SMS
TRANSFER INC CBS
INSERT SMS
DELETE MESSAGE
UNABLE TO PROCESS
END SMS MODE
ACKNOWLEDGE MESSAGE
3GPP
Release 10
2.4.1.1
17
3GPP TS 27.005 V10.0.1 (2011-09)
List Request
This message is sent by the TE to the MT to request a list of messages stored in the MT.
Information element
Message Type
Page Index
2.4.1.2
Reference
2.5.1
2.5.2.10
Presence
M
M
Format
V
V
Length
1
1
Get Message
This message is sent by the TE to the MT to request transfer of a specific SMS or CBS message stored in the MT.
Information element
Message Type
Short Message Reference
2.4.1.3
Reference
2.5.1
2.5.2.1
Presence
M
M
Format
V
V
Length
1
1
Get First Message
This message is sent by the TE to the MT to request transfer of the first available SMS or CBS message stored in the
MT.
Information element
Message Type
2.4.1.4
Reference
2.5.1
Presence
M
Format
V
Length
1
Get Next Message
This message is sent by the TE to the MT to request transfer of the next available SMS or CBS message stored in the
MT.
Information element
Message Type
2.4.1.5
Reference
2.5.1
Presence
M
Format
V
Length
1
Transfer Inc SMS
This message is sent by the TE to the MT to request the direct transfer of incoming messages from the air interface to
the TE.
Information element
Message Type
SMS Transfer Type
2.4.1.6
Reference
2.5.1
2.5.2.2
Presence
M
M
Format
V
V
Length
1
1
Indicate Inc SMS
This message is sent by the TE to the MT to request that the MT indicates when an incoming message arrives.
Information element
Message Type
Indication Type
Reference
2.5.1
2.5.2.3
3GPP
Presence
M
M
Format
V
V
Length
1
1
Release 10
2.4.1.7
18
3GPP TS 27.005 V10.0.1 (2011-09)
Transfer Inc CBS
This message is sent by the TE to the MT to request transfer of all cell broadcast messages directly from the air
interface to the DTE/DCE interface.
Information element
Message Type
CBS Transfer Type
2.4.1.8
Reference
2.5.1
2.5.2.9
Presence
M
M
Format
V
V
Length
1
1
Insert SMS
This message is sent by the TE to the MT to request the transfer of an SMS TPU to the MT memory or across the air
interface. The TPDU is formatted in exactly the same way as described in 3GPP TS 23.040 [3]. Where the TPDU
includes a TP-Message-Reference which is to be incremented by the MT for every outgoing message, the TP-MessageReference provided by the TE will be overwritten by the MT before transmission of the message. The value provided
by the TE is discarded by the MT and has no significance.
Information element
Message Type
Insert Type
RP-Destination-Address
Reference
Presence
Format
Length
2.5.1
M
V
1
2.5.2.4
M
V
1
3GPP TS 24.011 M
LV
1-12 a)
[6]
SMS-TPDU
3GPP TS 23.040 M
V
max 164
[3]
a)
If no RP-Destination-Address is to be transferred then the length is set to 0. In this case, the MT inserts
the default SC address.
2.4.1.9
Delete message
This message is sent from the TE to the MT to request deletion of a specific SMS or CBS message held in the MT.
Information element
Message Type
Short Message Reference
2.4.1.10
Reference
2.5.1
2.5.2.1
Presence
M
M
Format
V
V
Length
1
1
Unable to process
This response is sent from the TE to the MT to indicate that the MT's message could not be processed.
Information element
Message Type
Cause
2.4.1.11
Preference
2.5.1
2.5.2.7
Presence
M
M
Format
V
V
Length
1
1
End SMS Mode
This message is sent from the TE to the MT to terminate the SMS/CBS mode of the DTE/DCE interface.
Information element
Message Type
Reference
2.5.1
3GPP
Presence
M
Format
V
Length
1
Release 10
2.4.1.12
19
3GPP TS 27.005 V10.0.1 (2011-09)
Acknowledge Message
This message is sent from the TE to the MT to acknowledge receipt of a INC MESSAGE or MESSAGE ARRIVED
which contains a Short Message (SMS) info element id, (e.g. a Short Message or a Status Report but not a CBS
message.
Information element
Message Type
SM-Deliver-Ack
2.4.2
Reference
2.5.1
2.5.2.14
Presence
M
O
Format
V
TLV
Length
1
2 to 160
Responses/Indications Issued By The MT
Table 2.4.2 summarises the responses/indications which may be issued by the MT.
Table 2.4.2: Responses/Indications which may be issued by the MT
Reference
2.4.2.1
2.4.2.2
2.4.2.3
2.4.2.4
2.4.2.5
2.4.2.6
2.4.2.7
2.4.2.8
2.4.2.9
2.4.2.10
2.4.2.11
2.4.2.12
MESSAGE LIST
MESSAGE
GET MESSAGE FAILURE
INC MESSAGE
MESSAGE ARRIVED
INSERT SMS COMPLETE
INSERT SMS FAILURE
DELETE MESSAGE COMPLETE
DELETE MESSAGE FAILURE
UNABLE TO PROCESS
END SMS MODE
REQUEST CONFIRMED
2.4.2.1
Message List
This response is sent from the MT to the TE on receipt of a LIST REQUEST from the TE.
Information element
Message Type
Page Index
Index Count
Short Message Index (1)
Short Message Index (2)
Reference
2.5.1
2.5.2.10
2.5.2.8
2.5.2.5
2.5.2.5
:
Short Message Index (n)
Presence
M
M
M
O
O
:
Format
V
V
V
TLV
TLV
:
2.5.2.5
O
Length
1
1
1
8-48
8-48
:
TLV
:
8-48
The number of Short Message Indices included in the message may be 0, 1, 2, 3, 4 or 5.
2.4.2.2
Message
This response is sent from the MT to the TE when a short message has been requested.
Information element
Message Type
Short Message Data
Reference
2.5.1
2.5.2.6
3GPP
Presence
M
M
Format
V
TLV
Length
1
28-181
Release 10
2.4.2.3
20
3GPP TS 27.005 V10.0.1 (2011-09)
Get Message Failure
This response is sent from the MT to the TE when a request for a short message cannot be fulfilled.
Information element
Message Type
Last Short Message
Cause
2.4.2.4
Reference
2.5.1
2.5.2.11
2.5.2.7
Presence
M
M
M
Format
V
V
V
Length
1
1
1
Inc Message
This indication is sent from the MT to the TE after the MT has been requested to transfer messages of certain categories
immediately upon receipt.
Information element
Message Type
Short Message Data
2.4.2.5
Reference
2.5.1
2.5.2.6
Presence
M
M
Format
V
TLV
Length
1
28-181
Message Arrived
This indication is sent from the MT to the TE after the MT has been requested to provide an indication of the receipt of
certain categories of incoming message.
Information element
Message Type
Short Message Index
2.4.2.6
Reference
2.5.1
2.5.2.5
Presence
M
M
Format
V
TLV
Length
1
8-48
Insert SMS Complete
This response is sent by the MT to the TE to indicate that the TE's request to insert a message has been completed.
Information element
Message Type
Short Message Reference
TP-Message Reference
Reference
Presence
Format
Length
2.5.1
M
V
1
2.5.2.1
M
V
1
3GPP TS 23.040 C a)
V
1
[3]
SM-Submit-Ack
2.5.2.15
O
TLV
2 to 160
a)
The TP-Message Reference is only included if the message had been requested to be transferred over
the air interface.
2.4.2.7
Insert SMS Failure
This response is sent from the MT to the TE to indicate that the attempt to insert an SMS message failed.
Information element
Message Type
Cause
TP-Failure Cause
Short Message Reference
Reference
2.5.1
2.5.2.7
2.5.2.13
2.5.2.1
3GPP
Presence
M
M
O
O
Format
V
V
TLV
TV
Length
1
1-2
4
2
Release 10
2.4.2.8
21
3GPP TS 27.005 V10.0.1 (2011-09)
Delete Message Complete
This response is sent from the MT to the TE to indicate that the request to delete a message from the MT store has been
completed.
Information element
Message Type
Short Message Reference
2.4.2.9
Reference
2.5.1
2.5.2.1
Presence
M
M
Format
V
V
Length
1
1
Delete Message Failure
This response is sent from the MT to the TE to indicate that the request to delete a message from the MT store failed.
Information element
Message Type
Short Message Reference
Cause
2.4.2.10
Reference
2.5.1
2.5.2.1
2.5.2.7
Presence
M
M
M
Format
V
V
V
Length
1
1
1
Unable To Process
This response is sent from the MT to the TE to indicate that the TE's request could not be processed.
Information element
Message Type
Cause
2.4.2.11
Reference
2.5.1
2.5.2.7
Presence
M
M
Format
V
V
Length
1
1
End SMS Mode
This indication is sent from the MT to the TE when the MT autonomously exits from SMS/CBS mode.
Information element
Message Type
Cause
2.4.2.12
Reference
2.5.1
2.5.2.7
Presence
M
M
Format
V
V
Length
1
1
Request Confirmed
This indication is sent from the MT to the TE to indicate that the MT has received the request from the TE and will
perform the requested function.
Information element
Message Type
Confirm Type
Short Message Reference
2.5
Reference
2.5.1
2.5.2.12
2.5.2.1
Presence
M
M
O
Format
V
V
TV
Length
1
1
2
General message format and information elements coding
This clause describes the content of messages for the SMS/CBS mode of the DTE/DCE interface. Within the figures in
this clause, the bit designated "bit 1" is transmitted first, followed by bits 2, 3, 4, etc. Similarly, the octet shown at the
top of each figure is sent first.
2.5.1
Message Type
The purpose of the message type is to identify the function of the message being sent. The message type is coded as
shown in figure 2.5.1 and table 2.5.1.
Bit 8 is reserved for possible future use as an extension bit.
3GPP
Release 10
22
8
0
7
6
5
4
Message Type
3
3GPP TS 27.005 V10.0.1 (2011-09)
2
1
octet 1
Figure 2.5.1: Message Type
Table 2.5.1: Message Types
8 7
6
5
4
3
2
1
0 0
0
-
-
-
-
-
Commands/ Responses issued by TE
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
LIST REQUEST
GET MESSAGE
GET FIRST MESSAGE
GET NEXT MESSAGE
TRANSFER INC SMS
INDICATE INC SMS
TRANSFER INC CBS
INSERT SMS
DELETE MESSAGE
UNABLE TO PROCESS
END SMS MODE
ACKNOWLEDGE MESSAGE
0 0
1
-
-
-
-
-
Responses/Indications issued by MT
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
MESSAGE LIST
MESSAGE
GET MESSAGE FAILURE
INC MESSAGE
MESSAGE ARRIVED
INSERT SMS COMPLETE
INSERT SMS FAILURE
DELETE MESSAGE COMPLETE
DELETE MESSAGE FAILURE
UNABLE TO PROCESS
REQUEST CONFIRMED
END SMS MODE
0
0
0
0
0
0
0
0
0
0
0
0
All other values are reserved. If a reserved Message Type is received then the receiving entity shall
return "Unable to Process" with Cause "Command not understood".
2.5.2
Other Information Elements
Other information elements follow the general coding principles specified in 3GPP TS 24.008 [5], and are described in
the following clauses.
2.5.2.1
Short Message Reference
The Short Message Reference uniquely identifies a short message stored in the MT. It is an 8 bit number and is
allocated by the MT.
The Short Message Reference information element is coded as shown in figure 2.5.2 and table 2.5.2.
8
0
7
6
5
4
3
2
1
0
0
0
0
0
0
0
Short Message Reference info element id
Short Message Reference value
octet 1
octet 2
Figure 2.5.2: Short Message Reference information element
3GPP
Release 10
23
3GPP TS 27.005 V10.0.1 (2011-09)
Table 2.5.2: Short Message Reference information element
Short Message Reference value (octet 2).
In the Short Message Reference value field bit 8 of octet 2 is the most significant bit and bit 1 of octet 2 is the
least significant bit.
Short Message Reference values are allocated by the MT.
2.5.2.2
SMS Transfer Type
The SMS Transfer Type indicates to the MT which SMS messages are required to be transferred to the TE.
The SMS Transfer Type information element is coded as shown in figure 2.5.3 and table 2.5.3.
8
0
7
0
6
5
4
3
2
1
0
0
0
0
0
1
SMS Transfer Type info element ident
0
0
0
0
SMS Txfr
Reserved
Type value
0
octet 1
octet 2
Figure 2.5.3: SMS Transfer Type information element
Table 2.5.3: SMS Transfer Type information element
SMS Txfr Type value (octet 2).
The SMS txfr type is coded as follows:
bit 2
0
0
bit 1
0
1
1
1
0
1
Transfer no SMS messages
Transfer SMS messages marked as
TE-specific
Reserved
Transfer all SMS messages
Bit 3 shows whether to transfer SMS-STATUS-REPORTS
Bit 3
0
1
Do not transfer SMS-STATUS-REPORTS
Transfer SMS-STATUS-REPORTS
A receiving entity shall ignore the setting of bits 8-4. If bit 2 is set to 1 and bit 1 is set to 0 then the receiving
entity shall return "Unable to Process" with cause "Command Not Understood"
2.5.2.3
Indication Type
The Indication Type tells the MT when to notify the TE that an incoming message has been received.
The Indication Type information element is coded as shown in figure 2.5.4 and table 2.5.4.
8
0
0
7
0
6
5
4
3
2
1
0
0
0
0
1
0
Indication Type info element identifier
0
0
0
Indication Type
Reserved
value
octet 1
octet 2
Figure 2.5.4: Indication Type information element
3GPP
Release 10
24
3GPP TS 27.005 V10.0.1 (2011-09)
Table 2.5.4: Indication Type information element
Indication Type value (octet 2).
The indication type is coded as follows:
bit 3
0
0
0
0
bit 2
0
0
1
1
bit 1
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
1
Indicate no messages
Reserved
Indicate all SMS messages
Indicate SMS messages marked as
TE-specific
Indicate all CBS messages
Indicate CBS messages marked as
TE-specific
Indicate all CBS and SMS messages
Indicate SMS and CBS messages marked
as TE-specific
Bit 4 shows whether or not to indicate SMS reports:
bit 4
0
1
Do not indicate SMS reports
Indicate SMS reports
A receiving entity shall ignore the setting of bits 8-5. If bits 3 and 2 are set to 0 and bit 1 is set to 1 then the
receiving entity shall return "Unable to Process" with cause "Command Not Understood".
2.5.2.4
Insert Type
The Insert Type tells the MT what to do with the short message arriving from the TE.
The Insert Type information element is coded as shown in figure 2.5.5 and table 2.5.5
8
0
7
0
0
0
6
5
4
3
2
1
0
0
0
0
1
1
Insert Type info element identifier
0
0
0
0
Insert
Reserved
Type value
octet 1
octet 2
Figure 2.5.5: Insert Type information element
Table 2.5.5: Insert Type information element
Insert Type value (octet 2).
The insert type is coded as follows:
bit 2
0
0
1
1
bit 1
0
1
0
1
Reserved
Store the short message in the MT
Send the short message over the air
Store the short message in the MT and send it over the air
A receiving entity shall ignore the setting of bits 8-3. If bits 2 and 1 are set to 0 then the receiving entity
shall return "Unable to Process" with cause "Command Not Understood"
3GPP
Release 10
2.5.2.5
25
3GPP TS 27.005 V10.0.1 (2011-09)
Short Message Index
The Short Message Index provides information about each individual short message currently stored in the MT. Two
types of Short Message index are provided; one for SMS and one for CBS.
The Short Message Index (SMS) information element is coded as shown in figure 2.5.6 and table 2.5.6. A Short
Message Index may be an SMS-SUBMIT, an SMS-DELIVER or an SMS-STATUS-REPORT.
The Short Message Index (CBS) information element is coded as shown in figure 2.5.7 and table 2.5.7.
8
0
7
6
5
4
3
2
1
0
0
0
0
1
0
0
Short Message Index (SMS) info element id
Length of Short Message Index
Short Message Reference value
Short Message Status
Service Centre Address
Short Message Header (SMS)
octet 1
octet 2
octet 3
octet 4
octets
5-n
octets
n+1 - n+31
Figure 2.5.6: Short Message Index (SMS) information element
NOTE:
n can take a value between 5 and 18 (inclusive).
Table 2.5.6: Short Message Index (SMS) information element
Short Message Reference value (octet 3).
The Short Message Reference value is coded as specified in table 2.5.2.
Short Message Status (octet 4).
The Short Message Status is coded as follows:
8
7
6
5
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
All other values are reserved.
2
0
0
0
0
1
1
1
0
1
0
1
0
1
Not read/not sent
Read/Sent
Not Read
Read
Not Sent
Sent
The receiving entity shall ignore the setting of bits 8-4.
In addition, if bit 3 is set to 0 then a receiving entity shall ignore the setting of bit 2. Where bit 3 is set to 0,
if the message is mobile originated then bit 1 indicates whether the message has been sent to the network. If the
message is mobile terminated then bit 1 indicates whether the message has been read.
Service Centre Address (Octets 5-n).
The Service Centre Address is coded as the RP-Origination or RP-Destination address specified in 3 TS 24.011
[6]. If the short message is mobile originated, the address will be the RP-Destination address. If the short
message is mobile terminated, the address will be the RP-Origination address. The address is of variable
length, 1-12 octets.
Short Message Header (SMS) (Octets n+1 - n+31).
The Short Message Header (SMS) is coded as a TPDU as described in 3GPP TS 23.040 [3]. In the case of
SMS-DELIVER or SMS-SUBMIT, the TP-User-Data is not included, but the TP-User-Data-Length is
included. The Short Message Header is of variable length, 6-31 octets.
3GPP
Release 10
26
8
0
7
6
5
4
3
2
1
0
0
0
0
1
0
1
Short Message Index (CBS) info element id
Short Message Reference value
Short Message Header (CBS)
3GPP TS 27.005 V10.0.1 (2011-09)
octet 1
octet 2
octets
3-8
Figure 2.5.7: Short Message Index (CBS) information element
Table 2.5.7: Short Message Index (CBS) information element
Short Message Reference value (octet 2).
The Short Message Reference value is coded as specified in table 2.5.2.
Short Message Header (CBS) (Octets 3-8).
The Short Message Header (CBS) is coded as described in 3GPP TS 23.041. [4], including SEQUENCE
NUMBER, MESSAGE IDENTIFIER, ALPHABET IDENTIFIER and PAGE PARAMETER, but excluding
the characters of the message.
2.5.2.6
Short Message Data
The Short Message Data information element is a copy of a short message currently stored in the MT. Two types of
Short Message Data information element are provided; one for SMS and one for CBS.
The Short Message Data (SMS) information element is coded as shown in figure 2.5.8 and table 2.5.8. Short Message
Data may be an SMS-SUBMIT, an SMS-DELIVER or an SMS-STATUS-REPORT.
The Short Message Data (CBS) information element is coded as shown in figure 2.5.9 and table 2.5.9.
8
0
7
6
5
4
3
2
1
0
0
0
0
1
1
0
Short Message Data (SMS) info element id
Length of Short Message Data
Short Message Reference value
Short Message Status
Service Centre Address
Short Message (SMS)
octet 1
octet 2
octet 3
octet 4
octets
5-n
octets
n+1-n+164
Figure 2.5.8: Short Message Data (SMS) information element
NOTE:
n can take a value between 5 and 18 (inclusive).
3GPP
Release 10
27
3GPP TS 27.005 V10.0.1 (2011-09)
Table 2.5.8: Short Message (SMS) information element
Short Message Reference value (octet 3).
The Short Message Reference value is coded as specified in table 2.5.2.
Short Message Status (octet 4).
The Short Message Status is coded as follows:
8
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
1
1
1
2
0
0
0
0
1
1
1
0
1
0
1
0
1
Not read/not sent
Read/Sent
Not Read
Read
Not Sent
Sent
All other values are reserved.
The receiving entity shall ignore the setting of bits 8-4.
In addition, if bit 3 is set to 0 then a receiving entity shall ignore the setting of bit 2.
Where bit 3 is set to 0, if the message is mobile originated then bit 1 indicates whether the message has been
sent to the network. If the message is mobile terminated then bit 1 indicates whether the message has been
read.
Service Centre Address (Octets 5-n).
The Service Centre Address is coded as the RP-Origination-Address or RP-Destination Address specified in
3GPP TS 23.040 [3].
If the short message is mobile originated, the address will be the RP-Destination address. If the short message
is mobile terminated, the address will be the RP-Origination Address. The address is of variable length, 1-12
octets.
Short Message (SMS) (Octets n+1 - n+164).
The Short Message (SMS) is coded as a TPDU as described in 3GPP TS 23.040 [3].
The Short Message is of variable length, 6-164 octets.
8
0
7
6
5
4
3
2
1
0
0
0
0
1
1
1
Short Message Data (CBS) info element id
Short Message Reference value
Short Message (CBS)
octet 1
octet 2
octets
3-90
Figure 2.5.9: Short Message Data (CBS) information element
Table 2.5.9: Short Message Data (CBS) information element
Short Message Reference value (octet 2).
The Short Message Reference value is coded as specified in table 2.5.2.
Short Message (CBS) (Octets 3-90).
The Short Message (CBS) is coded as described in 3GPP TS 23.041 [4], including SEQUENCE NUMBER,
MESSAGE IDENTIFIER, ALPHABET IDENTIFIER, PAGE PARAMETER and CHARACTERS OF THE
MESSAGE.
3GPP
Release 10
28
2.5.2.7
3GPP TS 27.005 V10.0.1 (2011-09)
Cause
The Cause information element provides more detail as to why an error has occurred.
The Cause information element is coded as shown in figure 2.5.10 and table 2.5.10.
8
0
7
0
0
ext
6
5
4
3
2
0
0
1
0
0
Cause information element identifier
1
0
octet 1
octet 2
Cause value
3GPP TS 24.011 [6] RP-Cause value
octet 3
Figure 2.5.10: Cause information element
Table 2.5.10: Cause information element
Cause value (octet 2).
The cause is coded as follows:
8
0
7
0
6
0
5
0
4
0
3
0
2
0
1
0
-
0
0
0
0
0
0
0
1
-
0
0
0
0
0
0
1
0
-
0
0
0
0
0
0
1
1
-
0
0
0
0
0
1
0
0
-
0
0
0
0
0
1
0
1
-
0
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
-
No such message
- no short message exists with the
provided shortmessage reference
No memory
- the short message cannot be stored
due to lack of memory
No air interface
- submission of the short message
cannot be attempted because the
mobile is out of coverage
Receiving entity busy
- the request was not fulfilled because
the Receiving entity is busy on
another task
Command not understood
- error in the coding of the command, or
command belongs to higher version of
protocol of protocol than that implemented
Incoming data call
- Incoming data call forces MT to exit from
SMS mode
User-invoked exit
- User has taken MT out of SMS by MMI
Other error
- Any other error not covered here1 0 0 0 0 1 1 1
Message Transfer failed
-
- The SMS transfer to the SC failed and the
3GPP TS 24.011 [6] error cause is provided in octet 3
All other values are reserved.
A receiving entity shall treat any reserved codings as "other error".
3GPP TS 24.011 [6] RP-Cause value (octet 3)
If this element is included then bit 8 of octet 2 is set to '1'. The error cause included in the RP-Cause over the
air interface is directly mapped into this element. This element is only included if the MT attempts to send a
short message to the network and that send attempt fails.
3GPP
Release 10
2.5.2.8
29
3GPP TS 27.005 V10.0.1 (2011-09)
Index Count
The Index Count identifies the number of short message indices contained in a MESSAGE LIST response from the MT
to the TE. It is an 8 bit number.
The Index Count information element is coded as shown in figure 2.5.11 and table 2.5.11.
8
0
7
0
6
5
4
3
2
1
0
0
1
0
0
1
Index Count information element ident
Index Count value
octet 1
octet 2
Figure 2.5.11: Index Count information element
Table 2.5.11: Index Count information element
Index Count value (octet 2).
In the Index Count field bit 8 of octet 2 is the most significant bit and bit 1 of octet 2 is the least significant bit.
2.5.2.9
CBS Transfer Type
The CBS Transfer Type indicates to the MT which CBS messages are required to be transferred to the TE.
The CBS Transfer Type information element is coded as shown in figure 2.5.12 and table 2.5.12.
8
0
0
7
0
6
5
4
3
2
1
0
0
1
0
1
0
CBS Transfer Type info element ident
0
0
0
0
0
CBS Txfr
Reserved
Type value
octet 1
octet 2
Figure 2.5.12: CBS Transfer Type information element
Table 2.5.12: CBS Transfer Type information element
CBS Txfr Type value (octet 2).
The CBS txfr type is coded as follows:
bit 2
0
0
1
1
bit 1
0
1
0
1
Transfer no CBS messages
Transfer CBS messages marked as TE-specific
Reserved
Transfer all CBS messages
A receiving entity shall ignore the setting of bits 8-3. If bit 2 is set to 1 and bit 1 is set to 0 then the receiving
entity shall return "Unable to Process" with cause "Command Not Understood"
2.5.2.10
Page Index
The Page Index indicates to the MT which Page of SMS Indices is required to be transferred. It also indicates to the
TE which Page of SMS Indices is being transferred.
The Page Index information element is coded as shown in figure 2.5.13 and table 2.5.13.
3GPP
Release 10
30
8
0
7
0
6
5
4
3
2
0
0
1
0
1
Page Index info element ident
Page Index value
0
0
Reserved
3GPP TS 27.005 V10.0.1 (2011-09)
1
1
octet 1
octet 2
Figure 2.5.13: Page Index information element
Table 2.5.13: Page Index information element
Page Index value (octet 2).
In the Page Index field bit 6 of octet 2 is the most significant bit and bit 1 of octet 2 is the least significant bit.
The Page Index can have a value from 1 to 51.
A receiving entity shall ignore the setting of bits 8 and 7. If the Page Index field has a value of 0 or a value
greater than 51 then the receiving entity shall return "Unable to Process" with cause "Command Not
Understood"
2.5.2.11
Last Short Message
The Last Short Message field indicates to the TE the highest value of Short Message Reference which points to a valid
message stored in the MT. The value 0 signifies that there are no short messages stored in the MT.
The Last Short Message information element is coded as shown in figure 2.5.14 and table 2.5.14.
8
0
7
0
6
5
4
3
2
1
0
0
1
1
0
0
Last Short Message info element ident
Last Short Message value
octet 1
octet 2
Figure 2.5.14: Last Short Message information element
Table 2.5.14: Last Short Message information element
Last Short Message value (octet 2).
In the Last Short Message field bit 8 of octet 2 is the most significant bit and bit 1 of octet 2 is the least
significant bit. The Last Short Message can have a value from 0 to 255.
2.5.2.12
Confirm Type
The Confirm Type field indicates the message to which the REQUEST CONFIRM is a response.
The Confirm Type information element is coded as shown in figure 2.5.15 and table 2.5.15.
8
0
7
0
6
5
4
3
2
0
0
1
1
0
Confirm Type info element ident
Confirm Type value
1
1
octet 1
octet 2
Figure 2.5.15: Confirm Type information element
3GPP
Release 10
31
3GPP TS 27.005 V10.0.1 (2011-09)
Table 2.5.15: Confirm Type information element
Confirm Type value (octet 2).
The Confirm Type is coded as follows:
8
0
7
0
6
0
5
0
4
0
3
0
2
0
1
0
0
0
0
0
0
0
0
1
Confirm request to transfer incoming
SMS messages
0
0
0
0
0
0
1
0
Confirm request to transfer incoming
CBS messages
0
0
0
0
0
0
1
1
Confirm request to indicate arrival of
messages in MT
0
0
0
0
0
1
0
0
Confirm request to attempt to send
short message (actual send is confirmed
later: see clause 3.3)
Reserved
All other values are reserved. If any reserved value is received then the receiving entity shall return "Unable to
Process" with cause value "Command Not Understood".
2.5.2.13
TP-Failure Cause
This optional field is present if provided by the Relay Layer. The TP-Failure Cause is provided from the Service Centre
and indicates to the TE the reason why the delivery of the message was unsuccessful. The TP-Failure cause information
element is coded as shown in figure 2.5.16 and table 2.5.16.
8
0
7
0
6
5
4
3
2
0
0
1
1
1
Cause information element identifier
Length of Failure cause field
Failure cause
1
0
octet 1
octet 2
octets 3-4
Figure 2.5.16: TP-Failure Cause information element
Table 2.5.16: TP-Failure Cause information element
Failure cause (octet 3-4)
The failure cause contained in this field is directly mapped from the TP-Failure Cause (TP-FCS) field of the
SMS-SUBMIT-REPORT message defined in 3GPP TS 23.040 [3].
2.5.2.14
SM-Deliver-Ack
This optional field is sent from the TE to the MT to convey the information to be inserted into the SMS-DELIVERREPORT RP-ACK TPDU sent by the MT to the SC as defined in 3GPP TS 23.040 [3].
8
0
7
6
5
4
3
2
1
0
0
0
1
1
1
1
SM-DELIVER-ACK information element identifier
Length of SMS-DELIVER-REPORT RP-ACK Field
03.40 SMS-DELIVER-REPORT RP-ACK
3GPP
octet 1
octet 2
octets 3-166
Release 10
2.5.2.15
32
3GPP TS 27.005 V10.0.1 (2011-09)
SM-Submit-Ack
This optional field is sent from the MT to the TE to convey the information to be inserted into the SMS-SUBMITREPORT RP-ACK TPDU sent by the SC to the MT as defined in 3GPP TS 23.040 [3].
8
0
7
6
5
4
3
2
1
0
0
1
0
0
0
0
SM-SUBMIT-ACK information element identifier
Length of SMS-SUBMIT-REPORT RP-ACK Field
03.40 SMS-SUBMIT-REPORT RP-ACK
3
Text Mode
3.1
Parameter Definitions
octet 1
octet 2
octets 3-166
The following parameters are used in the subsequent clauses which describe all commands. The formats of integer and
string types referenced here are defined in V.25ter. The default values are for command parameters, not for result code
parameters.
Message Storage Parameters
<index>
integer type; value in the range of location numbers supported by the associated memory
<mem1>
string type; memory from which messages are read and deleted (commands List Messages +CMGL, Read
Message +CMGR and Delete Message +CMGD); defined values (others are manufacturer specific):
"BM" broadcast message storage
"ME" ME message storage
"MT" any of the storages associated with ME
"SM" (U)SIM message storage
"TA" TA message storage
"SR" status report storage
<mem2>
string type; memory to which writing and sending operations are made (commands Send Message from
Storage +CMSS and Write Message to Memory +CMGW) ); refer <mem1> for defined values
<mem3>
string type; memory to which received SMs are preferred to be stored (unless forwarded directly to TE;
refer command New Message Indications +CNMI); refer <mem1> for defined values; received CBMs are
always stored in "BM" (or some manufacturer specific storage) unless directly forwarded to TE; received
status reports are always stored in "SR" (or some manufacturer specific storage) unless directly
forwarded to TE
<stat>
integer type in PDU mode (default 0), or string type in text mode (default "REC UNREAD"); indicates
the status of message in memory; defined values:
0 "REC UNREAD"
1 "REC READ"
received read message
2 "STO UNSENT"
3 "STO SENT"
4 "ALL"
received unread message (i.e. new message)
stored unsent message (only applicable to SMs)
stored sent message (only applicable to SMs)
all messages (only applicable to +CMGL command)
3GPP
Release 10
33
3GPP TS 27.005 V10.0.1 (2011-09)
<total1> integer type; total number of message locations in <mem1>
<total2> integer type; total number of message locations in <mem2>
<total3> integer type; total number of message locations in <mem3>
<used1>
integer type; number of messages currently in <mem1>
<used2>
integer type; number of messages currently in <mem2>
<used3> integer type; number of messages currently in <mem3>
Message Data Parameters
<ackpdu> 3GPP TS 23.040 [3] RP-User-Data element of RP-ACK PDU; format is same as for <pdu> in case of
SMS, but without 3GPP TS 24.011 [6] SC address field and parameter shall be bounded by double quote
characters like a normal string type parameter
<alpha>
string type alphanumeric representation of <da> or <oa> corresponding to the entry found in MT
phonebook; implementation of this feature is manufacturer specific; used character set should be the one
selected with command Select TE Character Set +CSCS (see definition of this command in 3GPP TS
27.007 [9])
<cdata>
3GPP TS 23.040 [3] TP-Command-Data in text mode responses; 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))
<ct>
3GPP TS 23.040 [3] TP-Command-Type in integer format (default 0)
<da>
3GPP TS 23.040 [3] TP-Destination-Address Address-Value field in string format; BCD numbers (or
GSM 7 bit default alphabet characters) are converted to characters of the currently selected TE character
set (refer command +CSCS in3GPP TS 27.007 [9]); type of address given by <toda>
<data>
In the case of SMS: 3GPP TS 23.040 [3] TP-User-Data in text mode responses; format:
-
-
if <dcs> indicates that 3GPP TS 23.038 [2] GSM 7 bit default alphabet is used and <fo> indicates that
3GPP TS 23.040 [3] TP-User-Data-Header-Indication is not set:
-
if TE character set other than "HEX" (refer command Select TE Character Set +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 GSM 7 bit default alphabet into
two IRA character long hexadecimal number (e.g. character Ψ (GSM 7 bit default alphabet decimal
23) is presented as 17 (IRA 49 and 55))
if <dcs> indicates that 8-bit or UCS2 data coding scheme is used, or <fo> indicates that 3GPP TS
23.040 [3] TP-User-Data-Header-Indication is set: 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 [4] CBM Content of Message in text mode responses; format:
-
-
if <dcs> indicates that 3GPP TS 23.038 [2] GSM 7 bit default alphabet is used:
-
if TE character set other than "HEX" (refer command +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
3GPP
Release 10
34
3GPP TS 27.005 V10.0.1 (2011-09)
<dcs>
depending on the command or result code: 3GPP TS 23.038 [2] SMS Data Coding Scheme (default
0), or Cell Broadcast Data Coding Scheme in integer format
<dt>
3GPP TS 23.040 [3] TP-Discharge-Time in time-string format: "yy/MM/dd,hh:mm:ss±zz", where
characters indicate year (two last digits), month, day, hour, minutes, seconds and time zone. E.g. 6th of
May 1994, 22:10:00 GMT+2 hours equals to "94/05/06,22:10:00+08"
<fo>
depending on the command or result code: first octet of 3GPP TS 23.040 [3] SMS-DELIVER, SMSSUBMIT (default 17), SMS-STATUS-REPORT, or SMS-COMMAND (default 2) in integer format
<length> integer type value indicating in the text mode (+CMGF=1) the length of the message body <data> > (or
<cdata>) in characters; or in PDU mode (+CMGF=0), the length of the actual TP data unit in octets (i.e.
the RP layer SMSC address octets are not counted in the length)
<mid>
3GPP TS 23.041 [4] CBM Message Identifier in integer format
<mn>
3GPP TS 23.040 [3] TP-Message-Number in integer format
<mr>
3GPP TS 23.040 [3] TP-Message-Reference in integer format
<oa>
3GPP TS 23.040 [3] TP-Originating-Address Address-Value field in string format; BCD numbers (or
GSM 7 bit default alphabet characters) are converted to characters of the currently selected TE character
set (refer command +CSCS in TS 07.07); type of address given by <tooa>
<page>
3GPP TS 23.041 [4] CBM Page Parameter bits 4-7 in integer format
<pages>
3GPP TS 23.041 [4] CBM Page Parameter bits 0-3 in integer format
<pdu>
In the case of SMS: 3GPP TS 24.011 [6] SC address followed by 3GPP TS 23.040 [3] TPDU in
hexadecimal format: ME/TA converts each octet of TP data unit 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 [4] TPDU in hexadecimal format
<pid>
3GPP TS 23.040 [3] TP-Protocol-Identifier in integer format (default 0)
<ra>
3GPP TS 23.040 [3] TP-Recipient-Address Address-Value field in string format; BCD numbers (or GSM
7 bit default alphabet characters) are converted to characters of the currently selected TE character set
(refer command +CSCS in 3GPP TS 27.007 [9]); type of address given by <tora>
<sca>
3GPP TS 24.011 [6] RP SC address Address-Value field in string format; BCD numbers (or GSM 7 bit
default alphabet characters) are converted to characters of the currently selected TE character set (refer
command +CSCS in 3GPP TS 27.007 [9]); type of address given by <tosca>
<scts>
3GPP TS 23.040 [3] TP-Service-Centre-Time-Stamp in time-string format (refer <dt>)
<sn>
3GPP TS 23.041 [4] CBM Serial Number in integer format
<st>
3GPP TS 23.040 [3] TP-Status in integer format
<toda>
3GPP TS 24.011 [6] TP-Destination-Address Type-of-Address octet in integer format (when first
character of <da> is + (IRA 43) default is 145, otherwise default is 129)
<tooa>
3GPP TS 24.011 [6] TP-Originating-Address Type-of-Address octet in integer format (default refer
<toda>)
<tora>
3GPP TS 24.011 [6] TP-Recipient-Address Type-of-Address octet in integer format (default refer
<toda>)
<tosca>
3GPP TS 24.011 [6] RP SC address Type-of-Address octet in integer format (default refer <toda>)
3GPP
Release 10
35
3GPP TS 27.005 V10.0.1 (2011-09)
<vp>
depending on SMS-SUBMIT <fo> setting: 3GPP TS 23.040 [3] TP-Validity-Period either in integer
format (default 167) or in time-string format (refer <dt>)
<vp>
depending on SMS-SUBMIT <fo> setting: 3GPP TS 23.040 [3] TP-Validity-Period either in integer
format (default 167), in time-string format (refer <dt>), or if EVPF is supported, in enhanced format
(hexadecimal coded string with double quotes)
3.2
General Configuration Commands
3.2.1
Select Message Service +CSMS
Parameter Command Syntax
Command
+CSMS=<service>
+CSMS?
+CSMS=?
Possible response(s)
+CSMS: <mt>,<mo>,<bm>
+CMS ERROR: <err>
+CSMS: <service>,<mt>,<mo>,<bm>
+CSMS: (list of supported <service>s)
Description
Set command selects messaging service <service>. It returns the types of messages supported by the ME: <mt> for
mobile terminated messages, <mo> for mobile originated messages and <bm> for broadcast type messages. If chosen
service is not supported by the ME (but is supported by the TA), final result code +CMS ERROR: <err> shall be
returned. See chapter Message Service Failure Result Code for a list of <err> values.
Also read command returns supported message types along the current service setting.
Test command returns a list of all services supported by the TA.
Defined Values
<service>:
0
3GPP TS 23.040 [3] and 3GPP TS 23.041 [4]
1
3GPP TS 23.040 [3] and 3GPP TS 23.041 [4]the requirement of <service> setting 1 is mentioned
under corresponding command descriptions)
2...127
reserved
128...
manufacturer specific
<mt>, <mo>, <bm>:
0 type not supported
1 type supported
Implementation
Mandatory if SMS is supported.
3.2.2
Preferred Message Storage +CPMS
Parameter Command Syntax
Command
+CPMS=<mem1>[,
<mem2>[,<mem3>]]
Possible response(s)
+CPMS: <used1>,<total1>,<used2>,<total2>,<used3>,<total3>
+CMS ERROR: <err>
3GPP
Release 10
36
+CPMS?
3GPP TS 27.005 V10.0.1 (2011-09)
+CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,
<mem3>,<used3>,<total3>
+CMS ERROR: <err>
+CPMS: (list of supported <mem1>s),(list of supported <mem2>s),
(list of supported <mem3>s)
+CPMS=?
Description
Set command selects memory storages <mem1>, <mem2> and <mem3> to be used for reading, writing, etc. If chosen
storage is not appropriate for the ME (but is supported by the TA), final result code +CMS ERROR: <err> shall be
returned. See chapter Message Service Failure Result Code for a list of possible <err> values.
Test command returns lists of memory storages supported by the TA.
Implementation
Mandatory if SMS is supported.
3.2.3
Message Format +CMGF
Parameter Command Syntax
Command
Possible response(s)
+CMGF=[<mode>]
+CMGF?
+CMGF=?
+CMGF: <mode>
+CMGF: (list of supported <mode>s)
Description
Set command tells the TA, which input and output format of messages to use. <mode> indicates the format of
messages used with send, list, read and write commands and unsolicited result codes resulting from received messages.
Mode can be either PDU mode (entire TP data units used) or text mode (headers and body of the messages given as
separate parameters). Text mode uses the value of parameter <chset> specified by command Select TE Character Set
+CSCS to inform the character set to be used in the message body in the TA-TE interface.
Test command returns supported modes as a compound value.
Defined Values
<mode>:
0 PDU mode (default when implemented)
1 text mode
Implementation
Mandatory if SMS is supported also when only one mode implemented.
3.2.4
Enter SMS Block Mode Protocol +CESP
Action Command Syntax
Command
Possible response(s)
+CESP
+CESP=?
Description
3GPP
Release 10
37
3GPP TS 27.005 V10.0.1 (2011-09)
Execution command sets the TA in SMS block protocol mode. The TA shall return OK (or 0) to confirm acceptance of
the command prior to entering the block mode (see clause 2.1.1). The final result code OK (or 0) shall be returned when
the block mode is exited.
NOTE:
Commands following +CESP in the AT command line must not be processed by the TA.
Implementation
Mandatory when block mode implemented.
3.2.5
Message Service Failure Result Code +CMS ERROR
Final result code +CMS ERROR: <err> indicates an error related to mobile equipment or network. The operation is
similar to ERROR result code. None of the following commands in the same command line is executed. Neither ERROR
nor OK result code shall be returned. ERROR is returned normally when error is related to syntax or invalid parameters.
Defined Values
<err> values used by common messaging commands:
0...127
128...255
300
301
302
303
304
305
310
311
312
313
314
315
316
317
318
320
321
322
330
331
332
340
500
...511
512...
3GPP TS 24.011 [6] clause E.2 values
3GPP TS 23.040 [3] clause 9.2.3.22 values.
ME failure
SMS service of ME reserved
operation not allowed
operation not supported
invalid PDU mode parameter
invalid text mode parameter
(U)SIM not inserted
(U)SIM PIN required
PH-(U)SIM PIN required
(U)SIM failure
(U)SIM busy
(U)SIM wrong
(U)SIM PUK required
(U)SIM PIN2 required
(U)SIM PUK2 required
memory failure
invalid memory index
memory full
SMSC address unknown
no network service
network timeout
no +CNMA acknowledgement expected
unknown error
other values in range 256...511 are reserved
manufacturer specific
Implementation
Mandatory if SMS is supported.
3.2.6
Informative Examples
Setting up a TA supporting SMS:
AT+CSMS=?
(inquiry of available services in TA)
+CSMS: (0)
OK
AT+CSMS=0;+CPMS=?
(set SMS; query available memories)
+CSMS: 1,1,1
(all MT, MO and CBM supported)
+CPMS: ("BM","ME","SM"),("ME","SM"),("ME","SM") (CBM, ME and (U)SIM memories
OK
for reading, ME and (U)SIM memories for writing)
AT+CPMS="ME","ME","ME";+CMGF=?
(set ME memory; query available message formats)
+CPMS: "ME",5,99,"ME",5,99,"ME",5,99 (five messages in ME, 99 total space)
3GPP
Release 10
38
3GPP TS 27.005 V10.0.1 (2011-09)
+CMGF: (0,1)
(both text and PDU mode implemented)
OK
AT+CMGF=1;+CSCS=?
(select text mode; query available TE character sets)
+CSCS: ("IRA","PCCP437","8859-1")
OK
AT+CSCS="PCCP437"
(select PC code page 437)
OK
3.3
Message Configuration Commands
3.3.1
Service Centre Address +CSCA
Parameter Command Syntax
Command
Possible response(s)
+CSCA=<sca>[,<tosca>]
+CSCA?
+CSCA=?
+CSCA: <sca>,<tosca>
Description
Set command updates the SMSC address, through which mobile originated SMs are transmitted. In text mode, setting is
used by send and write commands. In PDU mode, setting is used by the same commands, but only when the length of
the SMSC address coded into <pdu> parameter equals zero.
Implementation
Mandatory if SMS is supported.
3.3.2
Set Text Mode Parameters +CSMP
Parameter Command Syntax
Command
Possible response(s)
+CSMP=[<fo>[,<vp>[,<pid>[,<dcs>]]]]
+CSMP?
+CSMP=?
+CSMP: <fo>,<vp>,<pid>,<dcs>
Description
Set command is used to select values for additional parameters needed when SM is sent to the network or placed in a
storage when text format message mode is selected. It is possible to set the validity period starting from when the SM is
received by the SMSC (<vp> is in range 0... 255) or define the absolute time of the validity period termination (<vp>
is a string). The format of <vp> is given by <fo>. If TA supports the EVPF, see 3GPP TS 23.040 [3], it shall be
given as a hexadecimal coded string (refer e.g. <pdu>) with double quotes.
NOTE:
When storing a SMS-DELIVER from the TE to the preferred memory storage in text mode (refer
command Write Message to Memory +CMGW), <vp> field can be used for <scts>.
Implementation
Mandatory when text mode implemented.
3.3.3
Show Text Mode Parameters +CSDH
Parameter Command Syntax
Command
+CSDH=[<show>]
+CSDH?
+CSDH=?
Possible response(s)
+CSDH: <show>
+CSDH: (list of supported <show>s)
3GPP
Release 10
39
3GPP TS 27.005 V10.0.1 (2011-09)
Description
Set command controls whether detailed header information is shown in text mode result codes.
Test command returns supported values as a compound value.
Defined Values
<show>:
0 do not show header values defined in commands +CSCA and +CSMP (<sca>, <tosca>, <fo>, <vp>, <pid>
and <dcs>) nor <length>, <toda> or <tooa> in +CMT, +CMGL, +CMGR result codes for SMS-DELIVERs
and SMS-SUBMITs in text mode; for SMS-COMMANDs in +CMGR result code, do not show <pid>, <mn>,
<da>, <toda>, <length> or <cdata>
1 show the values in result codes
Implementation
Mandatory when text mode implemented.
3.3.4
Select Cell Broadcast Message Types +CSCB
Parameter Command Syntax
Command
Possible response(s)
+CSCB=[<mode>[,<mids>[,<dcss>]]]
+CSCB?
+CSCB=?
+CSCB: <mode>,<mids>,<dcss>
+CSCB: (list of supported <mode>s)
Description
Set command selects which types of CBMs are to be received by the ME.
Test command returns supported modes as a compound value.
Defined Values
<mode>:
0 message types specified in <mids> and <dcss> are accepted
1 message types specified in <mids> and <dcss> are not accepted
<mids>: string type; all different possible combinations of CBM message identifiers (refer <mid>) (default is
empty string); e.g. "0,1,5,320-478,922"
<dcss>: string type; all different possible combinations of CBM data coding schemes (refer <dcs>) (default is
empty string); e.g. "0-3,5"
Implementation
Optional.
3.3.5
Save Settings +CSAS
Action Command Syntax
Command
+CSAS[=<profile>]
+CSAS=?
Possible response(s)
+CMS ERROR: <err>
+CSAS: (list of supported <profile>s)
3GPP
Release 10
40
3GPP TS 27.005 V10.0.1 (2011-09)
Description
Execution command saves active message service settings to a non-volatile memory. A TA can contain several profiles
of settings. Settings specified in commands Service Centre Address +CSCA, Set Message Parameters +CSMP and Select
Cell Broadcast Message Types +CSCB (if implemented) are saved. Certain settings may not be supported by the storage
(e.g. (U)SIM SMS parameters) and therefore can not be saved. See chapter Message Service Failure Result Code for
<err> values.
Test command shall display the supported profile numbers for reading and writing of settings.
Defined Values
<profile>:
0...255 manufacturer specific profile number where settings are to be stored
Implementation
Optional.
3.3.6
Restore Settings +CRES
Action Command Syntax
Command
+CRES[=<profile>]
+CRES=?
Possible response(s)
+CMS ERROR: <err>
+CRES: (list of supported <profile>s)
Description
Execution command restores message service settings from non-volatile memory to active memory. A TA can contain
several profiles of settings. Settings specified in commands Service Centre Address +CSCA, Set Message Parameters
+CSMP and Select Cell Broadcast Message Types +CSCB (if implemented) are restored. Certain settings may not be
supported by the storage (e.g. (U)SIM SMS parameters) and therefore can not be restored. See chapter Message Service
Failure Result Code for <err> values.
Defined Values
<profile>:
0...255 manufacturer specific profile number from where settings are to be restored
Implementation
Optional.
3GPP
Release 10
3.3.7
41
3GPP TS 27.005 V10.0.1 (2011-09)
Informative Examples
Figure 1 illustrates an example setup of a TE-TA-ME system for SMS. Location of volatile and non-volatile
parameter memories, and the operations to change the parameter values are shown. +CSMP is used to set the text mode
header values of SMS-SUBMIT (or SMS-DELIVER when received message is written from TE to a storage). The
volatile memory may as well be in the ME, or when no volatile memory is used, +CSMP, +CSCA and +CSCB settings
are stored directly to non-volatile memory of ME.
SM STORAGES
save +CSAS
text mode parameters
for send and write,
SMSC address;
non-volatile memory power-up and restore +CRES
CBM STORAGES
set SMSC address +CSCA and
set text mode parameters +CSMP
text mode parameters
for send and write,
SMSC address;
volatile memory
save +CSAS and restore +CRES
save to non-volatile or
restore to volatile
cell broadcast types
to be stored;
non-volatile and
volatile memories
select cell broadcast message types +CSCB
ME
TA
TE
Figure 1: Message service parameter procedures
In this example, the volatile parameter settings of TA are used to construct messages in text mode. SMSC address
setting is used also in PDU mode. The next example illustrates a session to restore the message parameters from the ME
to the TA, and to set up the CBM identifiers (and languages) which are wanted to be received:
AT+CRES
OK
AT+CSMP?;+CSCA?
+CSMP: 17,167,0,0
+CSCA: "+358501234567",145
OK
AT+CSDH=1
OK
AT+CSCB=1
OK
(restore settings from non-volatile memory to volatile memory)
(query SM parameters)
(default values for SMS-SUBMIT)
(SMSC address)
(show all headers in text mode)
(all CBMs are accepted)
3.4
Message Receiving and Reading Commands
3.4.1
New Message Indications to TE +CNMI
Parameter Command Syntax
Command
+CNMI=[<mode>[,<mt>[,<bm>[,<ds>[,
<bfr>]]]]]
+CNMI?
+CNMI=?
Possible response(s)
+CMS ERROR: <err>
+CNMI: <mode>,<mt>,<bm>,<ds>,<bfr>
+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)
Description
Set command selects the procedure, how receiving of new messages from the network is indicated to the TE when TE is
active, e.g. DTR signal is ON. If TE is inactive (e.g. DTR signal is OFF), message receiving should be done as specified
in 3GPP TS 23.038 [2].
3GPP
Release 10
42
3GPP TS 27.005 V10.0.1 (2011-09)
NOTE 1: When DTR signal is not available or the state of the signal is ignored (V.25ter command &D0), reliable
message transfer can be assured by using +CNMA acknowledgement procedure.
<mode> controls the processing of unsolicited result codes specified within this command, <mt> sets the result code
indication routing for SMS-DELIVERs, <bm> for CBMs and <ds> for SMS-STATUS-REPORTs. <bfr> defines the
handling method for buffered result codes when <mode> 1, 2 or 3 is enabled. If ME does not support requested item
(although TA does), final result code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result
Code for a list of <err> values.
Test command gives the settings supported by the TA as compound values.
NOTE 2: Command Select Message Service +CSMS should be used to detect ME support of mobile terminated
SMs and CBMs, and to define whether a message routed directly to TE should be acknowledged or not
(refer command +CNMA).
Defined Values
<mode> (refer figure 2;
NOTE 3: The buffering mechanism may as well be located in the ME; the setting affects only to unsolicited result
codes specified within this command):
0 Buffer unsolicited result codes in the TA. If TA result code buffer is full, indications can be buffered in some
other place or the oldest indications may be discarded and replaced with the new received indications.
1 Discard indication and reject new received message unsolicited result codes when TA-TE link is reserved (e.g. in
on-line data mode). Otherwise forward them directly to the TE.
2 Buffer unsolicited result codes in the TA when TA-TE link is reserved (e.g. in on-line data mode) and flush them
to the TE after reservation. Otherwise forward them directly to the TE.
3 Forward unsolicited result codes directly to the TE. TA-TE link specific inband technique used to embed result
codes and data when TA is in on-line data mode.
NOTE 4: It is possible that ME/TA result code buffer is in volatile memory. In this case messages may get lost if
the power of ME/TA is switched off before codes are sent to TE. Thus, it is not recommended to use
direct message routing (<mt>=2 or 3, <bm>=2 or 3, or <ds>=1) with <mode> value 0 or 2.
ME
received messages and indications
<mode> value
0
COMMAND
MODE
DATA MODE
1
TA
2
Buffer
3
+CMTI, +CMT, +CBMI, +CBM, +CDSI, +CDS unsolicited result codes
TE
Figure 2: <mode> parameter
<mt> (the rules for storing received SMs depend on its data coding scheme (refer 3GPP TS 23.038 [2]), preferred
memory storage (+CPMS) setting and this value; refer table 1;
NOTE 5: If AT command interface is acting as the only display device, the ME must support storing of class 0
messages and messages in the message waiting indication group (discard message); refer table 2):
0 No SMS-DELIVER indications are routed to the TE.
3GPP
Release 10
43
3GPP TS 27.005 V10.0.1 (2011-09)
1 If SMS-DELIVER is stored into ME/TA, indication of the memory location is routed to the TE using unsolicited
result code:
+CMTI: <mem>,<index>
2 SMS-DELIVERs (except class 2 messages and messages in the message waiting indication group (store
message)) are routed directly to the TE using unsolicited result code:
+CMT: [<alpha>],<length><CR><LF><pdu> (PDU mode enabled); or
+CMT: <oa>, [<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,
<length>]<CR><LF><data> (text mode enabled; about parameters in italics, refer command Show
Text Mode Parameters +CSDH)
If ME has its own display device then class 0 messages and messages in the message waiting indication group
(discard message) may be copied to both ME display and to TE. In this case, ME shall send the
acknowledgement to the network (refer table 2).
Class 2 messages and messages in the message waiting indication group (store message) result in indication as
defined in <mt>=1.
3 Class 3 SMS-DELIVERs are routed directly to TE using unsolicited result codes defined in <mt>=2. Messages
of other data coding schemes result in indication as defined in <mt>=1.
3GPP
Release 10
44
3GPP TS 27.005 V10.0.1 (2011-09)
Table 1: <mt> parameter
<mt>
0
Receiving procedure for different message data coding schemes (refer 3GPP TS 23.038 [2])
no class: as in 3GPP TS 23.038 [2], but use <mem3> as preferred memory
class 0: as in 3GPP TS 23.038 [2], but use <mem3> as preferred memory if message is tried to be
stored
class 1: as in 3GPP TS 23.038 [2], but use <mem3> as preferred memory
class 2: as in 3GPP TS 23.038 [2]
class 3: as in 3GPP TS 23.038 [2], but use <mem3> as preferred memory
message waiting indication group (discard message): as in 3GPP TS 23.038 [2], but use <mem3> as
preferred memory if message is tried to be stored
message waiting indication group (store message): as in 3GPP TS 23.038 [2], but use <mem3> as
preferred memory
as <mt>=0 but send indication if message stored successfully
no class: route message to TE
class 0: as in 3GPP TS 23.038 [2], but also route message to TE and do not try to store it in memory
class 1: route message to TE
class 2: as <mt>=1
class 3: route message to TE
message waiting indication group (discard message): as in 3GPP TS 23.038 [2], but also route
message to TE and do not try to store it in memory
message waiting indication group (store message): as <mt>=1
class 3: route message to TE
others:
as <mt>=1
1
2
3
Table 2: SMS-DELIVER result code and acknowledgement summary
<mt>
1
2
3
1)
2)
3)
no class or class 1
class 0 or message
class 2 or message
class 3
waiting indication group waiting indication
(discard)
group (store)
+CMTI
[+CMTI1)]
+CMTI
+CMTI
+CMT & +CNMA3)
+CMT [& +CNMA2)]
+CMTI
+CMT & +CNMA3)
+CMTI
[+CMTI1)]
+CMTI
+CMT & +CNMA3)
result code is sent when ME does not have other display device than AT interface.
acknowledgement command must be sent when +CSMS <service> value equals 1 and ME does
not have other display device than AT interface.
acknowledgement command must be sent when +CSMS <service> value equals 1.
<bm> (the rules for storing received CBMs depend on its data coding scheme (refer 3GPP TS 23.038 [2]), the
setting of Select CBM Types (+CSCB) and this value; refer table 3):
0 No CBM indications are routed to the TE.
1 If CBM is stored into ME/TA, indication of the memory location is routed to the TE using unsolicited result
code:
+CBMI: <mem>,<index>
2 New CBMs are routed directly to the TE using unsolicited result code:
+CBM: <length><CR><LF><pdu> (PDU mode enabled); or
+CBM: <sn>,<mid>,<dcs>,<page>,<pages><CR><LF><data> (text mode enabled)
If ME supports data coding groups which define special routing also for messages other than class 3 (e.g.
(U)SIM specific messages), ME may choose not to route messages of such data coding schemes into TE
(indication of a stored CBM may be given as defined in <bm>=1).
3 Class 3 CBMs are routed directly to TE using unsolicited result codes defined in <bm>=2. If CBM storage is
supported, messages of other classes result in indication as defined in <bm>=1.
3GPP
Release 10
45
3GPP TS 27.005 V10.0.1 (2011-09)
Table 3: <bm> parameter
<bm>
0
Receiving procedure for different message data coding schemes (refer 3GPP TS 23.038 [2])
all schemes: as in 3GPP TS 23.038 [2]; if CBM storage is supported, store message to "BM" (or some
manufacturer or data coding scheme specific memory)
all schemes: as <bm>=0 but send indication if message stored successfully
all schemes: route message to TE unless ME has detected a special routing to somewhere else (e.g. to
(U)SIM; an indication may be sent if message stored successfully)
class 3: route message to TE
others:
as <bm>=1 (if CBM memory storage is supported)
1
2
3
<ds>:
0 No SMS-STATUS-REPORTs are routed to the TE.
1 SMS-STATUS-REPORTs are routed to the TE using unsolicited result code:
+CDS: <length><CR><LF><pdu> (PDU mode enabled); or
+CDS: <fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st> (text mode enabled)
2 If SMS-STATUS-REPORT is stored into ME/TA, indication of the memory location is routed to the TE using
unsolicited result code:
+CDSI: <mem>,<index>
Table 4: SMS-STATUS-REPORT result code and acknowledgement summary
<ds>
1
2
1)
result codes and commands
+CDS & +CNMA1)
+CDSI
acknowledgement command must be sent
when +CSMS <service> value equals 1
<bfr>:
0 TA buffer of unsolicited result codes defined within this command is flushed to the TE when <mode> 1...3 is
entered (OK response shall be given before flushing the codes).
1 TA buffer of unsolicited result codes defined within this command is cleared when <mode> 1...3 is entered.
Implementation
Mandatory when any of the new message indications implemented.
3GPP
Release 10
3.4.2
46
3GPP TS 27.005 V10.0.1 (2011-09)
List Messages +CMGL
Action Command Syntax
Command
Possible response(s)
+CMGL[=<stat>] if text mode (+CMGF=1), command successful and SMS-SUBMITs and/or SMS-DELIVERs:
+CMGL: <index>,<stat>,<oa/da>,[<alpha>],[<scts>][,<tooa/toda>,
<length>]<CR><LF><data>[<CR><LF>
+CMGL: <index>,<stat>,<da/oa>,[<alpha>],[<scts>][,<tooa/toda>,
<length>]<CR><LF><data>[...]]
if text mode (+CMGF=1), command successful and SMS-STATUS-REPORTs:
+CMGL: <index>,<stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>
[<CR><LF>
+CMGL: <index>,<stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>
[...]]
if text mode (+CMGF=1), command successful and SMS-COMMANDs:
+CMGL: <index>,<stat>,<fo>,<ct>[<CR><LF>
+CMGL: <index>,<stat>,<fo>,<ct>[...]]
if text mode (+CMGF=1), command successful and CBM storage:
+CMGL: <index>,<stat>,<sn>,<mid>,<page>,<pages>
<CR><LF><data>[<CR><LF>
+CMGL: <index>,<stat>,<sn>,<mid>,<page>,<pages>
<CR><LF><data>[...]]
otherwise:
+CMS ERROR: <err>
+CMGL=?
+CMGL: (list of supported <stat>s)
Description
Execution command returns messages with status value <stat> from message storage <mem1> to the TE. About text
mode parameters in italics, refer command Show Text Mode Parameters +CSDH. If status of the message is 'received
unread', status in the storage changes to 'received read'. If listing fails, final result code +CMS ERROR: <err> is
returned. See chapter Message Service Failure Result Code for <err> values.
NOTE:
If the selected <mem1> can contain different types of SMs (e.g. SMS-DELIVERs, SMS-SUBMITs,
SMS-STATUS-REPORTs and SMS-COMMANDs), the response may be a mix of the responses of
different SM types. TE application can recognize the response format by examining the third response
parameter.
Test command shall give a list of all status values supported by the TA.
Implementation
Optional.
3GPP
Release 10
3.4.3
47
3GPP TS 27.005 V10.0.1 (2011-09)
Read Message +CMGR
Action Command Syntax
Command
+CMGR=<index>
Possible response(s)
if text mode (+CMGF=1), command successful and SMS-DELIVER:
+CMGR: <stat>,<oa>,[<alpha>],<scts>[,<tooa>,<fo>,<pid>,<dcs>,
<sca>,<tosca>,<length>]<CR><LF><data>
if text mode (+CMGF=1), command successful and SMS-SUBMIT:
+CMGR: <stat>,<da>,[<alpha>][,<toda>,<fo>,<pid>,<dcs>,[<vp>],
<sca>,<tosca>,<length>]<CR><LF><data>
if text mode (+CMGF=1), command successful and SMS-STATUS-REPORT:
+CMGR: <stat>,<fo>,<mr>,[<ra>],[<tora>],<scts>,<dt>,<st>
if text mode (+CMGF=1), command successful and SMS-COMMAND:
+CMGR:
<stat>,<fo>,<ct>[,<pid>,[<mn>],[<da>],[<toda>],<length>
<CR><LF><cdata>]
if text mode (+CMGF=1), command successful and CBM storage:
+CMGR: <stat>,<sn>,<mid>,<dcs>,<page>,<pages><CR><LF><data>
otherwise:
+CMS ERROR: <err>
+CMGR=?
Description
Execution command returns message with location value <index> from message storage <mem1> to the TE. About
text mode parameters in italics, refer command Show Text Mode Parameters +CSDH. If status of the message is
'received unread', status in the storage changes to 'received read'. If reading fails, final result code +CMS ERROR:
<err> is returned. See chapter Message Service Failure Result Code for <err> values.
Implementation
Optional.
3.4.4
New Message Acknowledgement to ME/TA +CNMA
Action Command Syntax
Command
Possible response(s)
+CMS ERROR: <err>
if text mode (+CMGF=1):
+CNMA
+CNMA=?
Description
Execution command confirms correct reception of a new message (SMS-DELIVER or SMS-STATUS-REPORT)
which is routed directly to the TE (refer command +CNMI tables 2 and 4). This acknowledgement command (causing
ME to send RP-ACK to the network) shall be used when +CSMS parameter <service> equals 1. TA shall not send
another +CMT or +CDS result code to TE before previous one is acknowledged.
If ME does not get acknowledgement within required time (network timeout), ME should respond as specified in 3GPP
TS 24.011 [6] to the network. ME/TA shall automatically disable routing to TE by setting both <mt> and <ds>
values of +CNMI to zero.
If command is executed, but no acknowledgement is expected, or some other ME related error occurs, final result code
+CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for a list of <err> values.
3GPP
Release 10
NOTE:
48
3GPP TS 27.005 V10.0.1 (2011-09)
In case that a directly routed message must be buffered in ME/TA (possible when +CNMI parameter
<mode> equals 0 or 2) or AT interpreter remains too long in a state where result codes cannot be sent to
TE (e.g. user is entering a message using +CMGS), acknowledgement (RP-ACK) must be sent to the
network without waiting +CNMA command from TE. Later, when buffered result codes are flushed to TE,
TE must send +CNMA acknowledgement for each result code. In this way, ME/TA can determine if
message should be placed in non-volatile memory and routing to TE disabled (+CNMA not received).
Refer command +CNMI for more details how to use <mode> parameter reliably.
Implementation
Mandatory when <service> value 1 of command Select Message Service +CSMS is supported.
3.4.5
Informative Examples
Message forwarding is done as illustrated in figure 3. Optional +CNMA acknowledgement procedure is not presented. In
this example, there is no TA memory for messages and result code buffer is situated in TA. The routing of message
waiting indication group (discard message) SMS-DELIVERs equal to class 0 messages, and the routing of message
waiting indication group (store message) SMS-DELIVERs equal to class 2 messages.
<ds>=2
SM STORAGES
SMS-DELIVER
<mt>=0 or <mt>=1 or
<mt>=2 (class 2) or
<mt>=3 (class not 3)
<ds>=0 or
<ds>=2
SMS-STATUS-REPORT
CBM with allowed message identifier
and data coding scheme (refer +CSCB)
<bm>=0 or <bm>=1 or
<bm>=3 (class not 3)
<mt>=1 or
<mt>=2 (class 2) or
<mt>=3 (class not 3)
new status report indication +CDSI
new MT SM indication +CMTI
<mt>=2 (class not 2) or
<mt>=3 (class 3)
new MT SM +CMT
BUFFER
<ds>=1
status report +CDS
<bm>=2 or
<bm>=3 (class 3)
new CBM +CBM
<bm>=1 or
<bm>=3 (class not 3)
new CBM indication +CBMI
CBM STORAGES
ME
TA
TE
Figure 3: Message receiving procedures
Setting new message indications:
AT+CNMI=?
(query new message unsolicited result code modes)
+CNMI: (0-2),(0-3),(0-3),(0,1),(0,1)
OK
AT+CNMI=2,1,0,1,0
(send SM and status report indications to TE
OK
when TA in command mode, otherwise buffer)
In this example, the TA is set so that it should send an unsolicited result code +CMTI: <mem>,<index> to the TE
when a new SMS-DELIVER is received from the network and stored successfully to storage <mem>, and an unsolicited
result code +CDS:... when a SMS-STATUS-REPORT is received. These result codes are routed to the TE when TA
is in command mode, but buffered when in on-line data mode. Now, if new SM is received, it can be read as follows
(text mode with no detailed header information; GSM 7 bit default alphabet used in message body):
+CMTI: "ME",2
(new message received in index 2)
AT+CMGR=2
(read the message)
+CMGR: "REC UNREAD","+358507654321","Mr. Jones","95/07/03,17:38:15+04"
This is the Mr. Jones testing
OK
In the next example all messages of storage <mem1> are listed (text mode with no detailed header information; GSM 7
bit default alphabet used in message bodies):
3GPP
Release 10
49
3GPP TS 27.005 V10.0.1 (2011-09)
AT+CMGL="ALL"
(read all SMs)
+CMGL: 1,"REC READ","+358501234567","Mr. Smith","95/07/03,17:45:03+04"
This is the body of the message.
+CMGL: 2,"STO UNSENT","+358501234567","Mr. Smith",
This is the body of the reply.
OK
The next example shows a method to read new CBMs received from the network (text mode; GSM 7 bit default
alphabet used in message bodies):
AT+CNMI=2,,2,,0
(CBMs will be sent to the TE)
OK
AT+CPMS="BM";+CMGL (select CBM memory for reading; list all unread CBMs)
+CMGL: 1,"REC UNREAD",100,40,1,3
(first page of three page weather information)
Weather in Finland 3rd of July 1995
+CMGL: 2,"REC UNREAD",100,40,2,3
(second page of three page weather information)
Helsinki: cloudy, snow storms, -20 degrees Celsius, wind -14 m/s NE
+CMGL: 3,"REC UNREAD",100,40,3,3
(third page of three page weather information)
Tampere: sunny, 40 degrees Celsius, wind 1 m/s SW
OK
3.5
Message Sending and Writing Commands
3.5.1
Send Message +CMGS
Action Command Syntax
Command
if text mode (+CMGF=1):
+CMGS=<da>[,<toda>]<CR>
text is entered<ctrl-Z/ESC>
Possible response(s)
if text mode (+CMGF=1) and sending successful:
+CMGS: <mr>[,<scts>]
if sending fails:
+CMS ERROR: <err>
+CMGS=?
Description
Execution command sends message from a TE to the network (SMS-SUBMIT). Message reference value <mr> is
returned to the TE on successful message delivery. Optionally (when +CSMS <service> value is 1 and network
supports) <scts> is returned. Values can be used to identify message upon unsolicited delivery status report result
code. If sending fails in a network or an ME error, final result code +CMS ERROR: <err> is returned. See chapter
Message Service Failure Result Code for a list of <err> values. This command should be abortable.
Description
Execution command sends message from a TE to the network (SMS-SUBMIT). Message reference value <mr> is
returned to the TE on successful message delivery. Value can be used to identify message upon unsolicited delivery
status report result code. If sending fails in a network or an ME error, final result code +CMS ERROR: <err> is
returned. See chapter Message Service Failure Result Code for a list of <err> values. This command should be
abortable.
-
entered text (3GPP TS 23.040 [3] TP-Data-Unit) is sent to address <da> and all current settings (refer Set Text
Mode Parameters +CSMP and Service Centre Address +CSCA) are used to construct the actual PDU in ME/TA.
-
the TA shall send a four character sequence <CR><LF><greater_than><space> (IRA 13, 10, 62, 32)
after command line is terminated with <CR>; after that text can be entered from TE to ME/TA.
-
the DCD signal shall be in ON state while text is entered.
-
the echoing of entered characters back from the TA is controlled by V.25ter echo command E.
-
the entered text should be formatted as follows:
-
if <dcs> (set with +CSMP) indicates that 3GPP TS 23.038 [2] GSM 7 bit default alphabet is used and <fo>
indicates that 3GPP TS 23.040 [3] TP-User-Data-Header-Indication is not set:
3GPP
Release 10
-
50
3GPP TS 27.005 V10.0.1 (2011-09)
-
if TE character set other than "HEX" (refer command Select TE Character Set +CSCS in 3GPP TS
27.007 [9]): ME/TA converts the entered text into the GSM 7 bit default alphabet according to rules of
Annex A; backspace can be used to delete last character and carriage returns can be used (previously
mentioned four character sequence shall be sent to the TE after every carriage return entered by the user);
-
if TE character set is "HEX": the entered text should consist of two IRA character long hexadecimal
numbers which ME/TA converts into the GSM 7 bit default alphabet characters. (e.g. 17 (IRA 49 and
55) will be converted to character Π (GSM 7 bit default alphabet 23)).
if <dcs> indicates that 8-bit or UCS2 data coding scheme is used or <fo> indicates that 3GPP TS 23.040
[3] TP-User-Data-Header-Indication is set: the entered text should consist of two IRA character long
hexadecimal numbers which ME/TA converts into 8-bit octet (e.g. two characters 2A (IRA 50 and 65) will
be converted to an octet with integer value 42).
-
sending can be cancelled by giving <ESC> character (IRA 27).
-
<ctrl-Z> (IRA 26) must be used to indicate the ending of the message body.
Implementation
Optional.
3.5.2
Send Message from Storage +CMSS
Action Command Syntax
Command
Possible response(s)
+CMSS=<index>[,<da>[,<toda>]]
if text mode (+CMGF=1) and sending successful:
+CMSS: <mr>[,<scts>]
if sending fails:
+CMS ERROR: <err>
+CMSS=?
Description
Execution command sends message with location value <index> from preferred message storage <mem2> to the
network (SMS-SUBMIT or SMS-COMMAND). If new recipient address <da> is given given for SMS-SUBMIT, it
shall be used instead of the one stored with the message. Reference value <mr> is returned to the TE on successful
message delivery. Optionally (when +CSMS <service> value is 1 and network supports) <scts> is returned.
Values can be used to identify message upon unsolicited delivery status report result code. If sending fails in a network
or an ME error, final result code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result
Code for a list of <err> values. This command should be abortable.
Implementation
Optional.
3.5.3
Write Message to Memory +CMGW
Action Command Syntax
Command
Possible response(s)
if text mode (+CMGF=1):
+CMGW[=<oa/da>[,<tooa/toda>[,<stat>]]]<CR>
text is entered<ctrl-Z/ESC>
+CMGW=?
3GPP
+CMGW: <index>
+CMS ERROR: <err>
Release 10
51
3GPP TS 27.005 V10.0.1 (2011-09)
Description
Execution command stores message (either SMS-DELIVER or SMS-SUBMIT) to memory storage <mem2>. Memory
location <index> of the stored message is returned. By default message status will be set to 'stored unsent', but
parameter <stat> allows also other status values to be given. The entering of text is done similarly as specified in
command Send Message +CMGS. If writing fails, final result code +CMS ERROR: <err> is returned. See chapter
Message Service Failure Result Code for <err> values.
NOTE:
SMS-COMMANDs and SMS-STATUS-REPORTs can not be stored in text mode.
Implementation
Optional.
3.5.4
Delete Message +CMGD
Action Command Syntax
Command
+CMGD=<index>
[,<delflag>]
+CMGD=?
Possible response(s)
+CMS ERROR: <err>
+CMGD: (list of supported
<index>s)[,(list of
supported
<delflag>s)]
Description
Execution command deletes message from preferred message storage <mem1> location <index>. If <delflag> is
present and not set to 0 then the ME shall ignore <index> and follow the rules for <delflag> shown below. If deleting
fails, final result code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for
<err> values.
Test command shows the valid memory locations and optionally the supported values of <delflag>.
<delflag>: an integer indicating multiple message deletion request as follows:
0 (or omitted)
Delete the message specified in <index>
1
Delete all read messages from preferred message storage, leaving unread messages and stored
mobile originated messages (whether sent or not) untouched
2
Delete all read messages from preferred message storage and sent mobile originated messages,
leaving unread messages and unsent mobile originated messages untouched
3
Delete all read messages from preferred message storage, sent and unsent mobile originated
messages leaving unread messages untouched.
4
Delete all messages from preferred message storage including unread messages.
Implementation
Optional.
3GPP
Release 10
3.5.5
52
3GPP TS 27.005 V10.0.1 (2011-09)
Send Command +CMGC
Action Command Syntax
Command
Possible response(s)
if text mode (+CMGF=1):
+CMGC=<fo>,<ct>[,<pid>[,<mn>[,<da>[,<toda>]]]]<CR>
text is entered<ctrl-Z/ESC>
if text mode (+CMGF=1) and
sending successful:
+CMGC: <mr>[,<scts>]
if sending fails:
+CMS ERROR: <err>
+CMGC=?
Description
Execution command sends a command message from a TE to the network (SMS-COMMAND). The entering of text
(3GPP TS 23.040 [3] TP-Command-Data) is done similarly as specified in command Send Message +CMGS, but the
format is fixed to be a sequence of two IRA character long hexadecimal numbers which ME/TA converts into 8-bit
octets (refer +CMGS). Message reference value <mr> is returned to the TE on successful message delivery. Optionally
(when +CSMS <service> value is 1 and network supports) <scts> is returned. Values can be used to identify
message upon unsolicited delivery status report result code. If sending fails in a network or an ME error, final result
code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for a list of <err> values.
This command should be abortable.
Implementation
Optional.
3.5.6
More Messages to Send +CMMS
Parameter Command Syntax
Command
+CMMS=[<n>]
+CMMS?
+CMMS=?
Possible response(s)
+CMMS: <n>
+CMMS: (list of supported <n>s)
Description
Set command controls the continuity of SMS relay protocol link. When feature is enabled (and supported by network)
multiple messages can be sent much faster as link is kept open.
Test command returns supported values as a compound value.
Defined Values
<n>:
0 disable
1 keep enabled until the time between the response of the latest message send command (+CMGS, +CMSS, etc.)
and the next send command exceeds 1-5 seconds (the exact value is up to ME implementation), then ME shall
close the link and TA switches <n> automatically back to 0
2 enable (if the time between the response of the latest message send command and the next send command
exceeds 1-5 seconds (the exact value is up to ME implementation), ME shall close the link but TA shall not
switch automatically back to <n>=0)
Implementation
Optional.
3GPP
Release 10
3.5.7
53
3GPP TS 27.005 V10.0.1 (2011-09)
Informative Examples
Figure 4 is an example of a TE-TA-ME setup when messages are sent to network or stored to ME. The volatile memory
may as well be in the ME, or a non-volatile memory may be used instead when constructing messages.
SMS-SUBMIT
send from storage +CMSS
SM STORAGES
volatile memory
write +CMGW
SMS-SUBMIT
add text mode
parameters (+CSMP)
and SMSC address
write +CMGW
SMS-SUBMIT
(optionally add
SMSC address)
in text mode,
add SMSC address
(optional in PDU mode)
SMS-COMMAND
ME
text mode send +CMGS
and write +CMGW
PDU mode send +CMGS
and write +CMGW
send command +CMGC
TA
TE
Figure 4: Message service send and write procedures
An example of sending a GSM 7 bit default alphabet message in text mode and a SMS-STATUS-REPORT is wanted:
AT+CNMI?
(check that status reports are routed to TE)
+CNMI: 2,1,0,1,0
OK
AT+CSMP=49,167,0,0
(status report wanted; otherwise default settings)
OK
AT+CMGS="+358501234567"
(start editing a message)
> This the first line.
(edit first line and press carriage return)
> This is the last line.^Z (edit second line and send message by pressing control-Z)
+CMGS: 10
(success: message reference 10 returned from SMSC)
OK
+CDS: 2,10,"+358501234567",145,"95/07/04/13:12:14+04",
"95/07/04/13:12:20+04",0
(status report of successful message delivery received)
Storing an unsent message in memory, sending it from there, and deleting it:
AT+CPMS?
(check memory settings)
+CPMS: "ME",4,10,"ME",4,10,"ME",4,10
OK
AT+CMGW="9501231234"
(write message)
> This is the message body^Z
+CMGW: 7
(index number in storage returned)
OK
AT+CMSS=7
(send from storage)
+CMSS: 12
(success: reference value 12 sent from SC)
OK
AT+CMGD=7
(delete message)
OK
4
PDU Mode
The PDU mode uses the same commands and responses as the Text Mode described in clause 3. However, the
following commands and responses have a different format. In the PDU mode, a complete SMS Message including all
header information is passed as a binary string. This binary string is composed of hexadecimal IA5 characters as
defined in clause 3 above under "Message Data Parameters".
3GPP
Release 10
54
4.1
3GPP TS 27.005 V10.0.1 (2011-09)
List Messages +CMGL
Action Command Syntax
Command
+CMGL[=<stat>]
+CMGL=?
Possible response(s)
if PDU mode (+CMGF=0) and command successful:
+CMGL: <index>,<stat>,[<alpha>],<length><CR><LF><pdu>
[<CR><LF>+CMGL:<index>,<stat>,[<alpha>],<length><CR><LF><pdu>
[...]]
otherwise:
+CMS ERROR: <err>
+CMGL: (list of supported <stat>s)
Description
Execution command returns messages with status value <stat> from preferred message storage <mem1> to the TE.
Entire data units <pdu> are returned. If status of the message is 'received unread', status in the storage changes to
'received read'. If listing fails, final result code +CMS ERROR: <err> is returned. See chapter Message Service
Failure Result Code for <err> values.
Test command shall give a list of all status values supported by the TA.
Implementation
Optional.
4.2
Read Message +CMGR
Action Command Syntax
Command
+CMGR=<index>
Possible response(s)
if PDU mode (+CMGF=0) and command successful:
+CMGR: <stat>,[<alpha>],<length><CR><LF><pdu>
otherwise:
+CMS ERROR: <err>
+CMGR=?
Description
Execution command returns message with location value <index> from preferred message storage <mem1> to the
TE. Status of the message and entire message data unit <pdu> is returned. If status of the message is 'received unread',
status in the storage changes to 'received read'. If reading fails, final result code +CMS ERROR: <err> is returned.
See chapter Message Service Failure Result Code for <err> values.
Implementation
Optional.
4.3
Send Message +CMGS
Action Command Syntax
Command
if PDU mode (+CMGF=0):
+CMGS=<length><CR>
PDU is given<ctrl-Z/ESC>
Possible response(s)
if PDU mode (+CMGF=0) and sending successful:
+CMGS: <mr>[,<ackpdu>]
if sending fails:
+CMS ERROR: <err>
+CMGS=?
3GPP
Release 10
55
3GPP TS 27.005 V10.0.1 (2011-09)
Description
Execution command sends message from a TE to the network (SMS-SUBMIT). Message reference value <mr> is
returned to the TE on successful message delivery. Optionally (when +CSMS <service> value is 1 and network
supports) <ackpdu> is returned. Values can be used to identify message upon unsolicited delivery status report result
code. If sending fails in a network or an ME error, final result code +CMS ERROR: <err> is returned. See chapter
Message Service Failure Result Code for a list of <err> values. This command should be abortable.
-
<length> must indicate the number of octets coded in the TP layer data unit to be given (i.e. SMSC address
octets are excluded).
-
the TA shall send a four character sequence <CR><LF><greater_than><space> (IRA 13, 10, 62, 32)
after command line is terminated with <CR>; after that PDU can be given from TE to ME/TA.
-
the DCD signal shall be in ON state while PDU is given.
-
the echoing of given characters back from the TA is controlled by V.25ter echo command E.
-
the PDU shall be hexadecimal format (similarly as specified for <pdu>) and given in one line; ME/TA converts
this coding into the actual octets of PDU.
-
when the length octet of the SMSC address (given in the PDU) equals zero, the SMSC address set with
command Service Centre Address +CSCA is used; in this case the SMSC Type-of-Address octet shall not be
present in the PDU, i.e. TPDU starts right after SMSC length octet.
-
sending can be cancelled by giving <ESC> character (IRA 27).
-
<ctrl-Z> (IRA 26) must be used to indicate the ending of PDU.
Implementation
Optional.
4.4
Write Message to Memory +CMGW
Action Command Syntax
Command
Possible response(s)
if PDU mode (+CMGF=0):
+CMGW=<length>[,<stat>]<CR>PDU is given<ctrl-Z/ESC>
+CMGW=?
+CMGW: <index>
+CMS ERROR: <err>
Description
Execution command stores a message to memory storage <mem2>. Memory location <index> of the stored message
is returned. By default message status will be set to 'stored unsent', but parameter <stat> allows also other status
values to be given. (ME/TA manufacturer may choose to use different default <stat> values for different message
types.) The entering of PDU is done similarly as specified in command Send Message +CMGS. If writing fails, final
result code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for <err> values.
Implementation
Optional.
3GPP
Release 10
4.5
56
3GPP TS 27.005 V10.0.1 (2011-09)
Send Command +CMGC
Action Command Syntax
Command
if PDU mode (+CMGF=0):
+CMGC=<length><CR>
PDU is given<ctrl-Z/ESC>
Possible response(s)
if PDU mode (+CMGF=0) and sending successful:
+CMGC: <mr>[,<ackpdu>]
if sending fails:
+CMS ERROR: <err>
+CMGC=?
Description
Execution command sends a command message from a TE to the network (SMS-COMMAND). The entering of PDU is
done similarly as specified in command Send Message +CMGS. Message reference value <mr> is returned to the TE on
successful message delivery. Optionally (when +CSMS <service> value is 1 and network supports) <ackpdu> is
returned. Values can be used to identify message upon unsolicited delivery status report result code. If sending fails in a
network or an ME error, final result code +CMS ERROR: <err> is returned. See chapter Message Service Failure
Result Code for a list of <err> values. This command should be abortable.
Implementation
Optional.
4.6
New Message Acknowledgement to ME/TA +CNMA
Action Command Syntax
Command
Possible response(s)
if PDU mode (+CMGF=0):
+CNMA[=<n>[,<length>[<CR>
PDU is given<ctrl-Z/ESC>]]]
+CNMA=?
+CMS ERROR: <err>
if PDU mode (+CMGF=0):
+CNMA: (list of supported <n>s)
Description
Execution command confirms reception of a new message (SMS-DELIVER or SMS-STATUS-REPORT) which is
routed directly to the TE (refer command +CNMI tables 2 and 4). This acknowledgement command shall be used
when +CSMS parameter <service> equals 1. In PDU mode, it is possible to send either positive (RP-ACK) or
negative (RP-ERROR) acknowledgement to the network. Parameter <n> defines which one will be sent. Optionally
(when <length> is greater than zero) an acknowledgement TPDU (SMS-DELIVER-REPORT for RP-ACK or RPERROR) may be sent to the network. The entering of PDU is done similarly as specified in command Send Message
+CMGS, except that the format of <ackpdu> is used instead of <pdu> (i.e. SMSC address field is not present). PDU
shall not be bounded by double quotes. TA shall not send another +CMT or +CDS result code to TE before previous one
is acknowledged.
If ME does not get acknowledgement within required time (network timeout), ME should respond as specified in 3GPP
TS 24.011 [6] to the network. ME/TA shall automatically disable routing to TE by setting both <mt> and <ds> values
of +CNMI to zero.
If command is executed, but no acknowledgement is expected, or some other ME related error occurs, final result code
+CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for a list of <err> values.
3GPP
Release 10
NOTE:
57
3GPP TS 27.005 V10.0.1 (2011-09)
In case that a directly routed message must be buffered in ME/TA (possible when +CNMI parameter
<mode> equals 0 or 2) or AT interpreter remains too long in a state where result codes cannot be sent to
TE (e.g. user is entering a message using +CMGS), acknowledgement (RP-ACK) must be sent to the
network without waiting +CNMA command from TE. Later, when buffered result codes are flushed to TE,
TE must send +CNMA[=0] acknowledgement for each result code. In this way, ME/TA can determine if
message should be placed in non-volatile memory and routing to TE disabled (+CNMA[=0] not
received). Refer command +CNMI for more details how to use <mode> parameter reliably.
Test command returns a list of supported <n> values. If the only value supported is 0, the device does not support
sending of TPDU.
Defined Values
<n>:
0 command operates similarly as defined for the text mode
1 send RP-ACK (or buffered result code received correctly)
2 send RP-ERROR (if PDU is not given, ME/TA shall send SMS-DELIVER-REPORT with 3GPP TS 23.040 [3]
TP-FCS value set to 'FF' (unspecified error cause))
Implementation
Mandatory when <service> value 1 of command Select Message Service +CSMS is supported.
4.7
Send Message from Storage +CMSS
Action Command Syntax
Command
+CMSS=<index>[,<da>[,<toda>]]
Possible response(s)
if PDU mode (+CMGF=0) and sending successful:
+CMSS: <mr>[,<ackpdu>]
if sending fails:
+CMS ERROR: <err>
+CMSS=?
Description
Execution command sends message with location value <index> from message storage <mem2> to the network
(SMS-SUBMIT or SMS-COMMAND). If new recipient address <da> is given for SMS-SUBMIT, it shall be used
instead of the one stored with the message. Reference value <mr> is returned to the TE on successful message delivery.
Optionally (when +CSMS <service> value is 1 and network supports) <ackpdu> is returned. Values can be used to
identify message upon unsolicited delivery status report result code. If sending fails in a network or an ME error, final
result code +CMS ERROR: <err> is returned. See chapter Message Service Failure Result Code for a list of <err>
values. This command should be abortable.
Implementation
Optional.
3GPP
Release 10
58
3GPP TS 27.005 V10.0.1 (2011-09)
Annex A (normative):
Character Set Conversions for SMS Text Mode
The following conversions to and from 3GPP TS 23.038 [2] GSM 7 bit default alphabet are defined:
TE char set
PC Code Page 437
PC Danish/Norwegian
ISO 8859 Latin 1
IRA
GSM 7 bit default alphabet
bits/char
8
8
8
7
7
Commands
+CMGF=1;+CSCS="PCCP437"
+CMGF=1;+CSCS="PCDN"
+CMGF=1;+CSCS="8859-1"
+CMGF=1;+CSCS="IRA"
+CMGF=1;+CSCS="GSM"
The tables below show which GSM 7 bit default alphabet value corresponds to the 7 or 8 bit value of external
character set. The TE character set value is computed by adding column value, 00H through F0H (70H for 7 bits/char),
with the row value (00H through 0FH). All values are in hexadecimal, but the H suffix is not used. When text mode is
implemented, it is mandatory for a TA to have at least one conversion which include the conversion table of IRA (e.g.
PC Code Page 437 does). Additional conversions can be defined by manufacturers. It is manufacturer specific if the TE
set is actually converted to GSM 7 bit default alphabet set in the TA or in the ME, and if the TE set is converted to a
ME specific set in the TA before converting it to GSM 7 bit default alphabet set when message is sent to the network.
It is recommended that characters which cannot be converted to GSM 7 bit default alphabet set are deleted.
Conversion from IRA to GSM 7 bit default alphabet:
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
00
LF
CR-
10
-
20
20
21
22
23
02
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
3GPP
40
00
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
50
51
52
53
54
55
56
57
58
59
5A
11
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
70
71
72
73
74
75
76
77
78
79
7A
-
Release 10
59
3GPP TS 27.005 V10.0.1 (2011-09)
Conversion from PCCP437 (PC-8 Code Page 437) to GSM 7 bit default alphabet:
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
00
01
-
-
20
21
30
31
00
41
50
51
61
70
71
09
7E
1F
1D
6110
6911
-
-
-
1E
-
02
-
-
22
32
42
52
62
72
05
1C
6F12
-
-
-
13
-
6F7
7513
-
-
-
-
-
7C
7D
-
-
-
18
-
03
-
-
23
33
43
53
63
73
611
04
-
-
02
34
44
54
64
74
7B
05
-
5F
25
35
45
55
65
75
7F
08
5D
-
-
-
-
-
06
-
-
26
36
46
56
66
76
0F
758
06
-
-
-
-
-
-
-
-
-
-
-
-
60
-
-
-
12
-
07
-
-
27
37
47
57
67
77
092
08
-
-
28
38
48
58
68
78
653
799
5C
-
-
-
-
19
-
5E
-
-
-
-
15
-
09
-
-
29
39
49
59
69
79
654
0A
LF
-
2A
3A
4A
5A
6A
7A
04
0B
-
-
2B
3B
4B
-
6B
-
695
-
-
-
-
-
-
-
0C
-
-
2C
3C
4C
-
6C
-
01
-
-
-
-
-
-
0D
CR
-
2D
3D
4D
-
6D
-
696
07
03
40
-
-
-
-
-
0E
-
-
2E
3E
4E
-
6E
-
5B
-
-
-
-
-
-
-
0F
-
-
2F
3F
4F
11
6F
-
0E
-
-
-
-
-
-
-
1
: â  a
2
: ç  Ç
3
: ê  e
4
: ë  e
5
: ï
 i
6
: î
 i
7
: ô  o
8
: û  u
9
: ÿ  y
10
: á  a
11
: í
 i
12
: ó  o
13:
ú u
Conversion from PCDN (PC-8 Danish/ Norwegian) to GSM 7 bit default alphabet:
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
00
01
-
-
20
21
30
31
00
41
50
51
61
70
71
09
7E
1F
1D
6110
6911
-
-
-
1E
-
02
-
-
22
32
42
52
62
72
05
1C
6F12
-
-
-
13
-
6F7
7513
03
-
-
23
33
43
53
63
73
611
-
-
-
-
-
04
-
-
02
34
44
54
64
74
7B
7C
7D
-
-
-
18
-
05
-
5F
25
35
45
55
65
75
7F
08
5D
-
-
-
-
-
06
-
-
26
36
46
56
66
76
0F
758
-
-
-
-
-
-
07
-
-
27
37
47
57
67
77
092
06
-
-
-
-
-
-
08
-
-
28
38
48
58
68
78
653
799
60
-
-
-
12
-
09
-
-
29
39
49
59
69
79
654
5C
-
-
-
-
19
-
0A
LF
-
2A
3A
4A
5A
6A
7A
04
5E
-
-
-
-
15
-
0B
-
-
2B
3B
4B
-
6B
-
695
0C
-
-
-
-
-
-
0C
-
-
2C
3C
4C
-
6C
-
696
01
-
-
-
-
-
-
0D
CR
-
2D
3D
4D
-
6D
-
07
0B
40
-
-
-
-
-
0E
-
-
2E
3E
4E
-
6E
-
5B
-
-
-
-
-
-
-
0F
-
-
2F
3F
4F
11
6F
-
0E
-
-
-
-
-
-
-
 i
1
: â  a
2
: ç  Ç
3
: ê  e
4
: ë  e
5
: ï
6
: î
 i
7
: ô  o
8
: û  u
9
: ÿ  y
10
: á  a
11
: í
 i
12
: ó  o
13
: ú  u
3GPP
Release 10
60
3GPP TS 27.005 V10.0.1 (2011-09)
Conversion from 8859-1 (ISO 8859 Latin 1) to GSM 7 bit default alphabet:
00
10
20
30
40
50
60
70
80
90
A0
B0
C0
D0
E0
F0
00
01
-
-
20
21
30
31
00
41
50
51
61
70
71
-
-
40
-
411
7F
412
5D
6120
7D
02
-
-
22
32
42
52
62
72
-
-
-
-
413
4F12
6121
08
4F13
6122
6F29
03
-
-
23
33
43
53
63
73
-
-
01
-
414
04
-
-
02
34
44
54
64
74
-
-
24
-
5B
4F14
7B
6F30
0F
05
-
-
25
35
45
55
65
75
-
-
03
-
0E
4F15
06
-
-
26
36
46
56
66
76
-
-
-
-
1C
5C
1D
6F31
7C
07
-
-
27
37
47
57
67
77
-
-
5F
-
09
-
08
-
-
28
38
48
58
68
78
-
-
-
-
0B
0C
09
-
-
29
39
49
59
69
79
-
-
-
-
455
1F
0923
04
5516
05
06
0A
LF
-
2A
3A
4A
5A
6A
7A
-
-
-
-
456
5517
6524
7532
0B
-
-
2B
3B
4B
-
6B
-
-
-
-
-
457
0C
-
-
2C
3C
4C
-
6C
-
-
-
-
-
498
5518
5E
6525
07
7533
7E
0D
CR
-
2D
3D
4D
-
6D
-
-
-
-
-
499
6926
0E
-
-
2E
3E
4E
-
6E
-
-
-
-
-
4910
5919
-
6927
7934
-
60
4911
1E
6928
7935
0F
-
-
2F
3F
4F
11
6F
1
: À  A
2
: Á  A
3
: Â  A
6
: Ê  E
7
: Ë  E
8
: Ì
11
: Ï
12
: Ò  O
13
16
: Ù  U
17
: Ú  U
21
: â  a
22
26
: í
 i
27
: î
31
: õ  o
32
: ú  u
 I
-
-
-
-
4
: Ã  A
9
: Í
: Ó  O
14
18
: Û  U
: ã  a
23
: ç  Ç
 i
28
: ï
33
: û  u
 I
 i
5
: È  E
10
: Î
: Ô  O
15
: Õ  O
19
: Ý  Y
20
: á  a
24
: ê  e
25
: ë  e
29
: ó  o
30
: ô  o
34
: ý  y
35
: ÿ  y
 I
-
 I
Conversions from GSM 7 bit default alphabet to above character sets are otherwise straightforward, but no conversions
of the characters listed below tables are applied.
Character conversion when a national language locking shift table as defined in 3GPP TS 23.038 [2] is used, is outside
the scope of this specification.
3GPP
Release 10
61
3GPP TS 27.005 V10.0.1 (2011-09)
Annex B (informative):
Example of processing a data block
B.1
Example state diagrams for the block receiver
The state diagrams on the following two pages show how the receiver component at the block level could work. In this
example the received octets are processed in two stages.
Stage 1 is a low level function which detects the unique start and end markers, and removes any stuffing octets. The
results of this stage are passed to stage 2. Any unexpected octet value after a DLE will be indicated as 'abort'.
Stage 2 assembles the message content and the BCS octets, using octets passed from stage 1 and the 'start' and 'end'
indications. A 'start' will always reset the process to state 1 from any state. An 'abort' will always cause a return to state
0 where a 'start' will be awaited. When an 'end' is received in state 1, the following two octets are checked as the BCS. If
the BCS is correct, the message content is passed to another stage of the receiver for processing of the message content.
B.2
Example of coding and decoding a data block
The last page of this annex shows the coding of an example message at a transmitter, and the decoding stages at a
receiver which has the two stages of processing as described above.
In this example, the message content and the BCS both contain an octet with a value of 10 hex. Therefore the message
as transmitted over the interface has additional stuffing octets (00 hex) inserted after these octets. The receiver first
detects the start and end markers, and removes the stuffing octets. Finally the BCS is checked.
3GPP
Release 10
62
3GPP TS 27.005 V10.0.1 (2011-09)
EXAMPLE STATE DIAGRAMS FOR THE BLOCK RECEIVER
The block receiver can be considered as tw o stages. Stage 1 detects
start and end markers, and removes stuffing characters. Stage 2
assembles the received message and checks the BCS.
STAGE 1
Octets, w ith
separate Start,
End and Abort
indications.
Octets from
the DTE/DCE
interface
STAGE 2
Message
blocks
STATE TRANSITIONS IN STAGE 1
0
Idle
any other
octet n
DLE
octet = n
0
DLE
STX
' Start'
0
1
Wait for STX,
ETX or NUL
any other
octet
ETX
NUL
octet = DLE
' End'
0
0
Figure B.1
3GPP
' Abort'
0
Release 10
63
3GPP TS 27.005 V10.0.1 (2011-09)
STATE TRANSITIONS IN STAGE 2
0
Idle
' Start'
Reset buffer
Reset checksum
1
Reset buffer
Reset checksum
1
assemble
octets
' Start'
' Abort'
any other
octet
octet
add octet to
checksum
' End'
0
1
Reset buffer
Reset checksum
store in
buffer
2
Wait for 1st
BCS octet
' Start'
' Abort'
1
' End'
octet
0
0
add (octet x 256)
to checksum
1
Reset buffer
Reset checksum
3
' Start' Wait for 2nd
' End'
BCS octet
' Abort'
octet
0
0
add octet to
checksum
checksum
= 0000 ?
Yes
Block
received
0
Figure B.2
3GPP
No
0
Release 10
64
3GPP TS 27.005 V10.0.1 (2011-09)
Example of coding / decoding a message
at the DTE/DCE interface
Example message
to be sent
00H 10H 20H 30H 40H 50H
Calculate BCS
BCS
MSB LSB
BCS prepared
00H 10H 20H 30H 40H 50H
FFH 10H
Insert stuffing octets, and
add start & end markers
start
marker
Message as
transmitted
BCS
end
message content
marker MSB LSB *
*
DLE STX
NUL
DLE ETX
NUL
00H 10H
20H 30H 40H 50H
FFH 10H
10H 02H
00H
10H 03H
00H
Message transferred
over DTE/DCE interface
* = stuffing octet
start
marker
Message as
received
(no errors)
end
BCS
message content
marker MSB LSB
*
*
DLE STX
NUL
DLE ETX
NUL
00H 10H
20H 30H 40H 50H
FFH 10H
10H 02H
00H
10H 03H
00H
Detect start & end markers,
and remove stuffing octets
BCS
MSB LSB
Output from
receiver stage 1
' Start'
00H 10H 20H 30H 40H 50H
Check BCS
Output from
receiver stage 2
00H 10H 20H 30H 40H 50H
Figure B.3
3GPP
' End'
FFH 10H
Release 10
65
3GPP TS 27.005 V10.0.1 (2011-09)
EXAMPLE STATE DIAGRAMS FOR THE BLOCK RECEIVER
The block receiver can be considered as tw o stages. Stage 1 detects
start and end markers, and removes stuffing characters. Stage 2
assembles the received message and checks the BCS.
STAGE 1
Octets, w ith
separate Start,
End and Abort
indications.
Octets from
the DTE/DCE
interface
STAGE 2
Message
blocks
STATE TRANSITIONS IN STAGE 1
0
Idle
any other
octet n
DLE
octet = n
0
DLE
STX
' Start'
0
1
Wait for STX,
ETX or NUL
any other
octet
ETX
NUL
octet = DLE
' End'
0
0
Figure B.4
3GPP
' Abort'
0
Release 10
66
3GPP TS 27.005 V10.0.1 (2011-09)
STATE TRANSITIONS IN STAGE 2
0
Idle
' Start'
Reset buffer
Reset checksum
1
Reset buffer
Reset checksum
1
assemble
octets
' Start'
' Abort'
any other
octet
octet
add octet to
checksum
' End'
0
1
Reset buffer
Reset checksum
store in
buffer
2
Wait for 1st
BCS octet
' Start'
' Abort'
1
' End'
octet
0
0
add (octet x 256)
to checksum
1
Reset buffer
Reset checksum
3
' Start' Wait for 2nd
' End'
BCS octet
' Abort'
octet
0
0
add octet to
checksum
checksum
= 0000 ?
Yes
Block
received
0
Figure B.5
3GPP
No
0
Release 10
67
3GPP TS 27.005 V10.0.1 (2011-09)
Example of coding / decoding a message
at the DTE/DCE interface
Example message
to be sent
00H 10H 20H 30H 40H 50H
Calculate BCS
BCS
MSB LSB
BCS prepared
00H 10H 20H 30H 40H 50H
FFH 10H
Insert stuffing octets, and
add start & end markers
start
marker
Message as
transmitted
BCS
end
message content
marker MSB LSB *
*
DLE STX
NUL
DLE ETX
NUL
00H 10H
20H 30H 40H 50H
FFH 10H
10H 02H
00H
10H 03H
00H
Message transferred
over DTE/DCE interface
* = stuffing octet
start
marker
Message as
received
(no errors)
end
BCS
message content
marker MSB LSB
*
*
DLE STX
NUL
DLE ETX
NUL
00H 10H
20H 30H 40H 50H
FFH 10H
10H 02H
00H
10H 03H
00H
Detect start & end markers,
and remove stuffing octets
BCS
MSB LSB
Output from
receiver stage 1
' Start'
00H 10H 20H 30H 40H 50H
Check BCS
Output from
receiver stage 2
00H 10H 20H 30H 40H 50H
Figure B.6
3GPP
' End'
FFH 10H
Release 10
68
3GPP TS 27.005 V10.0.1 (2011-09)
Annex C (informative):
Change History
TSG-T# TDoc
VER
T#3
CR
REV REL
CAT
WORKITEM
New
T#6
T#11
T#13
T#16
T#16
T#26
TP-99237
TP-010221
TP-020103
-
CT#31
CT#39
CT#46
CT#51
CP-060126
CP-080137
CP-110197
3.0.0
3.1.0
4.0.0
4.1.0
4.2.0
5.0.0
6.0.0
6.0.1
7.0.0
8.0.0
9.0.0
10.0.0
001
002
004
-
R99
Rel-4
Rel-4
Rel-4
Rel-5
Rel-6
005
006
Rel-7 F
Rel-8
Rel-9
Rel-10 F
0007
F
TEI
F
F
TEI4
TI-ATC
TEI7
TEI8
TEI10
Rel-10
3GPP
SUBJECT
Creation of 3GPP 27.005 v1.0.0 out of GSM
07.05 v7.0.0
Adaptations for UMTS
Upgrade to Rel-4
Conversion of GSM to 3GPP references
Correction in description of +CNMA
Upgrade to Rel-5
Upgrade to Rel-6
Make figure 0.1 visible
Correction to <vp> and <fo> in examples
Language specific extension of GSM7 alphabet
Upgrade to Rel-9
Conditions for supporting SMS related AT
commands
Make invisible figures visible
NEW_
VER
3.0.0
3.1.0
4.0.0
4.1.0
4.2.0
5.0.0
6.0.0
6.0.1
7.0.0
8.0.0
9.0.0
10.0.0
10.0.1
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising