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-UD1234567
Hodnota (hex)040B02000820D3
VýznamDélka UDHIEI: Předdefinovaný zvukDélka IEPoziceVysoký akord6 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ýznamDruhDélkaMůže se opakovat
00Zřetězená zpráva s 8bitovým referenčním číslemŘízení SMS3ne
01Speciální SMS Message IndicationŘízení SMS2ano
02RezervovánoNedefinovánoNedefinovánoano
03Nepoužíváno, aby se zabránilo chybné interpretaci jako znak Line feed (<LF>)NedefinovánoNedefinovánoano
048bitové aplikační portyŘízení SMS2ne
0516bitové aplikační portyŘízení SMS4ne
06Parametry řízení SMS centraŘízení SMS1ne
07Indikátor původu UDHŘízení SMS1ano
08Zřetězená zpráva s 16bitovým referenčním číslemŘízení SMS4ne
09Wireless Control Message ProtocolŘízení SMS1-255ano
0AFormátování textuŘízení EMS3-4ano
0BPředdefinovaný zvukEMS obsah2ano
0CUživatelem definovaný zvuk (iMelody max. 128 bytů)EMS obsah2-129ano
0DPředdefinovaná animaceEMS obsah2ano
0EVelká animace (16*16 krát 4 = 32*4 =128 bytů)EMS obsah129ano
0FMalá animace (8*8 krát 4 = 8*4 =32 bytů)EMS obsah33ano
10Velký obrázek (32*32 = 128 bytů)EMS obsah129ano
11Malý obrázek (16*16 = 32 bytů)EMS obsah33ano
12Obrázek proměnné velikostiEMS obsah4-255ano
13Indikátor uživatelské nápovědyŘízení EMS1ano
14Rozšířený objektEMS obsah7-255ano
15Znovupoužitý rozšířený objektŘízení EMS3ano
16Řízení komprimaceŘízení EMS3-255ne
17Indikátor distribuce objektuŘízení EMS2ano
18Standardní WVG objektEMS obsah1-255ano
19WVG objekt velikosti znakuEMS obsah1-255ano
1Arozšířený objekt Data Požadavek PříkazŘízení EMS0-255ne
1B - 1FRezervováno pro budoucí EMS vlastnostiNedefinováno0-255ano
20E-mailová hlavička podle RFC 822Řízení SMS1ne
21Prvek formátování hyperlinkuŘízení SMS0-255ano
22Prvek návratové adresyŘízení SMS1-255ne
23Vylepšená informace o obsahu hlasové schránkyŘízení SMS0-255ne
24Náhrada rozšířené tabulky národní znakovou tabulkouŘízení SMS1ne
25Náhrada základní tabulky národní znakovou tabulkouŘízení SMS1ne
26 – 6FRezervováno pro budoucí použitíNedefinováno0-255Nedefinováno
70 – 7FBezpečnostní hlavičky pro (U)SIM toolkitŘízení SMS0-255?
80 – 9FZvláštní použití SME-SMEŘízení SMS0-255?
A0 – BFRezervováno pro budoucí použitíNedefinováno0-255?
C0 – DFPro zvláštní použití SMS centremŘízení SMS0-255?
E0 – FFRezervováno pro budoucí použitíNedefinováno0-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