Register with Forum Nokia now and you'll enjoy the full benefits of the Forum Nokia membership.
Register LoginInnovation Series Videos highlighting Forum Nokia developers
Nokia releases new Qt developer offerings
Forum Nokia Developer Conference, India
Optimise your website for mobile devices with mobile web templates and layouts
Zoom and Rotate Gestures in FlashLite for touch-enabled devices
Jackson Feijó
Read more about Jackson on the Champions website.
Nokia Developer Days in South Africa
December 01, 2009
Johannesburg, South Africa
Forum Nokia Developer Conference ’09, India
December 07, 2009
Bangalore, India
LeWeb
December 09, 2009
Paris
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9am New York | 2pm London | 4pm Helsinki
Web Runtime Coding With Aptana WRT Plug-in
December 09, 2009
9:30am New Delhi, noon Beijing
Version 2.0 / September 2002
| 5 Sept 01 | Version 1.0 | Document added into Forum Nokia as an HTML document. | ||
| 24 Sept 02 | Version 2.0 | Questions 21 - 26 added. Questions and answers throughout the document updated. |
Nokia Corporation disclaims all liability, including liability for infringement of any proprietary rights, relating to the implementation of information presented in this document. Nokia Corporation does not warrant or represent that such use will not infringe such rights.
Nokia Corporation retains the right to make changes to this specification at any time without notice.
A license is hereby granted to download and print a copy of this specification for personal use only. No other license to any other intellectual property rights is granted herein.
The following Short Messaging FAQ and the Forum Nokia Knowledge Network will help you with detailed questions about Smart Messaging. For general information, go to the http://www.forum.nokia.com Web site and look under Smart Messaging. Smart Messaging Specification 3.0.0 as well as other documents in that section will provide a good starting point. Fee-based personal support is also available.
To get ringing tones and logos to your mobile phone, please contact the Club Nokia Careline in Europe. Club Nokia Careline supports and gives information to Club Nokia members. Visit http://www.club.nokia.com for more information. Your network service provider may also have services where you can get ringing tones and logos.
Most Nokia mobile phones are capable of receiving smart messages. These messages can contain ringing tones, operator logos, group graphics (caller line identification icons), picture messages, business cards (vCard), calendar bookings (vCal), Downloadable Profiles, and WAP settings. The Tagged Text Markup Language (TTML) and Dynamic Menu Control Protocol (DMCP) are supported in some phone models. A table documenting phone details can be found at http://www.forum.nokia.com/documents in the Nokia Phone Messaging Characteristics document.
Most Nokia phones support vCard and vCal smart messages. The specifications are determined by the Versit Consortium. The Electronic Calendaring and Scheduling Exchange Format Specification and The Electronic Business Card Specification can be found at http://www.imc.org.
Short messages containing 7-bit textual information can be sent from a PC program to a mobile phone. The mobile phone must be installed as a modem to the PC's operating system, and the phone must be connected to the PC using cable, infrared, or Bluetooth.
To send a short message using AT commands in Text mode:
| AT Command | Description |
| AT+CMGF=1<enter/carriage return> | Set SMS Text mode on. |
| AT+CMGS="+4441793181022"<enter/carriage return> <text entered><ctrl-Z> |
The message is sent to the entered number +4441793181022. Replace this number with your own number. |
| +CMGS: 211 OK |
Message reference is shown after successful sending of the message to the SC. |
For more information and for an explanation of error responses from the phone or from the network, see "AT Command Set for Nokia GSM Products" in the Smart Messaging documents section.
A short message can be sent from a PC program using AT commands. The mobile phone must be installed as a modem to the PC's operating system and the phone must be connected to the PC using cable, infrared, or Bluetooth.
To send a short message using AT-commands in PDU mode:
| AT Command | Description |
| AT+CMGF=0<enter/carriage return> | Set SMS PDU mode on. |
| AT+CMGS=<length><enter/carriage return> <pdu><ctrl-Z> |
Sends a message from the DTE to the network (SMS-SUBMIT). <length> is the length of the actual TPDU in octets. The RP layer SC (short message center) address octets are not counted in the length. <pdu> is the RP SC address Address-Value field followed by a TPDU in hexadecimal format. |
| +CMGS: 212 OK |
Message reference is shown after successful sending of the message to the SC. |
For more information and an explanation of error responses from the phone or from the network see "AT Command Set for Nokia GSM Products" in the Smart Messaging documents section.
SMS-SUBMIT and SMS-DELIVER are Transfer Protocol Data Units (TPDUs). The structure of these PDUs is explained in more detail in the GSM Specification 03.04. SMS-SUBMIT type messages can be sent from phone to SC, and SMS-DELIVER type messages are delivered from the SC to phone. Below is an example of a typical plain text message and its encoding.
Sending a short message using AT commands in PDU mode:
| AT Commands and Responses | Description |
| AT+CMGF=0 OK |
Set SMS PDU mode on |
| AT+CMGS=29 079153485002020911000C915348870420140000A71154 747A0E4ACF41F4F29C9E769F4121<ctrl-Z> |
Length of the SMS PDU (decimal 29). The RP layer SC address octets are not counted in the length. Rest of the message is explained in Table 1. |
| +CMGS: 212 OK |
Message reference is shown after successful sending of message to the SC |
Table 1: SC Address-Value field followed by a PDU in hexadecimal format
| Octet Number | Value | Description | Status |
| 0 | 07 | SC address length | Length of the SC address is 7 including the type of numbering plan indication |
| 1 | 91 | Type of address | International address using ISDN telephone numbering plan |
| 2-7 | 53 48 50 02 02 09 |
Short message service centre address | The short message service center number. F.ex +35 84 05 20 20 90 is encoded as 53 48 50 02 02 09. In this case the address takes 6 octets. |
| SMS-SUBMIT PDU starts... | |||
| 1 | 11 | First octet of SMS-SUBMIT | Description below |
| bit 7 | 0 | TP-Reply-Path | Reply path not set |
| bit 6 | 0 | TP-User-Data-Header-Indicator | Indication that user data doesn't contain additional header |
| bit 5 | 0 | TP-Status-Report-Request | Not requested |
| bit 4,3 | 10 | TP-Validity-Period-Format | Relative format |
| bit 2 | 0 | TP-Reject-Duplicates | Do not reject duplicates in SC |
| bit 1,0 | 01 | TP-Message-Type-Indicator | SMS-SUBMIT type |
| 2 | 00 | TP-Message-Reference | Given by the phone, application/user does not need to fill this octet. |
| 3 | 0C | Address length in semi-octets | Length of the address is 12 in semi-octets |
| 4 | 91 | Type of address | International address using ISDN telephone numbering plan |
| 5 - 10 | 53 48 87 04 20 14 |
TP-Destination-Address | The destination telephone number +35 84 78 40 02 41 is encoded as 53 48 87 04 20 14. In this case the address takes 6 octets. The address can be from 2 to 12 octets long. |
| 11 | 00 | TP-Protocol-Identifier, for details see GSM spec 03.40 | Parameter identifying the above layer protocol, if any. Note that for the straightforward case of simple MS-to-SC short message transfer, the TP-Protocol- Identifier is set to the value 00. |
| 12 | 00 | TP-Data-Coding-Scheme used in TPUser-Data, GSM spec 3.38 | Description below |
| bits 7,6 | 00 | Coding Group | Functionality related to usage of bits 4-0 |
| bit 5 | 0 | Indicates that text is uncompressed | |
| bit 4 | 0 | Indicates that bits 1 and 0 have no message class meaning | |
| bits 3,2 | 00 | Message coding | 7-bit message |
| bits 1,0 | 00 | Reserved | No meaning, indicated by bit 4 |
| 13 | A7 | TP-Validity-Period (Relative format), for details see GSM 03.40 | A7 -> 24 hours. |
| 14 | 11 | TP-User-Data-Length | Amount of septets in TP-User-Data: 11 hex -> 17 septets. This is because of 7-bit user data coding. |
| 15 - 29 | 54 74 7A 0E 4A CF 41 F4 F2 9C 9E 76 9F 41 21 |
TP-User-Data | Format of the user data depends on what kind of message is sent. This example includes a text string, "This is testing !". 17 septets + fill bits = 15 octets. |
SMS-SUBMIT and SMS-DELIVER are Transfer Protocol Data Units (TPDUs). The structure of these PDUs is explained in more detail in GSM Specification 03.04. The SMS-SUBMIT message goes from phone to network and the SMS-DELIVER message comes from network to phone. Below is an example of sending an 8-bit short message with SMS PDU mode. User data header is needed in all smart messages and concatenated messages.
Sending a short message using AT-commands in PDU mode:
| AT Commands and Responses | Description |
| AT+CMGF=0 OK |
Set SMS PDU mode on |
| 0AT+CMGS=50 0051000C9121487004633200F5A7240605041581158102 4A3A51D195CDD008001B20550590610560558550548540 8208499000<ctrl-Z> |
Length of the SMS PDU (decimal 29). The RP layer SC address octets are not counted in the length. Rest of the message is explained in Table 2. |
| +CMGS: 213 OK |
Message reference is shown after successful sending of message to the SC |
Table 2: SC Address-Value field followed by a PDU in hexadecimal format
| Octet Number | Value | Description | Status |
| 0 | 00 | SC address length | Length of the SC address is 0, because the SC address is not included in this message |
| SMS-SUBMIT PDU starts... | |||
| 1 | 51 | First octet of SMS-SUBMIT | Description below |
| bit 7 | 0 | TP-Reply-Path | Reply path not set |
| bit 6 | 1 | TP-User-Data-Header-Indicator | Indication that user data contains an additional header |
| bit 5 | 0 | TP-Status-Report-Request | Not requested |
| bits 4,3 | 10 | TP-Validity-Period-Format | Relative format |
| bit 2 | 0 | TP-Reject-Duplicates | Do not reject duplicates in SC |
| bits 1,0 | 01 | TP-Message-Type-Indicator | SMS-SUBMIT type |
| 2 | 00 | TP-Message-Reference | Given by the phone, application/user does not need to fill this octet |
| 3 | 0C | Address length in semi-octets. | Length of the address is 12 in semi-octets |
| 4 | 91 | Type of address | International address using ISDN telephone numbering plan |
| 5 - 10 | 21 48 70 04 63 32 | TP-Destination-Address | The destination telephone number. F.ex +12 84 07 40 36 23 is encoded as 21 48 70 04 63 32. In this case the address takes 6 octets. The address can be 2 to 12 octets long. |
| 11 | 00 | TP-Protocol-Identifier, for details see GSM spec 03.40 | Parameter identifying the above layer protocol, if any. Note that for the straightforward case of simple MS-to-SC short message transfer, the TP-Protocol- Identifier is set to the value 00. |
| 12 | F5 | TP-Data-Coding-Scheme used in TP-User-Data, consist one octet. See GSM 3.38 | Description below |
| bits 7-4 | 1111 | Coding Group | Functionality related to usage of bits 3 – 0 |
| bits 3,2 | 01 | Message coding | 8-bit data |
| bits 1,0 | 01 | Message class (bits 1 and 0) | Class 1, default meaning: ME-specific |
| 13 | A7 | TP-Validity-Period (Relative format)., see GSM spec 03.40 | A7 -> 24 hours. |
| 14 | 24 | TP-User-Data-Length | Amount of octets in TP-User-Data field to follow. 24 hex -> 36 octets. Length includes the user data header and data itself. |
| 15 - 50 | 06 05 04 15 81 15 81 02 4A 3A 51 D1 95 CD D0 08 00 1B 20 55 05 90 61 05 60 55 85 50 54 85 40 82 08 49 90 00 |
TP-User-Data | Format of the user data depends on what kind of message is sent. This message includes a user data header and a ringing tone. |
The following example shows how to encode the operator logo message user data. The length of the user data is so long that the message must be sent as a concatenated message (two parts). The examples do not include the whole SMS-SUBMIT PDU, which has to be added in front of both of these messages in order to send them. Remember to update the user data length when using the examples.
Here is the hex encoded user data. Details of the data are explained in Tables 3a and 3b.
First part:
0B05041582000000030102013021F3540A00480E01FFFFFFFFFFFFFF
FFFF000000000000000000FFFFFFFFFFFFFFFFFF0000000000000000001
0F000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000
Second part:
0B050415820000000301020200000000000001
Table 3a: First part of the Operator logo message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 82 | Information Element Data (octets 4 & 5 --> 1582 – destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL; 3 octets) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 02 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 01 | Information Element Data (sequence number of current short message) |
| 13 | 30 | Operator logo version number. ISO-8859-1 character "0" |
| 14 - 15 | 21 F3 | Mobile Country Code (MCC), octets 14 and15, little-endian BCD, filled with F16’, 123 -> 21 F3 Notice: To see the logo on the phone's screen, octets 14 and 15 must be defined with the settings of the current operator. |
| 16 | 54 | Mobile Network Code (MNC) coding, little-endian BCD, filled with F16’,45 -> 54 |
| 17 | 0A | ISO-8859-1 "Line feed" character |
| 18 | 00 | InfoField; see Smart Messaging Specification 3.0.0 for details. |
| 19 | 48 | The width of the bitmap. Hex 48 -> 72 decimal |
| 20 | 0E | The height of the bitmap. Hex 0E -> 14 decimal |
| 21 | 01 | The depth of the bitmap (number of gray scales) |
| 22 - 140 | FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 10 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |
OTA bitmap data |
Table 3b: Second part of the Operator logo message user data (length 19 octets -> hex 13)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 82 | Information Element Data (octets 4 & 5 --> 1582 – destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 02 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 02 | Information Element Data (sequence number of current short message) |
| 13 – 19 | 00 00 00 00 00 00 01 |
The rest of the OTA bitmap data |
The following example shows how to encode the Caller Line Identification icon (Caller group graphic) message user data.
Here is the hex encoded user data. Details of the data are explained in Table 4.
060504158300003000480E01000000000000000000000000000000000
000000079041000000000000085041000000000000081041000000000000
081041038F3800000008104104514400000008104104514400000008104
1045144000000085041045144000000079F41F38F380000000000000001
00000000000000001E00000000000000000000000
Table 4: CLI icon message user data (length 138 octets -> hex 8A)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 06 | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 83 | Information Element Data (octets 4 & 5 --> 1583 – destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 8 | 30 | CLI Icon version number. ISO-8859-1 character "0" |
| 9 | 00 | InfoField; see Smart Messaging Specification 3.0.0 for details |
| 10 | 48 | The width of the bitmap. Hex 48 -> 72 decimal |
| 11 | 0E | The height of the bitmap. Hex 0E -> 14 decimal |
| 12 | 01 | The depth of the bitmap (number gray scales) |
| 13-137 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 79 04 10 00 00 00 00 00 00 85 04 10 00 00 00 00 00 00 81 04 10 00 00 00 00 00 00 81 04 10 38 F3 80 00 00 00 81 04 10 45 14 40 00 00 00 81 04 10 45 14 40 00 00 00 81 04 10 45 14 40 00 00 00 85 04 10 45 14 40 00 00 00 79 F4 1F 38 F3 80 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00 01 E0 00 00 00 00 00 00 00 00 00 00 00 |
OTA bitmap data |
An OTA bitmap is used as part of the following Smart Messaging formats: Operator logo, CLI icon, Picture Message, and Downloadable Profile. In today's Nokia phones the maximum size of the operator logo and the CLI icon is 72 x 14 pixels, while the maximum size of the picture message and the screen saver is 72 x 28 pixels.
An OTA bitmap consists of a bitmap header and bitmap data. The size of the bitmap is specified in the header. Other information is defined there as well, but it handles issues that are not supported in today's Nokia phones. These values are similar in all OTA bitmap headers.
A typical OTA bitmap (72 x 14 pixels) header is: 00480E01
The image data is located after the header information and is encoded as follows. Each semi-octet in the OTA bitmap presents 4 pixels in the original bitmap. Because one row takes 18 semi-octets, the whole 72 x 14 (operator logo and CLI icon) bitmap takes 18 x 14 = 252 semi-octets = 126 octets. With picture message and screen saver, the entire 72 x 28 size bitmap takes 18 x 28 = 504 semi-octets = 252 octets.
For example, if the first four pixels of the image are 1010 (1 - black, 0 - white), the first semi-octet of the OTA bitmap data is hex A.
Here is an example of a simple OTA bitmap (72 x 14 pixels). In the picture, there are two black lines and several black dots:
|
FFFFFFFFFFFFFFFFFF 000000000000000000 FFFFFFFFFFFFFFFFFF 000000000000000000 10F000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000000 000000000000000001 |
<- First line black <- Second line white <- Fourth pixel of this line is black and 9-12 pixels are also black <- Last pixel of this row/bitmap is black |
For more information, please refer to the Smart Messaging Specification 3.0.0.
The following example shows how to encode a ringing tone message user data. Here is the hex encoded user data. Details of the data are explained in Tables 5 and 6.
06050415810000024A3A51D195CDD004001B2055
0590610560558550548540820849900000
Table 5: Ringing tone message user data (length 36 octets -> hex 24)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 06 | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 | 15 | Information Element Data (octets 4 & 5 --> 1581 – destination port) |
| 5 | 81 | Information Element Data |
| 6 | 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 7 | 00 | Information Element Data |
The rest of the user data (024A3A51D195CDD004001B2055059
0610560558550548540820849900000) has
been encoded from the bit string, which is explained in Table 6. The entire bit string must be divided to octets
and then transferred to hex code. For more information, please see the Smart Messaging Specification 3.0.0 .
Table 6: Ringing tone bit string
| Bit String | Description | Value |
| 00000010 | <command-length> | Number of command parts present |
| 01001010 | <ringing-tone-programming> | Command part 1 (with filler bit) |
| 0011101 | <sound> | Command part 2 |
| 001 | <basic song type> | |
| 0100 | <song title length> | 4 characters (ISO-8859-1) |
| 01110100 | the first character | T |
| 01100101 | the second character | E |
| 01110011 | the third character | S |
| 01110100 | the fourth character | T |
| 00000001 | <song sequence length> | 1 song pattern |
| 000 | <pattern header> | pattern header ID |
| 00 | <pattern id> | A-part |
| 0000 | <loop value> | no loop |
| 00001101 | <pattern specifier> | <length of the new pattern> 13 pattern instructions |
| 100 | <tempo instruction id> | |
| 10000 | <beats per minute> | 160 (i.e., length of 1/4 note = 0,38 sec.) |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 010 | <note duration> | ¼ note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0110 | <note value> | note F |
| 010 | <note duration> | ¼ note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 1000 | <note instruction> | note G |
| 010 | <note duration> | ¼ note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 100 | <note duration> | 1/16 note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 011 | <note duration> | 1/8 note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 010 | <note duration> | ¼ note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 001 | <note duration> | ½ note |
| 00 | <note duration specifier> | no special duration |
| 001 | <note instruction id> | |
| 0101 | <note value> | note E |
| 000 | <note duration> | full note |
| 00 | <note duration specifier> | no special duration |
| 010 | <scale instruction id> | |
| 00 | <note scale> | Scale-1 (i.e., note A is 440 Hz) |
| 001 | <note instruction id> | |
| 0000 | <note value> | pause |
| 010 | <note duration> | ¼ note |
| 00 | <note duration specifier> | no special duration |
| 010 | <scale instruction id> | |
| 01 | <note scale> | Scale-2 (i.e., note A is 880 Hz), default |
| 001 | <note instruction id> | |
| 1001 | <note value> | Gis 'i.e. As ' |
| 000 | <note duration> | full note |
| 00 | <note duration specifier> | no special duration |
| 0000000 | filler bits | |
| 00000000 | <command end> | end of the ringing tone data |
The following example shows how to encode the vCard message user data.
The vCard message content is:BEGIN:VCARD
VERSION:2.1
N:Smith;Mike
TEL;PREF:+55512345
END:VCARD
Here is the hex encoded user data of the example above. Details of the data are explained in Table 7.
06050423F40000424547494E3A56434152440D0A5645525349
4F4E3A322E310D0A4E3A536D6974683B4D696B650D0A54454C
3B505245463A2B35353531323334350D0A454E443A56434152
440D0A
Table 7: vCard message user data (length 78 octets -> hex 4E)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header, similar to Table 2. | ||
| 1 | 06 | Length of User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 23 F4 | Information Element Data (octets 4 & 5 --> 23F4 - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 - 20 | 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A |
BEGIN:VCARD<CR><LF> |
| 21 - 33 | 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A |
VERSION:2.1<CR><LF> |
| 34 - 47 | 4E 3A 53 6D 69 74 68 3B 4D 69 6B 65 0D 0A |
N:Smith;Mike<CR><LF> |
| 48 - 67 | 54 45 4C 3B 50 52 45 46 3A 2B 35 35 35 31 32 33 34 35 0D 0A |
TEL;PREF:+55512345<CR><LF> |
| 68 - 78 | 45 4E 44 3A 56 43 41 52 44 0D 0A |
END:VCARD<CR><LF> |
The following example shows how to encode vCalendar message user data.
The vCalendar message content is:
BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
DESCRIPTION:Steering Group meeting in Portal
DTSTART:20000906T100000
DTEND:20000906T120000
END:VEVENT
END:VCALENDAR
Here is the hex encoded user data. Details of the data are explained in Tables 8a and 8b. The length of the user data is so long that the message must be sent as a concatenated message (two parts).
First part:
0B050423F500000003020201424547494E3A5643414C454
E4441520D0A56455253494F4E3A312E300D0A424547494E
3A564556454E540D0A4445534352495054494F4E3A53746
56572696E672047726F7570206D656574696E6720696E20
506F7274616C0D0A445453544152543A323030303039303
6543130303030300D0A4454454E443A32303031303930
Second part:
0B050423F50000000302020236543132303030300D0A454E
443A564556454E540D0A454E443A5643414C454E4441520D0A
Table 8a: First part of the vCalendar message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, using 8-bit data coding scheme and user data header, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 23 F5 | Information Element Data (octets 4 & 5 --> 23F5 – destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 02 | Information Element Data (concatenated short message reference number) |
| 11 | 02 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 01 | Information Element Data (sequence number of current short message) |
| 13 - 29 | 42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52 0D 0A |
BEGIN:VCALENDAR<CR><LF> |
| 30 - 42 | 56 45 52 53 49 4F 4E 3A 31 2E 30 0D 0A |
VERSION:1.0<CR><LF> |
| 43 - 56 | 42 45 47 49 4E 3A 56 45 56 45 4E 54 0D 0A |
BEGIN:VEVENT<CR><LF> |
| 57 - 102 | 44 45 53 43 52 49 50 54 49 4F 4E 3A 53 74 65 65 72 69 6E 67 20 47 72 6F 75 70 20 6D 65 65 74 69 6E 67 20 69 6E 20 50 6F 72 74 61 6C 0D 0A |
DESCRIPTION:Steering GROUP Meeting in Portal<CR><LF> |
| 103 - 127 | 44 54 53 54 41 52 54 3A 32 30 30 30 30 39 30 36 54 31 30 30 30 30 30 0D 0A |
DTSTART:20000906T100000<CR><LF> |
| 128 - 140 | 44 54 45 4E 44 3A 32 30 30 30 30 39 30 |
DTEND: 2000090 |
Table 8b: Second part of the vCalendar message user data (length 49 octets -> hex 31)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, using 8-bit data coding scheme and user data header, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 | 23 F5 | Information Element Data (octets 4 & 5 --> 23F5 – destination port). |
| 6 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 – originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 02 | Information Element Data (concatenated short message reference number) |
| 11 | 02 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 02 | Information Element Data (sequence number of current short message) |
| 13 - 22 | 36 54 31 32 30 30 30 30 0D 0A |
6T120000<CR><LF> |
| 23 - 34 | 45 4E 44 3A 56 45 56 45 4E 54 0D 0A |
END:VEVENT<CR><LF> |
| 35 - 49 | 45 4E 44 3A 56 43 41 4C 45 4E 44 41 52 0D 0A |
END:VCALENDAR<CR><LF> |
The easiest way to remove a previously downloaded operator logo and restore the original one is to send an almost normal operator logo message to the phone. The difference from the normal operator logo message is the value of the octets—9, 10 and 11—which determines values of the MCC and MNC. The octets must have different values than the current operator's values. For example, the values of the octets 9 -11 could be 000000. The content of the OTA bitmap has no relevance in the message, therefore the OTA bitmap data can be missing (header information is mandatory). When receiving this kind of operator logo message the logo must be saved and after that the original operator logo appears on the screen.
For example, here is the user data of the message that removes an old operator logo:
06050415820000300000000A00000001
A detailed description of the user data octets can be found in FAQ Section 9 (Table 3a).
The following example shows how to encode a picture message user data. The example includes a picture and a text "Test".
The length of the Picture message user data is so long that the message must be sent as a concatenated message (three parts). Here is the hex encoded user data; the details of the data are explained in Tables 9a, 9b, and 9c.
First part:
0B0504158A0000000301030130000004546573740201
0000481C016666666666666666669999999999999999
99800000000000000001400000006000E00002400000
0E900310000280000031080CF3B80180000040041104
4401400000FFFE2F8B12024000000000538CAA028000
0000006289C401800000000041414001400000000001
4280024000200000
Second part:
0B0504158A00000003010302014280028001F0000000A
28001800FFE000000A500015FFFFFFFFFFEA57FFA400A
AA0000005500028201500440015D08A1881024800040F
F0201404100010003ABE00244000008200D5558828010
1440001AAAAC0180000000003555560140010000806AA
AAB024000000000555555028000000000000000019999
9999999999
Third part:
0B0504158A000000030103039999666666666666666666
For more information, please refer to the Smart Messaging Specification 3.0.0.
Table 9a: First part of the Picture message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port). |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 03 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 01 | Information Element Data (sequence number of current short message) |
| 13 | 30 | Identifier for version, current version is (ASCII) zero "0". If it is not "0",stop processing of the message. |
| 14 | 00 | "00" <Item-length> <ISO-8859-1-char>* |
| 15 | 00 | Text length (octets 15 & 16) |
| 16 | 04 | Text length (octets 15 & 16) |
| 17 - 20 | 54 65 73 74 | Test |
| 21 | 02 | "02" = <Item length><OTA bitmap> |
| 22 - 23 | 01 00 | <Item-length> (octets 22 & 23) value 0100(hex) = 256(dec) = 4 octets for header and the rest for OTA bitmap data |
| 24 | 00 | The first byte of the bitmap must be 00 (hex); i.e., OTA bitmap header field 'number of animated icons' must hold 0, indicating that there is no animation, just a single static image. |
| 25 | 48 | Width = 48(hex) = 72(dec) |
| 26 | 1C | Height = 1C(hex) = 28(dec) |
| 27 | 01 | The depth of the bitmap (number of grey scales) |
| 28 - 140 | 66 66 66 66 66 66 66 66 66 99 99 99 99 99 99 99 99 99 80 00 00 00 00 00 00 00 01 40 00 00 00 60 00 E0 00 02 40 00 00 0E 90 03 10 00 02 80 00 00 31 08 0C F3 B8 01 80 00 00 40 04 11 04 44 01 40 00 00 FF FE 2F 8B 12 02 40 00 00 00 00 53 8C AA 02 80 00 00 00 00 62 89 C4 01 80 00 00 00 00 41 41 40 01 40 00 00 00 00 01 42 80 02 40 00 20 00 00 |
OTA bitmap visible data |
Table 9b: Second part of the Picture message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 03 | Information Element Data (total number of (concatenated) messages (0-255)) |
| 12 | 02 | Information Element Data (sequence number of current short message) |
| 13 - 140 | 01 42 80 02 80 01 F0 00 00 00 A2 80 01 80 0F FE 00 00 00 A5 00 01 5F FF FF FF FF FE A5 7F FA 40 0A AA 00 00 00 55 00 02 82 01 50 04 40 01 5D 08 A1 88 10 24 80 00 40 FF 02 01 40 41 00 01 00 03 AB E0 02 44 00 00 08 20 0D 55 58 82 80 10 14 40 00 1A AA AC 01 80 00 00 00 00 35 55 56 01 40 01 00 00 80 6A AA AB 02 40 00 00 00 00 55 55 55 02 80 00 00 00 00 00 00 00 01 99 99 99 99 99 99 99 |
OTA bitmap visible data continues |
Table 9c: Third part of the Picture message user data (length 23 octets -> hex 17)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 03 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 03 | Information Element Data (sequence number of current short message) |
| 13 - 23 | 99 99 66 66 66 66 66 66 66 66 66 |
Rest of the OTA bitmap visible data |
The following example shows how to encode Downloadable Profile message user data. The Downloadable Profile message example includes three parts: profile name, ringing tone, and screen saver.
The length of the Downloadable Profile message user data is so long that the message must be sent as a concatenated message (four parts). Here is the hex encoded user data; the details of the data are explained in Tables 10a, 10b, 10c, and 10d.
First part:
0B0504158A00000003010401300400100053004D00530020005400650 0730074030090024A3A6589C9A585B989BDC9D40400C920A2AC22D49C 81A61A428AB08B52720698690A26C49C69A8186184289B1271A6A0618 610A2AC22D49C81A61A428AB08B52720698692698A22C26C2A826C22C 49A2106186186288B09B0AA09B0AA09B0AB49C12718618718A22
Second part:
0B0504158A00000003010402C26849C6289A12718A26849C61A6288B0 9B0AA09B0AA08B0AA52698A22C26C2A826C22C49A200006010000481C 0180000BFFFFFFD00001410012000000480082210022FFFFFF4400841 1FC42800001423F88090082BFFFFD410090050102A000054080A00000 02AFFFF5400000000002A80015400000009802ABFFD5403F8001
Third part:
0B0504158A000000030104032402AA0055402480112402AAFF5540248 0392402AA815540208054C802AABD55402080100002AAA55540000010 0002AAA555400000110402AABD55401300110402AA815540248011240 2AAFF55402480012402AA005540248001FC02ABFFD5401900000002A8 0015400000000002AFFFF5400000050102A000054080A0090082
Fourth part:
0B0504158A00000003010404BFFFFD41009011FC42800001423F88210 022FFFFFF44008441001200000048008280000BFFFFFFD00001
For more information, please refer to the Smart Messaging Specification 3.0.0.
Table 10a: First part of the Downloadable Profile message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port). |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 04 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 01 | Information Element Data (sequence number of current short message) |
| 13 | 30 | Identifier for version, current version is (ASCII) zero "0". If it is not "0", stop the processing the message. |
| 14 | 04 | Item type 04 (Item length & Profile Name). The profile name must be encoded to unicode characters. |
| 15 - 16 | 00 10 | Item length (octets 15 & 16) |
| 17 - 32 | 00 53 00 4D 00 53 00 20 00 54 00 65 00 73 00 74 | SMS TEST |
| 33 | 03 | Item type 03 (ringing tone) |
| 34 - 35 | 00 90 | Item length (octets 34 & 35) |
| 36-140 | 02 4A 3A 65 89 C9 A5 85 B9 89 BD C9 D4 04 00 C9 20 A2 AC 22 D4 9C 81 A6 1A 42 8A B0 8B 52 72 06 98 69 0A 26 C4 9C 69 A8 18 61 84 28 9B 12 71 A6 A0 61 86 10 A2 AC 22 D4 9C 81 A6 1A 42 8A B0 8B 52 72 06 98 69 26 98 A2 2C 26 C2 A8 26 C2 2C 49 A2 10 61 86 18 62 88 B0 9B 0A A0 9B 0A A0 9B 0A B4 9C 12 71 86 18 71 8A | Ringing tone data. For more information on encoding a ringing tone format, please refer to the FAQ Section 12 (Encoding Ringing Tone User Data (8-bit)) and the Smart Messaging specification. Copyright © 2002. Nokia Mobile Phones. All rights reserved. |
Table 10b: Second part of the Downloadable Profile message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 04 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 02 | Information Element Data (sequence number of current short message) |
| 13 - 51 | C2 68 49 C6 28 9A 12 71 8A 26 84 9C 61 A6 28 8B 09 B0 AA 09 B0 AA 08 B0 AA 52 69 8A 22 C2 6C 2A 82 6C 22 C4 9A 20 00 | Ringing tone data continues |
| 52 | 06 | Item type 06 (screen saver) |
| 53 - 54 | 01 00 | Item length (octets 56 & 57). Length is 256 bytes |
| 55 - 140 | 00 48 1C 01 80 00 0B FF FF FF D0 00 01 41 00 12 00 00 00 48 00 82 21 00 22 FF FF FF 44 00 84 11 FC 42 80 00 01 42 3F 88 09 00 82 BF FF FD 41 00 90 05 01 02 A0 00 05 40 80 A0 00 00 02 AF FF F5 40 00 00 00 00 02 A8 00 15 40 00 00 00 98 02 AB FF D5 40 3F 80 01 | OTA bitmap format, 72x28 bitmap. For more information, please refer to the FAQ Section 11 (Encoding an OTA Bitmap) and the Smart Messaging specification. |
Table 10c: Third part of the Downloadable Profile message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16 bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 04 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 03 | Information Element Data (sequence number of current short message) |
| 13 - 140 | 24 02 AA 00 55 40 24 80 11 24 02 AA FF 55 40 24 80 39 24 02 AA 81 55 40 20 80 54 C8 02 AA BD 55 40 20 80 10 00 02 AA A5 55 40 00 00 10 00 02 AA A5 55 40 00 00 11 04 02 AA BD 55 40 13 00 11 04 02 AA 81 55 40 24 80 11 24 02 AA FF 55 40 24 80 01 24 02 AA 00 55 40 24 80 01 FC 02 AB FF D5 40 19 00 00 00 02 A8 00 15 40 00 00 00 00 02 AF FF F5 40 00 00 05 01 02 A0 00 05 40 80 A0 09 00 82 | The OTA bitmap data continues |
Table 10d: Fourth part of the Downloadable Profile message user data (length 54 octets -> hex 36)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 0B | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 8A | Information Element Data (octets 4 & 5 --> 158A - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 9 | 03 | Information Element Data Length (IEDL) |
| 10 | 01 | Information Element Data (concatenated short message reference number) |
| 11 | 04 | Information Element Data (total number of concatenated messages (0-255)) |
| 12 | 04 | Information Element Data (sequence number of current short message) |
| 13 - 54 | BF FF FD 41 00 90 11 FC 42 80 00 01 42 3F 88 21 00 22 FF FF FF 44 00 84 41 00 12 00 00 00 48 00 82 80 00 0B FF FF FF D0 00 01 | Rest of the OTA bitmap data |
The User Data part of an SMS is limited to 140 octets. With some Smart Messaging formats there are more than 140 octets of User Data, so these must be sent using a series of messages. The User Data parts of these messages are then concatenated (after stripping off the User Data Headers) to form a full message.
The octets that specify the concatenation are defined in the User Data Header of each SMS in the series. There are five (5) octets required as follows:
Table 11: Description of extra octets needed for concatenated messages
| Octet Number | Value | Description |
| 1 | 00 | Information Element Identifier (IEI; concatenated short message, 8-bit reference number) |
| 2 | 03 | Information Element Data Length (IEDL) |
| 3 | 01 | Information Element Data (concatenated short message reference number) |
| 4 | 05 | Information Element Data (total number of concatenated messages (0-255)) |
| 5 | 01 | Information Element Data (sequence number of current short message) |
The reference number can be anything, as long as it is unique for each series of messages sent. As an example, in a five-part series with the reference number=10 decimal (A hex) these octets would be:
Table 12: Example of "Concatenation octets" for a five-message series (reference number 10 -> hex A)
| SMS Number | "Concatenation octets" |
| 1 | 00 03 0A 05 01 |
| 2 | 00 03 0A 05 02 |
| 3 | 00 03 0A 05 03 |
| 4 | 00 03 0A 05 04 |
| 5 | 00 03 0A 05 05 |
Note that this set of octets is only one part of the User Data Header. For a full example, please see Section 8.
The User Data part of an SMS is limited to 140 octets. The User Data Header takes 7 octets (1 length of user data header, 1 information element identifier, 1 information element data length, 4 port addresses). The actual bitmap part of a 72x14 OTA bitmap takes 9x14 = 126 octets. The OTA bitmap headers, when constructed according to specifications, take 9 more octets (1 OTA bitmap-version-number, 3 MCC+MNC, 1 Linefeed, 1 InfoField, 1 width, 1 height, 1 depth); see Table 3a in Section 9. This makes a total of 142 octets – too long by an annoying two octets! This means that according to the specifications, any operator logo would require two SMS messages.
There is a solution that allows these logos to be sent using only one SMS. This solution currently works with Nokia phones, but no support for single-message logos can be promised, nor should it be assumed by developers. It must be stressed that functioning of single-message logos in future Nokia terminals or terminals provided by other vendors supporting Smart Messaging cannot be guaranteed. (Note that a 72x13 OTA bitmap will fit into a single SMS message and still comply with specifications! These types of bitmaps will be guaranteed to be compatible, whereas a 72x14 logo sent using the method described below will not.)
In any case, the solution for a 72x14 logo is such that the two octets on either side of the MCC+MNC octets are left out completely. These octets are the OTA bitmap-version-number and the linefeed character. Thus, the single-SMS version of sending the logo from Section 9 is shown below.
Here is the hex encoded user data. Details of the data are explained in Table 13:
0605041582000042F45000480E01FFFFFFFFFFFFFFFFFF 000000000000000000FFFFFFFFFFFFFFFFFF0000000000 0000000010F00000000000000000000000000000000000 0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000 0001
Table 13: Single-message operator logo message user data (length 140 octets -> hex 8C)
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 06 | Length of the User Data Header |
| 2 | 05 | Information Element Identifier (IEI; application port addressing scheme, 16-bit port address) |
| 3 | 04 | Information Element Data Length (IEDL) |
| 4 - 5 | 15 82 | Information Element Data (octets 4 & 5 --> 1582 - destination port) |
| 6 - 7 | 00 00 | Information Element Data (octets 6 & 7 --> 0000 - originator port) |
| 8 - 9 | 21 F3 | MCC (Mobile Country Code), octets 8 and 9, little-endian BCD, filled with F16', 123 -> 21 F3 Notice: To see the logo on the phone's screen, octets 8 and 9 must be defined with the settings of the current operator. |
| 10 | 54 | MNC (Mobile Network Code) coding, little-endian BCD, filled with F16', 54 -> 45 |
| 11 | 00 | InfoField; see Smart Messaging Specification 3.0.0 for details |
| 12 | 48 | The width of the bitmap. Hex 48 -> 72 decimal |
| 13 | 0E | The height of the bitmap. Hex 0E -> 14 decimal |
| 14 | 01 | The depth of the bitmap (number of gray scales) |
| 15 - 140 | FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 10 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 | OTA bitmap data |
Often after receiving or saving an operator logo, the logo does not appear on the screen. This is caused by wrong encoding of MNC or MCC. Please see Section 9, Table 3a, for an example of how MCC=123, MNC=45 has been encoded. (MCC=123, MNC=45 -> 21 F3 54).
This user data containing ringing tone with Unicode song title can be added to a text message, using an 8-bit data coding scheme and user data header, similar to Table 2.
Table 14. Ringing tone with Unicode characters in song title
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 06 | Length of user data header is 06 (hex) = 6 (dec) |
| 2 | 05 | Information Element identifier; Meaning: Application port addressing scheme, 16-bit address |
| 3 | 04 | Length of IE |
| 4 - 5 | 15 81 | Destination port |
| 6 - 7 | 00 00 | Source port |
| 8 | 03 | Number of command parts present |
| 9 | 4A | Ringing-tone-programming (command part 1) |
| 10 | 44 | Unicode (command part 2) |
| Bit stream... | 0011101 | Sound (command part 3) |
| 0 01 | Basic-song-type | |
| 0100 | Song-title-length | |
| 00 00000001 110100 | T, notice that these are not octet aligned | |
| 00 00000001 100101 | E | |
| 00 00000001 110011 | S | |
| 00 00000001 110100 | T | |
| ... | Continues as normal ringing tone |
The following is an example of a short message with Unicoded data part in Table 15.
Table 15: Short message with Unicode characters
| Octet Number | Value | Description |
| SMS-SUBMIT pdu without user data, having 8-bit data coding scheme and user data header indication, similar to Table 2. | ||
| 1 | 01 | SMS-SUBMIT, do not reject duplicates in SC, validity period not present, no status report request, no header in user data, reply path not set |
| 2 | 00 | TP message reference, given by the phone |
| 3 | 0A | Destination address length = 10 (dec) |
| 4 | A1 | Type of address is national using ISDN telephone numbering plan |
| 5 - 9 | 50 10 32 54 76 | Destination address: 0501234567 |
| 10 | 00 | Protocol identifier: straightforward |
| 11 | 08 | Data coding scheme: UCS2 16-bit message, no class meaning |
| 12 | 08 | Length of user data in octets |
| 13 - 20 | 00 74 00 65 00 73 00 74 | Test |
The following is an example of a vCard with Unicode characters in Tables 16a and 16b.
Table 16a: vCard with Unicode characters, first message
| Octet Number | Value | Description |
| 1 | 41 | SMS-SUBMIT, do not reject duplicates in SC, validity period not present, no status report request, header in user data, reply path not set |
| 2 | 00 | TP message reference, given by the phone |
| 3 - 9 | 0A A1 50 10 32 54 76 | Destination address length = 10 (dec), Type of address is national using ISDN telephone numbering plan; Destination address: 0501234567 |
| 10 | 00 | Protocol identifier: straightforward |
| 11 | F5 | Data coding scheme: 8-bit message |
| 12 | 8C | Length of user data in octets |
| 13 | 0B | Length of user data header is 11 |
| 14 - 19 | 05 04 23 F4 00 00 | Information Element Identifier, length of IE, destination port, and Source port |
| 20 - 24 | 00 03 03 02 01 | Information Element Identifier, length of IE, reference number, amount of concatenation parts, and sequence number of the current short message |
| 25 - 37 | 42 45 47 49 4E 3A 56 43 41 52 44 0D 0A | BEGIN:VCARD<CR><LF> |
| 38 - 50 | 56 45 52 53 49 4F 4E 3A 32 2E 31 0D 0A | VERSION:2.1rn |
| 51 - 80 | 4E 3B 43 48 41 52 53 45 54 3D 55 54 46 2D 38 3A C2 A0 E4 BB 96 E4 BB AC 3B 3B 3B 3B 0D 0A | N;CHARSET=UTF-8:<00 A0><4E D6><4E EC><CR><LF> |
| 81 - 109 | 54 45 4C 3B 50 52 45 46 3B 56 4F 49 43 45 3A 38 34 35 36 35 36 39 36 35 36 36 36 0D 0A | TEL;PREF;VOICE:845656965666<CR><LF> |
| 110 - 125 | 45 4D 41 49 4C 3A 61 64 40 74 2E 63 6F 6D 0D 0A | EMAIL:ad@t.com<CR><LF> |
| 126 - 138 | 55 52 4C 3A 68 74 74 70 3A 2F 2F 0D 0A | URL:http:// <CR><LF> |
| 139 - 152 | 4C 41 42 45 4C 3B 43 48 41 52 53 45 54 3D | LABEL;CHARSET= |
Table 16b: Vcard with Unicode characters, second Message
| Octet Number | Value | Description |
| 1 | 41 | SMS-SUBMIT, do not reject duplicates in SC, validity period not present, no status report request, header in user data, reply path not set |
| 2 | 00 | TP message reference, given by the phone |
| 3 - 9 | 0A A1 50 10 32 54 76 | Destination address length = 10 (dec); Type of address is national using ISDN telephone numbering plan, Destination address: 0501234567 |
| 10 | 00 | Protocol identifier: straightforward, |
| 11 | F5 | Data coding scheme: 8-bit message |
| 12 | 25 | Length of user data in octets |
| 13 | 0B | Length of user data header is 11 |
| 14 - 19 | 05 04 23 F4 00 00 | Information Element Identifier, length of IE, destination port, and Source port |
| 20 - 24 | 00 03 03 02 02 | Information Element Identifier, length of IE, reference number, amount of concatenation parts, and Sequence number of the current short message |
| 25 - 38 | 55 54 46 2D 38 3A E4 BB 96 E4 BB AC 0D 0A | UTF-8:<4E D6><4E EC><CR><LF> |
| 39 - 49 | 45 4E 44 3A 56 43 41 52 44 0D 0A | END:VCARD<CR><LF> |
The following is an example of converting between bits, hex and decimal: 1010 0101 = A5h = 165.
| Octet of Bits | Calculating Hexadecimal Number | Calculating Decimal Number |
| 1706150403120110 | 8 * 17 + 4 * 06 + 2 * 15 + 1 * 04 = 8 + 2 = A 8 * 03 + 4 * 12 + 2 * 01 + 1 * 10 = 4 + 1 = 5 10 * 16 + 5 = A5h |
10 * 16 + 5 = 165 or 128 * 1 + 64 * 0 + 32 * 1 + 16 * 0 + 8 * 0 + 4 * 1 + 2 * 0 + 1 * 1 = 165 |
| 20 = 1 24 = 16 21 = 2 25 = 32 22 = 4 26 = 64 23 = 8 27 = 128 |
How to present 16 different numbers with one character: 0 1 2 3 4 5 6 7 8 9 A B C D E F A=10 B=11 C=12 D=13 E=14 F=15 |
1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255 256 combinations: 0 - 255 |
Blinking messages can be encoded using UCS2 encoding. Use 00 01 (hex bytes) as a toggle for blinking. This is an additional feature that only works on some older phones.
Flash messages show up on the user interface of the phone just after receiving. Messages that are sent with class 0 data coding scheme are treated as flash messages by the phone. These messages are not automatically stored to the phone.
Download PDF
(1037.29 kB)