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ů.
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