8 Message format and information elements coding
24.0113GPPPoint-to-Point (PP) Short Message Service (SMS) support on mobile radio interfaceRelease 17TS
8.1 CP‑messages
8.1.1 General
The message format and information elements coding is in line with 3GPP TS 24.007 [4] and 3GPP TS 24.008 [5].
The message shall consist of the following parts:
a) protocol discriminator;
b) transaction identifier;
c) message type;
d) other required information elements.
This organization is illustrated in the example shown in figure 8.1/3GPP TS 24.011.
8 7 6 5 |
4 3 2 1 |
Transaction Id. |
Protocol Discr. |
Message Type |
|
Other Information Elements |
Figure 8.1/3GPP TS 24.011
8.1.2 Protocol Discriminator and Transaction Identifier
The Protocol Discriminator and Transaction Identifier is described in 3GPP TS 24.007 [4].
8.1.3 Message type
The purpose of the message type, together with the protocol discriminator, is to identify the function of the message being sent. The coding of message types is shown in table 8.1/3GPP TS 24.011.
Table 8.1/3GPP TS 24.011: Message types for short message and notification transfer on CM
8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 1 CP‑DATA 0 0 0 0 0 1 0 0 CP‑ACK 0 0 0 1 0 0 0 0 CP‑ERROR |
8.1.4 Other required information elements
8.1.4.1 CP‑User data element
The CP‑User data element is used to carry the RPDU. It has an information element identifier, a length indicator and a data field. The data field will contain the RPDUs. The maximum length of the data field is 248 octets. The layout is indicated in figure 8.2/3GPP TS 24.011.
8 7 6 5 4 3 2 1 |
||
0 |
0 0 0 0 0 0 1 CP‑User Data IEI |
1 octet |
Length indicator |
1 octet |
|
RPDU Maximum length 248 octets |
? octet |
Figure 8.2/3GPP TS 24.011: CP‑User data element layout
8.1.4.2 CP‑Cause element
This element is included in the CP‑ERROR message, the layout is given in figure 8.3/3GPP TS 24.011. The error causes are listed in table 8.2/3GPP TS 24.011.
8 7 6 5 |
4 3 2 1 |
||
0 |
0 0 0 0 0 1 0 CP‑Cause IEI |
1 octet |
|
0 |
Cause value |
1 octet |
Figure 8.3/3GPP TS 24.011: CP‑Cause element layout
Table 8.2/3GPP TS 24.011: Content and coding of CP‑Cause
Cause value |
Cause nr. |
Cause |
7 6 5 4 3 2 1 |
# |
|
0 0 1 0 0 0 1 |
17 |
Network failure |
0 0 1 0 1 1 0 |
22 |
Congestion |
1 0 1 0 0 0 1 |
81 |
Invalid Transaction Identifier value |
1 0 1 1 1 1 1 |
95 |
Semantically incorrect message |
1 1 0 0 0 0 0 |
96 |
Invalid mandatory information |
1 1 0 0 0 0 1 |
97 |
Message type non‑existent or not implemented |
1 1 0 0 0 1 0 |
98 |
Message not compatible with the short message protocol state |
1 1 0 0 0 1 1 |
99 |
Information element non‑existent or not implemented |
1 1 0 1 1 1 1 |
111 |
Protocol error, unspecified |
All other cause values shall be treated as cause number 111. |
8.2 RP‑messages
8.2.1 General
The message shall consist of the following parts:
a) message type indicator;
b) message reference;
c) other required information elements.
This organization is illustrated in the example shown in figure 8.4/3GPP TS 24.011:
8 7 6 5 |
4 3 2 1 |
|
spare 0 0 0 0 0 |
MTI |
|
Message reference |
||
Other Information Elements |
Figure 8.4/3GPP TS 24.011
8.2.2 Message type indicator (MTI)
The message type indicator, MTI, is a 3‑bit field, located in the first octet of all RP‑messages. The coding of the MTI is defined by table 8.3/3GPP TS 24.011.
Table 8.3/3GPP TS 24.011: Coding of Message Type Indicator
Bit value |
Direction |
RP‑Message |
3 2 1 |
||
0 0 0 |
ms ‑> n |
RP‑DATA |
0 0 0 |
n ‑> ms |
Reserved |
0 0 1 |
ms ‑> n |
Reserved |
0 0 1 |
n ‑> ms |
RP‑DATA |
0 1 0 |
ms ‑> n |
RP‑ACK |
0 1 0 |
n ‑> ms |
Reserved |
0 1 1 |
ms ‑> n |
Reserved |
0 1 1 |
n ‑> ms |
RP‑ACK |
1 0 0 |
ms ‑> n |
RP‑ERROR |
1 0 0 |
n ‑> ms |
Reserved |
1 0 1 |
ms ‑> n |
Reserved |
1 0 1 |
n ‑> ms |
RP‑ERROR |
1 1 0 |
ms ‑> n |
RP‑SMMA |
1 1 0 |
n ‑> ms |
Reserved |
1 1 1 |
ms ‑> n |
Reserved |
1 1 1 |
n ‑> ms |
Reserved |
8.2.3 Message reference
The message reference field contains a sequence number in the range 0 through 255, and is used to link an RP‑ACK message or RP‑ERROR message to the associated (preceding) RP‑DATA or RP‑SMMA message transfer attempt.
8.2.4 Void
8.2.5 Other required information elements
8.2.5.1 Originator address element
In the case of MT transfer this element contains the originating Service Centre address.
The RP‑Originator Address information element is coded as shown in figure 8.5/3GPP TS 24.011.
The RP‑Originator Address is a type 4 information element. In the network to mobile station direction the minimum value of the length octet is 2 and the maximum value is 11. In the mobile station to network direction the value of the length octet of the element is set to 0.
8 7 6 5 4 3 2 1 |
||||
RP‑Originator Address IEI |
octet 1 |
|||
Length of RP‑Originator Address contents |
octet 2 |
|||
1 ext |
type of number |
Numbering plan identification |
octet 3 |
|
Number digit 2 |
Number digit 1 |
octet 4 |
||
Number digit 4 |
Number digit 3 |
octet 5 |
||
: |
||||
: |
||||
Figure 8.5/3GPP TS 24.011: RP‑Originator Address information element
If the RP‑Originator Address contains an odd number of digits, bits 5 to 8 of the last octet shall be filled with an end mark coded as "1111".
The contents of octets 3, 4, etc. are the same as those defined for the Called Party BCD Number IE defined in 3GPP TS 24.008 [5].
8.2.5.2 Destination address element
In the case of MO transfer, this element contains the destination Service Centre address.
The RP‑Destination Address information element is coded as shown in figure 8.6/3GPP TS 24.011.
The RP‑Destination Address is a type 4 information element. In the mobile station to network direction the minimum value of the length octet is 2 and the maximum value is 11. In the network to mobile station direction, the value of the length octet of the element is set to 0.
8 7 6 5 4 3 2 1 |
||||
RP‑Destination Address number IEI |
octet 1 |
|||
Length of RP‑Destination Address contents |
octet 2 |
|||
1 ext |
type of number |
Numbering plan identification |
octet 3 |
|
Number digit 2 |
Number digit 1 |
octet 4 |
||
Number digit 4 |
Number digit 3 |
octet 5 |
||
: |
||||
: |
||||
Figure 8.6/3GPP TS 24.011: RP‑Destination Address information element
The number digit(s) in octet 4 precede the digit(s) in octet 5 etc. The number digit which would be entered first is located in octet 4, bits 1 to 4.
If the RP‑Destination Address contains an odd number of digits, bits 5 to 8 of the last octet shall be filled with an end mark coded as "1111".
Since the information element contains the complete RP‑Destination Address there is no need for an additional complete indication.
The contents of octets 3, 4, etc. are the same as those defined for the Called Party BCD Number IE defined in 3GPP TS 24.008 [5].
8.2.5.3 RP‑User data element
The RP‑User data field contains the TPDU and is mandatory in a RP‑DATA message. RP‑User data is also optionally carried in an RP‑Error message. In a RP DATA message, the element has a variable length, up to 233 octets, and in a RP ERROR and in a RP ACK message the length is up to 234 octets .
RP‑User data in an RP‑Error message is conveyed as diagnostic information within the "SM‑DeliveryFailureCause" response to a MAP Forward‑Short‑Message procedure (see 3GPP TS 29.002). The diagnostic information may be sent in both directions, and shall always be forwarded by the MSC if it is received.
8 7 6 5 4 3 2 1 |
||
0 |
1 0 0 0 0 0 1 RP‑User Data IEI |
1 octet |
Length indicator |
1 octet |
|
TPDU Maximum length 232 octets |
Figure 8.7/3GPP TS 24.011: RP‑User data element layout
8.2.5.4 RP‑Cause element
This element is a variable length element always included in the RP‑ERROR message, conveying a negative result of a RP‑DATA message transfer attempt or RP‑SMMA notification attempt. The element contains a cause value and optionally a diagnostic field giving further details of the error cause.
The coding of the cause value is given in table 8.4/3GPP TS 24.011. The mapping between error causes in 3GPP TS 24.011 and 3GPP TS 29.002 (MAP) is specified in 3GPP TS 23.040. Parameters included in the return error from MAP (e.g. System Failure) are mapped directly into the diagnostic field.
8 7 6 5 4 3 2 1 |
||
0 |
1 0 0 0 0 1 0 RP‑Cause IEI |
1 octet |
Length indicator |
1 octet |
|
0 ext |
Cause value |
1 octet |
Diagnostic field |
1 octet * |
Figure 8.8/3GPP TS 24.011: RP‑Cause element layout
Table 8.4/3GPP TS 24.011 (part 1): Cause values that may be contained in an RP‑ERROR message
in a mobile originating SM‑transfer attempt
Cause value |
Cause |
Cause |
Class value |
number |
|
7 6 5 4 3 2 1 |
# |
|
0 0 0 0 0 0 1 |
1 |
Unassigned (unallocated) number |
0 0 0 1 0 0 0 |
8 |
Operator determined barring |
0 0 0 1 0 1 0 |
10 |
Call barred |
0 0 0 1 0 1 1 |
11 |
Reserved |
0 0 1 0 1 0 1 |
21 |
Short message transfer rejected |
0 0 1 1 0 1 1 |
27 |
Destination out of order |
0 0 1 1 1 0 0 |
28 |
Unidentified subscriber |
0 0 1 1 1 0 1 |
29 |
Facility rejected |
0 0 1 1 1 1 0 |
30 |
Unknown subscriber |
0 1 0 0 1 1 0 |
38 |
Network out of order |
0 1 0 1 0 0 1 |
41 |
Temporary failure |
0 1 0 1 0 1 0 |
42 |
Congestion |
0 1 0 1 1 1 1 |
47 |
Resources unavailable, unspecified |
0 1 1 0 0 1 0 |
50 |
Requested facility not subscribed |
1 0 0 0 1 0 1 |
69 |
Requested facility not implemented |
1 0 1 0 0 0 1 |
81 |
Invalid short message transfer reference value |
1 0 1 1 1 1 1 |
95 |
Semantically incorrect message |
1 1 0 0 0 0 0 |
96 |
Invalid mandatory information |
1 1 0 0 0 0 1 |
97 |
Message type non‑existent or not implemented |
1 1 0 0 0 1 0 |
98 |
Message not compatible with short message protocol state |
1 1 0 0 0 1 1 |
99 |
Information element non‑existent or not implemented |
1 1 0 1 1 1 1 |
111 |
Protocol error, unspecified |
1 1 1 1 1 1 1 |
127 |
Interworking, unspecified |
All other cause values shall be treated as cause number 41, "Temporary Failure". |
Table 8.4/3GPP TS 24.011 (part 2): Cause values that may be contained in an RP‑ERROR message in a mobile terminating SM‑transfer attempt
Cause value |
Cause |
Cause |
Class value |
number |
|
7 6 5 4 3 2 1 |
# |
|
0 0 1 0 1 1 0 |
22 |
Memory capacity exceeded |
1 0 1 0 0 0 1 |
81 |
Invalid short message transfer reference value |
1 0 1 1 1 1 1 |
95 |
Semantically incorrect message |
1 1 0 0 0 0 0 |
96 |
Invalid mandatory information |
1 1 0 0 0 0 1 |
97 |
Message type non‑existent or not implemented |
1 1 0 0 0 1 0 |
98 |
Message not compatible with short message protocol state |
1 1 0 0 0 1 1 |
99 |
Information element non‑existent or not implemented |
1 1 0 1 1 1 1 |
111 |
Protocol error, unspecified |
All other cause values shall be treated as cause number 111, "Protocol error, unspecified". |
Table 8.4/3GPP TS 24.011 (part 3): Cause values that may be contained in an RP‑ERROR message in a memory available notification attempt
Cause value |
Cause |
Cause |
Cause |
Class value |
number |
type |
|
7 6 5 4 3 2 1 |
# |
||
0 0 1 1 1 1 0 |
30 |
P |
Unknown Subscriber |
0 1 0 0 1 1 0 |
38 |
T |
Network out of order |
0 1 0 1 0 0 1 |
41 |
T |
Temporary failure |
0 1 0 1 0 1 0 |
42 |
T |
Congestion |
0 1 0 1 1 1 1 |
47 |
T |
Resources unavailable, unspecified |
1 0 0 0 1 0 1 |
69 |
P |
Requested facility not implemented |
1 0 1 1 1 1 1 |
95 |
P |
Semantically incorrect message |
1 1 0 0 0 0 0 |
96 |
P |
Invalid mandatory information |
1 1 0 0 0 0 1 |
97 |
P |
Message type non‑existent or not implemented |
1 1 0 0 0 1 0 |
98 |
P |
Message not compatible with short message protocol state |
1 1 0 0 0 1 1 |
99 |
P |
Information element non‑existent or not implemented |
1 1 0 1 1 1 1 |
111 |
P |
Protocol error, unspecified |
1 1 1 1 1 1 1 |
127 |
P |
Interworking, unspecified |
All other cause values are treated as cause number 41, "Temporary failure". |
|||
Each cause is classified as "Temporary" or "Permanent", as indicated by T and P respectively in the cause type column. |