User Data Header
User Data Header, UDH (uživatelská datová hlavička) je binární struktura, která může být přítomna na začátku SMS zpráv v GSM. Neobsahuje žádný text, ale určuje, jak má být zpráva zobrazována a zpracovávána.
UDH nejčastěji slouží pro vytváření sřetězených SMS, kdy je zpráva s délkou více než 160 sedmibitových nebo 140 osmibitových znaků rozdělena na několik částí, které lze spojit podle informací uvedených v UDH. UDH může být použito také pro obohacení obsahu zprávy o barvy, formátování textu, malé obrázky a animace a jednoduché melodie, které se používají v Enhanced Messaging Service (EMS), dále pro indikaci, že je použita národní tabulka nebo pro přenos čísel portů, které mohou způsobit start aplikace v mobilním telefonu, což se používá např. pro příjem MMS zpráv.[1]
UDH je definováno v 3GPP 23.040 (původně GSM 03.40).[2]
Technická realizace
Přítomnost UDH je indikována nastavením příznaku TP-UDHI (Indikátor hlavičky uživatelských dat protokolu transportní vrstvy), což je 6. bit prvního oktetu GSM 03.40 nebo 3GPP 23.040 zprávy, na hodnotu 1.
Obsahuje-li zpráva UDH, je UDH vždy na začátku pole TP-UD (TP-User Data) a začíná oktetem UDHL (délka UDH). Zbytek UDH je posloupnost trojic Tag-Length-Value nezývaných anglicky Information Elements, IE. Tag (návěští) se v tomto případě nazývá anglicky Information Element Identifier, IEI a je vždy 1 oktet dlouhý, Length (délka) se nazývá Information Element Length, IEL a zabírá také 1 oktet, a určuje délku vlastních dat (Information Element Data, IED) informačního prvku v oktetech.
UDH ubírá prostor z datového pole zprávy. Čím je delší UDH, tím méně prostoru zbývá pro text zprávy nebo jiný obsah. Když TP-UD obsahuje sedmibitová data, délka TP-UD je udána v septetech a UDH je zarovnáno na hranici septetu pomocí 0-6 nulových bitů. Toto zarovnání mělo u starých telefonů (které neměly podporu UDH) zabránit tomu, aby se zpráva obsahující UDH stala nečitelnou. U těchto telefonů se UDH zobrazilo jako změť nečitelných znaků na začátku zprávy; pokud zpráva začínala znakem Carriage return (<CR>), byla tato změť přepsána zbytkem zprávy, takže nijak nerušila.
Příklad
Následující tabulka ukazuje, jak je zakódováno pole TP-UD zprávy v sedmibitové implicitní abecedě GSM, které obsahuje text 'Hi' s předdefinovaným zvukem 'Vysoký akord':
Oktet TP-UD | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
---|---|---|---|---|---|---|---|
Hodnota (hex) | 04 | 0B | 02 | 00 | 08 | 20 | D3 |
Význam | Délka UDH | IEI: Předdefinovaný zvuk | Délka IE | Pozice | Vysoký akord | 6 nižších bitů 1. znaku + 2 výplňkové bity | 7 nižších bitů 2. znaku + 1 horní bit prvního znaku |
Celková délka zprávy uvedená v poli TP-UDL bude 8. UDH má 8 * (1 + 4) = 40 bitů, 2 bity jsou výplňkové, protože (40 + 2) / 7 = 6 beze zbytku, 2 * 7 = 14 bitů pro text; celková délka TP-UD je 40 + 2 + 14 = 56 bitů = 7 oktetů = 8 septetů.
Informační prvky UDH
IEI (hex) | Význam | Druh | Délka | Může se opakovat |
---|---|---|---|---|
00 | Zřetězená zpráva s 8bitovým referenčním číslem | Řízení SMS | 3 | ne |
01 | Speciální SMS Message Indication | Řízení SMS | 2 | ano |
02 | Rezervováno | Nedefinováno | Nedefinováno | ano |
03 | Nepoužíváno, aby se zabránilo chybné interpretaci jako znak Line feed (<LF>) | Nedefinováno | Nedefinováno | ano |
04 | 8bitové aplikační porty | Řízení SMS | 2 | ne |
05 | 16bitové aplikační porty | Řízení SMS | 4 | ne |
06 | Parametry řízení SMS centra | Řízení SMS | 1 | ne |
07 | Indikátor původu UDH | Řízení SMS | 1 | ano |
08 | Zřetězená zpráva s 16bitovým referenčním číslem | Řízení SMS | 4 | ne |
09 | Wireless Control Message Protocol | Řízení SMS | 1-255 | ano |
0A | Formátování textu | Řízení EMS | 3-4 | ano |
0B | Předdefinovaný zvuk | EMS obsah | 2 | ano |
0C | Uživatelem definovaný zvuk (iMelody max. 128 bytů) | EMS obsah | 2-129 | ano |
0D | Předdefinovaná animace | EMS obsah | 2 | ano |
0E | Velká animace (16*16 krát 4 = 32*4 =128 bytů) | EMS obsah | 129 | ano |
0F | Malá animace (8*8 krát 4 = 8*4 =32 bytů) | EMS obsah | 33 | ano |
10 | Velký obrázek (32*32 = 128 bytů) | EMS obsah | 129 | ano |
11 | Malý obrázek (16*16 = 32 bytů) | EMS obsah | 33 | ano |
12 | Obrázek proměnné velikosti | EMS obsah | 4-255 | ano |
13 | Indikátor uživatelské nápovědy | Řízení EMS | 1 | ano |
14 | Rozšířený objekt | EMS obsah | 7-255 | ano |
15 | Znovupoužitý rozšířený objekt | Řízení EMS | 3 | ano |
16 | Řízení komprimace | Řízení EMS | 3-255 | ne |
17 | Indikátor distribuce objektu | Řízení EMS | 2 | ano |
18 | Standardní WVG objekt | EMS obsah | 1-255 | ano |
19 | WVG objekt velikosti znaku | EMS obsah | 1-255 | ano |
1A | rozšířený objekt Data Požadavek Příkaz | Řízení EMS | 0-255 | ne |
1B - 1F | Rezervováno pro budoucí EMS vlastnosti | Nedefinováno | 0-255 | ano |
20 | E-mailová hlavička podle RFC 822 | Řízení SMS | 1 | ne |
21 | Prvek formátování hyperlinku | Řízení SMS | 0-255 | ano |
22 | Prvek návratové adresy | Řízení SMS | 1-255 | ne |
23 | Vylepšená informace o obsahu hlasové schránky | Řízení SMS | 0-255 | ne |
24 | Náhrada rozšířené tabulky národní znakovou tabulkou | Řízení SMS | 1 | ne |
25 | Náhrada základní tabulky národní znakovou tabulkou | Řízení SMS | 1 | ne |
26 – 6F | Rezervováno pro budoucí použití | Nedefinováno | 0-255 | Nedefinováno |
70 – 7F | Bezpečnostní hlavičky pro (U)SIM toolkit | Řízení SMS | 0-255 | ? |
80 – 9F | Zvláštní použití SME-SME | Řízení SMS | 0-255 | ? |
A0 – BF | Rezervováno pro budoucí použití | Nedefinováno | 0-255 | ? |
C0 – DF | Pro zvláštní použití SMS centrem | Řízení SMS | 0-255 | ? |
E0 – FF | Rezervováno pro budoucí použití | Nedefinováno | 0-255 | ? |
Použití v jiných protokolech
UDH se používá i v jiných protokolech pro přenos krátkých zpráv - Short Message Peer to Peer (SMPP), Universal Computer Protocol (UCP) a v teleservisu WEMT v CDMA2000.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku User Data Header na anglické Wikipedii.
Související články
- Short Message Service
- GSM 03.38
- Enhanced Messaging Service
- MMS - Služba multimediálních zpráv
- Short Message Peer to Peer
- Universal Computer Protocol