GSM 03.40 nebo 3GPP TS 23.0403GPP TS 23.040 3rd Generation Partnership Project; Technical realization of Short Message Service (SMS) je standard popisující formát protokolových datových jednotek () protokolu Short Message Transfer Protocol (SM-TP) používaného v GSM sítích pro přenos krátkých (textových) zpráv. GSM 03.40 se používá především pro přenos zpráv mobilní sítí GSM; aplikační servery používají pro přenos zpráv jiné protokoly, jako Short Message Peer to Peer nebo Universal Computer Protocol.

GSM 03.40 je původní jméno standardu. Od roku 1999 je vyvíjen organizací 3GPP pod jménem 3GPP TS 23.040. V praxi se však původní jméno často používá i pro označení nových verzí 3GPP standardu.

Použití

Protokolové datové jednotky (TPDU) GSM 03.40 se používají pro přenos zpráv mezi mobilní stanicí (MS) a Mobile Switching Centre (MSC) pomocí Short Message Relay Protocol (SM-RP),3GPP TS 24.011 3rd Generation Partnership Project; Point-to-Point Short Message Service (SMS) support on mobile radio interface; mezi MSC a střediskem krátkých textových zpráv (SMS centrum) jsou přenášeny jako parametr Mobile Application Part (MAP) zpráv.3GPP TS 29.002 3rd Generation Partnership Project; Mobile Aplikace Part (MAP) standard3rd Generation Partnership Project; Technical realization of Short Message Service (SMS) (3G TS 23.040 verze 11.5.0) (zipped .doc soubor), ETSI, March 2013.

V nastupujících sítích, které používají IP Multimedia Subsystem (IMS), jsou textové zprávy přenášeny v MESSAGE příkazu protokolu Session Initiation Protocol (SIP). I v těchto sítích založených na protokolu IP existuje možnost, při které se (z důvodu kompatibility) přenášejí krátké textové zprávy v GSM 03.40 formátu vloženém v 3GPP 24.011 jako Content-Type: application/vnd.3gpp.sms.3GPP TS 24.341 3rd Generation Partnership Project; Support of SMS over IP networks3GPP TS 24.451 Support of SMS and MMS over NGN IMS subsystem; Stage 3 of 3GPP TS 24.341 Release 7

Typy zpráv

GSM 03.40 definuje 6 typů zpráv, které jsou rozlišeny 2 nejméně významnými bity v prvním oktetu zprávy SM-TP (v poli TP-MTI) a směrem přenosu zprávy:

+ Typy TPDU TP-MTI směr typ zprávy 0 0 MS → SC SMS-DELIVER-REPORT 0 0 SC → MS SMS-DELIVER 0 1 MS → SC SMS-SUBMIT 0 1 SC → MS SMS-SUBMIT-REPORT 1 0 MS → SC SMS-COMMAND 1 0 SC → MS SMS-STATUS-REPORT 1 1 libovolný Rezervováno

SMS-SUBMIT slouží k odeslání () zprávy z mobilního telefonu () na středisko krátkých textových zpráv (SMS centrum, SMSC, SC, MC).

SMS-COMMAND lze použít pro dotaz na zprávy uložené v SMS centru, pro změnu jejich parametrů nebo pro jejich smazání.

SMS-DELIVER se používá pro doručení zprávy z SMS centra na mobilní telefon. Potvrzení vrácené mobilním telefonem může obsahovat SMS-DELIVER-REPORT. Je-li použit SMS home routing, používá se SMS-DELIVER i pro přenos zprávy z jednoho SMS centra na jiné.

Na každý požadavek na přenos zprávy posílá příjemce potvrzení. Toto potvrzení však nemusí vždy obsahovat GSM 03.40 TPDU.

SMS-SUBMIT-REPORT je potvrzení zprávy SMS-SUBMIT; úspěch znamená, že zpráva byla uložena v SMS centru, selhání znamená, že SMS centrum zprávu zamítlo.

SMS centrum může poslat SMS-STATUS-REPORT pro informování mobilního telefonu odesilatele o výsledku doručení zprávy nebo jako odpověď na SMS-COMMAND.

Struktura TPDU

Pole SM-TP zprávy včetně jejich pořadí a velikosti jsou shrnuta v následující tabulce, kde M znamená povinné pole, O nepovinné pole, E se používá pro pole, která jsou povinná v záporných odezvách (RP-ERR) a nepřítomná v kladných odezvách (RP-ACK), x je pole přítomné na jiném místě (v různých typech zpráv jsou pole v různém pořadí):

+ SM-TL TPDU pole SMS-COMMAND velikost pole jméno SMS-STATUS-REPORT SMS-SUBMIT-REPORT SMS-SUBMIT SMS-DELIVER-REPORT SMS-DELIVER pole TP-MTI M M M M M M 2 bity Message Type Indicator TP-MMS M M 1 bit More Messages to Send TP-RD M Reject Duplicates TP-LP O O 1 bit/ 2 bity Loop Prevention TP-VPF M Validity Period Format TP-SRI O 1 bit Status Report Indication TP-SRR O O Status Report Požadavek TP-SRQ M Status Report Qualifier TP-UDHI O O O O O O 1 bit User Data Header Indicator TP-RP M M 1 bit Reply Path TP-FCS E E 1 oktet Failure Cause TP-MR M M M 1 oktet Message Reference TP-DA M x 2-12 oktetů Cílová adresa TP-OA M 2-12 oktetů Adresa odesilatele TP-RA M 2-12 oktetů Adresa příjemce TP-SCTS x x M 7 oktetů Časové razítko SMS centra Service Centre Time Stamp TP-DT M 7 oktetů Čas poslední transakce (Discharge Time) TP-ST M 1 oktet Status TP-PI M M O 1 oktet Indikátor parametrů (Parameter Indicator) TP-SCTS x M x 7 oktetů Časové razítko obslužného centra (Service Centre Time Stamp) TP-PID M O M O O M 1 oktet Identifikátor protokolu (Protocol Idetifier) TP-DCS M O M O O 1 oktet Data Coding Scheme (Data Coding Scheme) TP-SCTS M x x 7 oktetů Časové razítko obslužného centra (Service Centre Time Stamp) TP-VP O 0, 1 nebo 7 oktetů Doba platnosti (Validity Period) TP-UDL M O M O O 1 oktetDélka uživatelských dat (User Data Length) TP-UD O O O O O daný TP-UDL Uživatelská data (User Data) TP-CT M 1 oktet Typ příkazu (Command Type) TP-MN M 1 oktet Číslo zprávy (Message Number) TP-DA x M 2-12 oktetů Cílová adresa (Destination Address) TP-CDL M 1 oktet Délka dat příkazu (Command Data Length) TP-CD O daný TP-CDL Data příkazu (Command Data)

První oktet TPDU obsahuje různé příznaky včetně pole TP-MTI popsaného výše:

+ Bitová pole v prvním oktetu SM-TL TPDU bit(s) Význam 1-0 TP-Message-Type-Indicator (TP-MTI) 2 TP-More-Messages-to-Send (TP-MMS) v SMS-DELIVER (0 = více zpráv) 2 TP-Reject-Duplicates (TP-RD) v SMS-SUBMIT 3 TP-Loop-Prevention (TP-LP) v SMS-DELIVER a SMS-STATUS-REPORT 4-3 TP-Validity-Period-Format (TP-VPF) v SMS-SUBMIT (00 = žádné TP-VP) 5 TP-Status-Report-Indication (TP-SRI) v SMS-DELIVER 5 TP-Status-Report-Request (TP-SRR) v SMS-SUBMIT a SMS-COMMAND 5 TP-Status-Report-Qualifier (TP-SRQ) v SMS-STATUS-REPORT 6 TP-User-Data-Header-Indicator (TP-UDHI) 7 TP-Reply-Path (TP-RP) v SMS-DELIVER a SMS-SUBMIT

Nastavením bitu TP-More-Messages-to-Send (TP-MMS) na 0 (obrácená logika), SMS centrum signalizuje, že má pro tohoto příjemce více zpráv (často to jsou další segmenty sřetězené zprávy). V tomto případě MSC obvykle nezavře spojení na mobilní telefon a neukončí MAP dialog s SMS centrem, což umožňuje rychlejší doručení dalších zpráv nebo segmentů. Pokud by mezitím došlo k odstranění těchto zpráv z SMS centra (pokud jsou například smazány), SMS centrum ukončí MAP dialog zprávou MAP Abort.

Bit TP-Loop-Prevention (TP-LP) má zabránit zacyklení zpráv SMS-DELIVER nebo SMS-STATUS-REPORT směrovaných na jiné adresy, než je cílová adresa původní zprávy nebo generované aplikací. Takovou zprávu lze poslat, pouze pokud původní zpráva měla tento příznak vynulovaný. Nová zpráva musí být poslána s nastaveným příznakem.

Nastavením bitu TP-Status-Report-Indication (TP-SRI) na 1 SMS centrum vyžaduje vrácení status report na SME.

Nastavením bitu TP-Status-Report-Požadavek (TP-SRR) na 1 v SMS-SUBMIT nebo SMS-COMMAND vyžaduje mobilní telefon, aby SMS centrum vrátilo status report.

Když TP-SRQ má ve zprávě SMS-STATUS-REPORT hodnotu 1, je zpráva výsledkem SMS-COMMAND; jinak je výsledkem SMS-SUBMIT.

Když má TP-UDHI hodnotu 1, pole TP-UD začíná hlavičkou User Data Header.

Nastavením bitu TP-RP se žádá o vytvoření spojení pro poslání odpovědi stejnou cestou, jakou přišla původní zpráva. Pokud domovská síť odesilatele a příjemce není stejná, odpovědi by procházely jiným SMS centrem. Mobilní operátor musí věnovat zvláštní pozornost účtování takových zpráv.

Na každý přenos zprávy odpovídá protistrana potvrzením (). Potvrzení nemusí vždy obsahovat GSM 03.40 TPDU, protože protokoly SM-RP i MAP, pomocí kterých se TPDU přenášejí, obsahují dostatek informací pro informování o výsledku požadavku. Potvrzení může Nicméně GSM 03.40 TPDU může být obsažený v potvrzení na přenášejí dokonce více informace. GSM 03.40 prošlo následujícím vývojem:

GSM 03.40 do verze 5.2.0 uvádí, že se SMS-DELIVER-REPORT a SMS-SUBMIT-REPORT mají posílat pouze v případě chyby. Od verze 5.3.0 se mají posílat i v případě úspěchu. GSM 03.40 do verze 6.0.0 uvádí, že SMS-DELIVER-REPORT a SMS-SUBMIT-REPORT posílané v případě chyby mají obsahovat pouze pole TP-MTI a TP-FCS, a že poslední pole v SMS-STATUS-REPORT má být TP-ST. Od verze 6.1.0 mají tyto TPDU formát uvedený v tabulce výše.

Ačkoli tyto změny jsou poměrně staré (verze 6.1.0 byla vydána v červenci 1998), staré formáty MAP zpráv se v některých sítích stále používají.

Obsah zprávy

Obsah zprávy (její text, pokud zpráva není binární) je přenášen v poli TP-UD. Jeho velikost může být až 160 x 7 = 140 x 8 = 1120 bitů. Delší zprávy mohou být rozloženy na více částí a poslány jako zřetězená zpráva (). Délka obsahu zprávy je uvedena v poli TP-UDL. Když zpráva používá sedmibitovou implicitní abecedu GSM (závisí na poli TP-DCS), udává pole TP-UDL délku pole TP-UD v 7bitových jednotkách; jinak TP-UDL udává délku pole TP-UD v oktetech.

Když TP-UDHI je 1, TP-UD začíná User Data Header (UDH); v tomto případě první oktet TP-UD obsahuje UDHL – délku UDH v oktetech bez samotného UDHL. UDH ubírá prostor z pole TP-UD. Je-li UDH přítomné ve zprávě v sedmibitové implicitní abecedě GSM, vloží se za UDH výplňkové bity, které zarovnávají začátek prvního znaku textu za UDH na hranici septetu. Díky tomu bylo možné uspokojivě zobrazovat zprávy s UDH i na starších telefonech; takové telefony zobrazí UDH jako změť divných znaků následovanou textem zprávy; pokud první znak po UDH je Carriage Return (CR), telefon by měl tuto změť přepsat textem zprávy.

Adresy

GSM 03.40 zpráva obsahuje nejvýše jednu adresu: adresu příjemce (TP-DA) v SMS-SUBMIT a SMS-COMMAND, adresu odesilatele (TP-OA) v SMS-DELIVER a adresu příjemce (TP-RA) v SMS-STATUS-REPORT. Ostatní adresy jsou přenášeny nižších vrstvách.

Formát GSM 03.40 adres shrnuje následující tabulka:

oktet Význam 0 délka adresy v nibblech 1 EXT, TON, NPI 2-11 číslice adresy

Typ čísla ():

Bit6 5 4 Význam 0 0 0 Neznámý 1) 0 0 1 Mezinárodní číslo 2) 0 1 0 Národní číslo 3) 0 1 1 Síťově specifické číslo 4) 1 0 0 Účastnické číslo 5) 1 0 1 Alfanumerické (kódované podle 3GPP TS 23.038 sedmibitová implicitní abeceda GSM) 1 1 0 Zkrácené číslo 1 1 1 Rezervováno pro rozšíření

Pokud odesilatel vloží telefonní číslo začínající znakem `+', znak `+' bude odstraněn a adresa dostane TON=1 (mezinárodní číslo), NPI=1. V tomto případě musí číslo vždy začínat kódem země a musí být zformátovaná přesně podle standardu E.164.

Pokud odesilatel vloží telefonní číslo bez úvodního znaku `+', adresa dostane TON=0 (neznámé), NPI=1. V tomto případě číslo musí odpovídat číslovacímu plánu mobilního operátora, což znamená, že mezinárodní čísla musí mít mezinárodní prefix (v většině zemí 00, v USA 011) před kódem země a čísla pro meziměstské volání musí začínat meziměstským prefixem (, ve většině zemí 0, v USA 1, v ČR bylo zrušeno při přečíslování v roce 2001) následovaným kódem oblasti ().

Identifikace číslovacího plánu ():

Bity3 2 1 0 Význam 0 0 0 0 Neznámé 0 0 0 1 Číslovací plán (E.164/E.163) ISDN/telefon 0 0 1 1 Datový číslovací plán (X.121) 0 1 0 0 Telexový číslovací plán 0 1 0 1 Zvláštní číslovací plán SMS centra 1) 0 1 1 0 Zvláštní číslovací plán SMS centra 1) 1 0 0 0 Národní číslovací plán 1 0 0 1 Soukromý číslovací plán 1 0 1 0 Číslovací plán ERMES (ETSI DE/PS 3 01 3) 1 1 1 1 Rezervováno pro rozšíření

Telefonní čísla musí mít NPI=1. Aplikační servery mohou používat alfanumerické adresy, které mají kombinaci TON=5, NPI=0.

Bit EXT má hodnotu vždy 1 – "žádné rozšíření".

Příklady adres

Americké číslo +1 555 123 4567 bude zakódováno jako 0B 91 51 55 21 43 65 F7 (F v horních čtyřech bitech posledního oktetu je výplňková hodnota, která se používán, když číslo obsahuje lichý počet číslic).