Data Coding Scheme

Data Coding Scheme is a one-octet field in Short Messages (SM) and Cell Broadcast Messages (CB) which carries a basic information how the recipient handset should process the received message. The information includes:

The field is described in 3GPP 23.040 and 3GPP 23.038 under the name TP-DCS.

Message Character Sets

A special 7 bit encoding called GSM 7 bit default alphabet was designed for Short Message System in GSM. The alphabet contains the most-often used symbols from most Western-European languages (and some Greek uppercase letters). Some ASCII characters and the Euro sign did not fit into the GSM 7 bit default alphabet and must be encoded using two septets. These characters form GSM 7 bit default alphabet extension table. Support of the GSM 7-bit alphabet is mandatory for GSM handsets and network elements.[1]

Languages which use Latin script, but use characters which are not present in the GSM 7 bit default alphabet, often replace missing characters with diacritic marks with corresponding characters without diacritics, which causes not entirely satisfactory user experience, but is often accepted. For best look the 16-bit UTF-16 (in GSM called UCS-2) encoding may be used at price of reducing length of a (non segmented) message from 160 to 70 characters.

The messages in Chinese, Korean or Japanese languages must be encoded using the UTF-16 character encoding. The same was also true for other languages using non-Latin scripts like Russian, Arabic, Hebrew and various Indian languages. In 3GPP TS 23.038 8.0.0 published in 2008 a new feature, an extended National language shift table was introduced, which in the version 11.0.0 published in 2012 covers Turkish, Spanish, Portuguese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Oriya, Punjabi, Tamil, Telugu and Urdu languages. The mechanism replaces GSM 7 bit default alphabet code table and/or extended table with a national table(s) according to special information elements in User Data Header. The non-segmented message using national language shift table(s) may carry up to 155 (or 153) 7-bit characters.

GSM recognizes only 2 encodings for text messages and 1 encoding for binary messages:

Message Classes

The TP-DCS octet has a complex syntax to allow carrying of other information; the most notable are message classes:

Message Classes
Value Message Class
0 0 0 - Flash messages
0 1 1 - ME-specific
1 0 2 - SIM / USIM specific
1 1 3 - TE-specific

Flash messages are received by a mobile phone even though it has full memory. They are not stored in the phone, they just displayed on the phone display.

Other Features

Automatic Deletion after Reading

The handset should delete any message received with a TP-DCS value falling to the "Message Marked for Automatic Deletion Coding Group" after user has read it.

Message Waiting Indication

Message Waiting Indication group of DCS values serves to set or reset flags indicating presence of unread voicemail, fax, e-mail or other messages.

Data Compression

A special DCS values also allows message compression, but it perhaps is not used by any operator.

DCS Values

SMS Data Coding Scheme

The values of TP-DCS are defined in GSM recommendation 03.38.[1]

Coding Group: General Data Coding
DCS
hex dec
Character Set Message Class Compressed Reserved Because
00 0 GSM 7 bit Default -
01 1 GSM 7 bit Default - Bits 1 and 0 have value 1 but no message class present
02 2 GSM 7 bit Default - Bits 1 and 0 have value 2 but no message class present
03 3 GSM 7 bit Default - Bits 1 and 0 have value 3 but no message class present
04 4 8 bit data Default -
05 5 8 bit data Default - Bits 1 and 0 have value 1 but no message class present
06 6 8 bit data Default - Bits 1 and 0 have value 2 but no message class present
07 7 8 bit data Default - Bits 1 and 0 have value 3 but no message class present
08 8 UCS2 Default -
09 9 UCS2 Default - Bits 1 and 0 have value 1 but no message class present
0A 10 UCS2 Default - Bits 1 and 0 have value 2 but no message class present
0B 11 UCS2 Default - Bits 1 and 0 have value 3 but no message class present
0C 12 (not defined) Default -
0D 13 (not defined) Default - Bits 1 and 0 have value 1 but no message class present
0E 14 (not defined) Default - Bits 1 and 0 have value 2 but no message class present
0F 15 (not defined) Default - Bits 1 and 0 have value 3 but no message class present
10 16 GSM 7 bit Class 0 (Flash message) -
11 17 GSM 7 bit Class 1 (ME-specific) -
12 18 GSM 7 bit Class 2 (SIM/USIM-specific) -
13 19 GSM 7 bit Class 3 (TE-specific) -
14 20 8 bit data Class 0 (Flash message) -
15 21 8 bit data Class 1 (ME-specific) -
16 22 8 bit data Class 2 (SIM/USIM-specific) -
17 23 8 bit data Class 3 (TE-specific) -
18 24 UCS2 Class 0 (Flash message) -
19 25 UCS2 Class 1 (ME-specific) -
1A 26 UCS2 Class 2 (SIM/USIM-specific) -
1B 27 UCS2 Class 3 (TE-specific) -
1C 28 (not defined) Class 0 (Flash message) -
1D 29 (not defined) Class 1 (ME-specific) -
1E 30 (not defined) Class 2 (SIM/USIM-specific) -
1F 31 (not defined) Class 3 (TE-specific) -
20 32 GSM 7 bit Default +
21 33 GSM 7 bit Default + Bits 1 and 0 have value 1 but no message class present
22 34 GSM 7 bit Default + Bits 1 and 0 have value 2 but no message class present
23 35 GSM 7 bit Default + Bits 1 and 0 have value 3 but no message class present
24 36 8 bit data Default +
25 37 8 bit data Default + Bits 1 and 0 have value 1 but no message class present
26 38 8 bit data Default + Bits 1 and 0 have value 2 but no message class present
27 39 8 bit data Default + Bits 1 and 0 have value 3 but no message class present
28 40 UCS2 Default +
29 41 UCS2 Default + Bits 1 and 0 have value 1 but no message class present
2A 42 UCS2 Default + Bits 1 and 0 have value 2 but no message class present
2B 43 UCS2 Default + Bits 1 and 0 have value 3 but no message class present
2C 44 (not defined) Default +
2D 45 (not defined) Default + Bits 1 and 0 have value 1 but no message class present
2E 46 (not defined) Default + Bits 1 and 0 have value 2 but no message class present
2F 47 (not defined) Default + Bits 1 and 0 have value 3 but no message class present
30 48 GSM 7 bit Class 0 (Flash message) +
31 49 GSM 7 bit Class 1 (ME-specific) +
32 50 GSM 7 bit Class 2 (SIM/USIM-specific) +
33 51 GSM 7 bit Class 3 (TE-specific) +
34 52 8 bit data Class 0 (Flash message) +
35 53 8 bit data Class 1 (ME-specific) +
36 54 8 bit data Class 2 (SIM/USIM-specific) +
37 55 8 bit data Class 3 (TE-specific) +
38 56 UCS2 Class 0 (Flash message) +
39 57 UCS2 Class 1 (ME-specific) +
3A 58 UCS2 Class 2 (SIM/USIM-specific) +
3B 59 UCS2 Class 3 (TE-specific) +
3C 60 (not defined) Class 0 (Flash message) +
3D 61 (not defined) Class 1 (ME-specific) +
3E 62 (not defined) Class 2 (SIM/USIM-specific) +
3F 63 (not defined) Class 3 (TE-specific) +
Coding Group: Message Marked for Automatic Deletion
DCS
hex dec
Character Set Message Class Compressed Reserved Because
40 64 GSM 7 bit Default -
41 65 GSM 7 bit Default - Bits 1 and 0 have value 1 but no message class present
42 66 GSM 7 bit Default - Bits 1 and 0 have value 2 but no message class present
43 67 GSM 7 bit Default - Bits 1 and 0 have value 3 but no message class present
44 68 8 bit data Default -
45 69 8 bit data Default - Bits 1 and 0 have value 1 but no message class present
46 70 8 bit data Default - Bits 1 and 0 have value 2 but no message class present
47 71 8 bit data Default - Bits 1 and 0 have value 3 but no message class present
48 72 UCS2 Default -
49 73 UCS2 Default - Bits 1 and 0 have value 1 but no message class present
4A 74 UCS2 Default - Bits 1 and 0 have value 2 but no message class present
4B 75 UCS2 Default - Bits 1 and 0 have value 3 but no message class present
4C 76 (not defined) Default -
4D 77 (not defined) Default - Bits 1 and 0 have value 1 but no message class present
4E 78 (not defined) Default - Bits 1 and 0 have value 2 but no message class present
4F 79 (not defined) Default - Bits 1 and 0 have value 3 but no message class present
50 80 GSM 7 bit Class 0 (Flash message) -
51 81 GSM 7 bit Class 1 (ME-specific) -
52 82 GSM 7 bit Class 2 (SIM/USIM-specific) -
53 83 GSM 7 bit Class 3 (TE-specific) -
54 84 8 bit data Class 0 (Flash message) -
55 85 8 bit data Class 1 (ME-specific) -
56 86 8 bit data Class 2 (SIM/USIM-specific) -
57 87 8 bit data Class 3 (TE-specific) -
58 88 UCS2 Class 0 (Flash message) -
59 89 UCS2 Class 1 (ME-specific) -
5A 90 UCS2 Class 2 (SIM/USIM-specific) -
5B 91 UCS2 Class 3 (TE-specific) -
5C 92 (not defined) Class 0 (Flash message) -
5D 93 (not defined) Class 1 (ME-specific) -
5E 94 (not defined) Class 2 (SIM/USIM-specific) -
5F 95 (not defined) Class 3 (TE-specific) -
60 96 GSM 7 bit Default +
61 97 GSM 7 bit Default + Bits 1 and 0 have value 1 but no message class present
62 98 GSM 7 bit Default + Bits 1 and 0 have value 2 but no message class present
63 99 GSM 7 bit Default + Bits 1 and 0 have value 3 but no message class present
64 100 8 bit data Default +
65 101 8 bit data Default + Bits 1 and 0 have value 1 but no message class present
66 102 8 bit data Default + Bits 1 and 0 have value 2 but no message class present
67 103 8 bit data Default + Bits 1 and 0 have value 3 but no message class present
68 104 UCS2 Default +
69 105 UCS2 Default + Bits 1 and 0 have value 1 but no message class present
6A 106 UCS2 Default + Bits 1 and 0 have value 2 but no message class present
6B 107 UCS2 Default + Bits 1 and 0 have value 3 but no message class present
6C 108 (not defined) Default +
6D 109 (not defined) Default + Bits 1 and 0 have value 1 but no message class present
6E 110 (not defined) Default + Bits 1 and 0 have value 2 but no message class present
6F 111 (not defined) Default + Bits 1 and 0 have value 3 but no message class present
70 112 GSM 7 bit Class 0 (Flash message) +
71 113 GSM 7 bit Class 1 (ME-specific) +
72 114 GSM 7 bit Class 2 (SIM/USIM-specific) +
73 115 GSM 7 bit Class 3 (TE-specific) +
74 116 8 bit data Class 0 (Flash message) +
75 117 8 bit data Class 1 (ME-specific) +
76 118 8 bit data Class 2 (SIM/USIM-specific) +
77 119 8 bit data Class 3 (TE-specific) +
78 120 UCS2 Class 0 (Flash message) +
79 121 UCS2 Class 1 (ME-specific) +
7A 122 UCS2 Class 2 (SIM/USIM-specific) +
7B 123 UCS2 Class 3 (TE-specific) +
7C 124 (not defined) Class 0 (Flash message) +
7D 125 (not defined) Class 1 (ME-specific) +
7E 126 (not defined) Class 2 (SIM/USIM-specific) +
7F 127 (not defined) Class 3 (TE-specific) +
Coding Group: Reserved
DCS
hex dec
Character Set Message Class Compressed Reserved Because
80 128 (not defined) Default - Reserved coding group
... up to ...
BF 191 (not defined) Default - Reserved coding group
Coding Group: Message Waiting Info: Discard Message
DCS
hex dec
Character Set Message Waiting Information Compressed Reserved Because
C0 192 (not defined) Voicemail Inactive -
C1 193 (not defined) Fax Inactive -
C2 194 (not defined) E-mail Inactive -
C3 195 (not defined) Other Inactive -
C4 196 (not defined) Voicemail Inactive - Value of bit 2
C5 197 (not defined) Fax Inactive - Value of bit 2
C6 198 (not defined) E-mail Inactive - Value of bit 2
C7 199 (not defined) Other Inactive - Value of bit 2
C8 200 (not defined) Voicemail Active -
C9 201 (not defined) Fax Active -
CA 202 (not defined) E-mail Active -
CB 203 (not defined) Other Active -
CC 204 (not defined) Voicemail Active - Value of bit 2
CD 205 (not defined) Fax Active - Value of bit 2
CE 206 (not defined) E-mail Active - Value of bit 2
CF 207 (not defined) Other Active - Value of bit 2
Coding Group: Message Waiting Info: Store Message
DCS
hex dec
Character Set Message Waiting Information Compressed Reserved Because
D0 208 GSM 7 bit Voicemail Inactive -
D1 209 GSM 7 bit Fax Inactive -
D2 210 GSM 7 bit E-mail Inactive -
D3 211 GSM 7 bit Other Inactive -
D4 212 GSM 7 bit Voicemail Inactive - Value of bit 2
D5 213 GSM 7 bit Fax Inactive - Value of bit 2
D6 214 GSM 7 bit E-mail Inactive - Value of bit 2
D7 215 GSM 7 bit Other Inactive - Value of bit 2
D8 216 GSM 7 bit Voicemail Active -
D9 217 GSM 7 bit Fax Active -
DA 218 GSM 7 bit E-mail Active -
DB 219 GSM 7 bit Other Active -
DC 220 GSM 7 bit Voicemail Active - Value of bit 2
DD 221 GSM 7 bit Fax Active - Value of bit 2
DE 222 GSM 7 bit E-mail Active - Value of bit 2
DF 223 GSM 7 bit Other Active - Value of bit 2
E0 224 UCS2 Voicemail Inactive -
E1 225 UCS2 Fax Inactive -
E2 226 UCS2 E-mail Inactive -
E3 227 UCS2 Other Inactive -
E4 228 UCS2 Voicemail Inactive - Value of bit 2
E5 229 UCS2 Fax Inactive - Value of bit 2
E6 230 UCS2 E-mail Inactive - Value of bit 2
E7 231 UCS2 Other Inactive - Value of bit 2
E8 232 UCS2 Voicemail Active -
E9 233 UCS2 Fax Active -
EA 234 UCS2 E-mail Active -
EB 235 UCS2 Other Active -
EC 236 UCS2 Voicemail Active - Value of bit 2
ED 237 UCS2 Fax Active - Value of bit 2
EE 238 UCS2 E-mail Active - Value of bit 2
EF 239 UCS2 Other Active - Value of bit 2
Coding Group: Data Coding/Message Class
DCS
hex dec
Character Set Message Class Compressed Reserved Because
F0 240 GSM 7 bit Class 0 (Flash message) -
F1 241 GSM 7 bit Class 1 (ME-specific) -
F2 242 GSM 7 bit Class 2 (SIM/USIM-specific) -
F3 243 GSM 7 bit Class 3 (TE-specific) -
F4 244 8 bit data Class 0 (Flash message) -
F5 245 8 bit data Class 1 (ME-specific) -
F6 246 8 bit data Class 2 (SIM/USIM-specific) -
F7 247 8 bit data Class 3 (TE-specific) -
F8 248 GSM 7 bit Class 0 (Flash message) - Value of bit 3
F9 249 GSM 7 bit Class 1 (ME-specific) - Value of bit 3
FA 250 GSM 7 bit Class 2 (SIM/USIM-specific) - Value of bit 3
FB 251 GSM 7 bit Class 3 (TE-specific) - Value of bit 3
FC 252 8 bit data Class 0 (Flash message) - Value of bit 3
FD 253 8 bit data Class 1 (ME-specific) - Value of bit 3
FE 254 8 bit data Class 2 (SIM/USIM-specific) - Value of bit 3
FF 255 8 bit data Class 3 (TE-specific) - Value of bit 3

iDEN mobile standard uses values F716 and F816 in a special way.

CBS Data Coding Scheme

For the DCS values in Cell Broadcast Messages see GSM recommendation 03.38.[1]

See also

References

  1. 1.0 1.1 1.2 3GPP TS 23.038, Alphabets and language-specific information.