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 character set or message coding, which determines the encoding of the message user data
 * the message class, which determines to which component of the Mobile Station (MS) or User Equipment (UE) the message should be delivered
 * the request to automatically delete the message after reading
 * the state of flags indicating presence of unread voicemail, fax, e-mail or other messages
 * the indication that the message content is compressed
 * the language of the cell broadcast message

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 the GSM 7 bit default alphabet was designed for the 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.

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. In order to include these missing characters the 16-bit UTF-16 (in GSM called UCS-2) encoding may be used at the price of reducing the 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 two encodings for text messages and one encoding for binary messages:


 * GSM 7-bit default alphabet (which includes using of National language shift tables as well)
 * UCS-2
 * 8-bit data

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

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.

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 value also allows message compression, but it perhaps is not used by any operator.

SMS data coding scheme
The values of TP-DCS are defined in GSM recommendation 03.38.

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.