Technická realizace SMS
Přenos krátkých textových zpráv na rádiovém rozhraní je popsán v dokumentu 3GPP TS 24.011

Služba krátkých textových zpráv () využívá pro přenos zpráv Mobile Application Part (MAP) Signalizačního systému č. 7, který přenáší protokolové datové jednotky sítí jako pole MAP zpráv. MAP je prakticky nerozlučně spojen s protokolem TCAP, který dodává transakční vrstvu a sám je přenášen buď tradičními TDM sítěmi, pomocí signalizačních protokolů MTP1–MTP3 a protokolu SCCP nebo IP sítěmi transportním protokolem SCTP, nad kterým jsou adaptační vrstvy SIGTRAN, použité buď přímo k přenosu protokolu SCCP nebo poskytují SCCP rozhraní (SUA – SCCP User Adaptation). Formát protokolových datových jednotek pro přenos krátkých textových zpráv definuje pro dvoubodovou komunikaci standard 3GPP TS 23.040 – Short Message Service Point to Point (SMS-PP), pro broadcast zprávy standard 3GPP TS 23.041 Cell Broadcast Service (CBS).

Standard MAP definuje 4 procedury pro přenos krátkých textových zpráv mobilní sítí:

 postup pro přenos zpráv z mobilního telefonu ()
 postup pro přenos zpráv na mobilní telefon ()
 postup pro zasílání upozornění (), že mobilní telefon je opět dostupný a schopný přijímat zprávy
 postup pro udržování dat o čekajících zprávách ()

Přenos zpráv z mobilního telefonu 

Obrázek vpravo znázorňuje zjednodušený tok zpráv při úspěšném odeslání SMS z mobilního telefonu.

Když účastník pošle krátkou zprávu, telefon zprávu odešle přes rádiové rozhraní na navštívenou ústřednu veřejné mobilní sítě () nebo SGSN. Kromě textu zprávy se přenáší i adresa příjemce zprávy, kterou zadal účastník nebo kterou doplnil telefon podle zvoleného kontaktu v telefonním seznamu a adresa střediska krátkých textových zpráv (), která je uložena v konfiguračních parametrech na SIM kartě mobilního telefonu.

Bez ohledu na to, přes jaké rádiové rozhraní zpráva přišla, vyvolá VMSC nebo SGSN MAP službu MAP_MO_FORWARD_SHORT_MESSAGE pro poslání zprávy na Interworking MSC SMS centra, jehož adresa je uložena na SIM kartě mobilního telefonu. Služba MAP odešle MAP operaci mo-ForwardSM  na SMS centrum, které použil telefon při odesílání SM. Pro odeslání je MAP zpráva vložena do TCAP zprávy, a přenesena páteřní sítí pomocí SCCP).

Interworking MSC SMS centra při přijetí MAP mo-ForwardSM zprávy předá aplikační protokolovou datovou jednotku (APDU) SMS-PP obsahující textovou zprávu dalším komponentám SMS centra, které zajistí její uložení a následné doručení na adresu příjemce a vrátí potvrzení indikující úspěch nebo selhání. Po jeho obdržení Interworking MSC pošle odpovídající indikaci zpět na VMSC nebo SGSN, které obsluhuje odesilatele. Výsledek odeslání zprávy je pak přenesen pomocí rádiového rozhraní až na telefon odesilatele.

Přenos zpráv na mobilní telefon 

Obrázek vpravo zachycuje tok zpráv při přenosu SM na mobilní telefon. Pro jednoduchost byly některé z interakcí mezi VMSC a VLR, a mezi VMSC a mobilním telefonem vynechány. Obrázek také nezachycuje SMS home routing.

Když SMS centrum rozhodne, že provede pokus o doručení krátké zprávy na místo určení, zašle SMS-PP APDU obsahující textovou zprávy, telefonní číslo příjemce (tzv. „B-party“) a další podrobnosti na logickou komponentu SMS centra nazývanou Gateway MSC (GMSC). GMSC po obdržení této zprávy musí zjistit umístění příjemce zprávy, aby mu bylo možné doručit text zprávy (termín bránové MSC označuje MSC, která získává z domovského registru (HLR) informaci o směrování.

Pro doručení zprávy GMSC vyvolá MAP service package MAP_SEND_ROUTING_INFO_FOR_SM, který pošle MAP zprávu sendRoutingInfoForSM (SRI-for-SM) na HLR pro číslo adresáta zprávy a požaduje informaci o jeho aktuálním umístění. Zpráva SRI-for-SM může být zaslána na HLR ve stejné síti, ve které je SMS centrum, nebo díky propojení sítí na HLR v cizí mobilní síti (PLMN), podle toho, jaká je domovská síť adresáta zprávy.

HLR vyhledá v databázi aktuální umístění příjemce zprávy (nazývaného ) a vrátí odpověď GMSC interworkingu SMS centra. Aktuální poloha může být adresa MSC, u které je účastník aktuálně zaregistrován (nejen při roamingu), adresa SGSN, nebo obojí. Pokud má HLR informace, že příjemce není schopen přijímat krátké zprávy, může vrátit chybu (viz kapitola Selhání při doručování zpráv níže).

Když GMSC získá informace o umístění příjemce zprávy od HLR, pokusí se zprávu doručit adresátovi vyvoláním služby MAP_MT_FORWARD_SHORT_MESSAGE, která odešle MAP zprávu mt-ForwardSM na adresu, kterou GMSC získalo od HLR. Zpráva může být poslána na MSC (sítí s přepojováním okruhů) nebo na SGSN (sítí s přepojováním paketů).

MSC nebo SGSN, u kterého je příjemce zaregistrován, si vyžádá další informace potřebné pro doručení zprávy příjemci zasláním zprávy Send_Info_for_MT_SMS na VLR. VLR vyvolá stránkování nebo hledání mobilní stanice podle MSISDN, a výsledek vrátí na VMSC. Vzhledem k tomu, že VLR typicky tvoří jeden celek s MSC, jedná se obvykle o interní zprávu. V případě, že stránkování nebo vyhledávání stanice příjemce selže, VLR zašle VMSC informaci o příčině selhání, VMSC proces doručování SM ukončí a vrátí SMS centru chybovou indikaci (viz část Selhání při doručování zpráv níže). Pokud stránkování mobilní stanice bylo úspěšné, VMSC vrátí do SMS centra indikaci úspěšného doručení. GMSC složka SMS centra předá výsledek pokusu o doručení jádru SMS centra. Pokud se doručení zprávy podařilo, bude odstraněna z úložiště SMS centra, a pokud byla požadována doručenka, bude zaslána odesilateli původní zprávy. Pokud se doručení nezdařilo, SMS centrum naplánuje další pokus o doručení (pokud se nejednalo o jednorázové nebo transakční doručování). SMS centrum může volitelně zaslat zprávu ReportSM-DeliveryStatus na HLR, kterou aktualizuje informace o připravenosti adresáta zprávy (B-party) přijímat krátké textové zprávy, jak je popsáno v následující části.

Selhání při doručování zpráv 
Pokud navštívené MSC nebo SGSN vrátí při pokusu o doručení zprávy chybu, může SMS centrum podle postupu MAP_REPORT_SM_DELIVERY_STATUS poslat na HLR zprávu, která obsahuje příčinu selhání a požadavek, aby bylo přidáno do seznamu SMS center, které mají být informovány, až bude adresát znovu schopen přijímat zprávy. HLR v informacích o adresátovi nastaví příznak indikující, že adresátovy nelze doručovat krátké textové zprávy, a adresu SMS centra uloží do seznamu dat o čekajících zprávách () příjemce. Seznam obsahuje následující příznaky:

 mobilní stanice není dosažitelná ()
 mobilní stanice není dosažitelná pomocí GPRS ()
 plná paměť zpráv ()

Od tohoto okamžiku bude HLR odpovídat na požadavky SRI-for-SM chybou s uvedením důvodu selhání a automaticky přidávat adresy SMS center na seznam MWD. Pokud však zpráva SRI-for-SM bude mít nastavený příznak priority (SM-RP-PRI), bude HLR stále vracet adresu MSC, je-li známá.

Že lze účastníkovi opět doručovat zprávy, může být HLR informováno několika způsoby:

 pokud byl účastník odpojen ze sítě, připojení spustí aktualizaci polohy na HLR
 pokud byl účastník mimo pokrytí, ale neodpojen ze sítě, po návratu do pokrytí bude reagovat na požadavek stránkování z VLR. VLR pak pošle zprávu Ready-for-SM (mobilní stanice je přítomná) na HLR
 pokud MS měl plnou paměť na zprávy, a uživatel odstraní některou zprávu, pak zpráva Ready-for-SM (paměť je volná) je poslána z mobilního telefonu přes VMSC a VLR na HLR

Po obdržení indikace, že příjemce je opět připraven pro příjem krátkých zpráv, HLR pošle MAP zprávu AlertSC každému SMS centru uvedenému v seznamu MWD pro příslušného příjemce. SMS centrum by po přijetí zprávy AlertSC mělo zopakovat proces doručení.

SMS centrum opakuje pokusy o doručení zprávy i bez příchodu alertu. Četnost opakování závisí na příčině selhání – přechodné selhání sítě bude mít za následek rychlejší opakování doručování, zatímco nedostupnost mobilního telefonu (mimo pokrytí) obvykle vede k pomalejšímu opakování.

Alert 
Síť se snaží si zapamatovat informaci, že na mobilní telefon nelze doručit SMS, aby SMSC nepodnikalo zbytečné pokusy o doručení. Souhrn těchto informací se nazývá Message-Waiting-Indication (MWI) a je uložen v HLR (případně HSS). Dílčí informace jsou uloženy ve VLR, SGSN nebo IP-SM-GW. Struktura MWI:

 MWD () je tvořeno MSISDN mobilního telefonu a seznamem adres SMSC, na které se má poslat upozornění, že SMS již lze doručit (alert)
 MCEF () – příznak, že mobil má plnou paměť, takže nemůže přijmout normální SMS (mohl by přijmout flash SMS)
 MNRF () – mobil není dostupný pomocí MSC
 MNRR-MSC () – důvod, proč mobil není dostupný pomocí MSC:
  – mobil sice nezrušil registraci, ale nereaguje na paging (je mimo signál nebo byl náhle vypnutý)
  – mobil zrušil svoji registraci u MSC
 MNRG () – mobil není dostupný pomocí SGSN; příznak se nastaví i pokud selže PDP-Context Activation procedure; v tom případě se do MWD žádná adresa SMSC nepřidává
 MNRR-SGSN () – důvod, proč mobil není dostupný pomocí SGSN:
 
 
 UNRI () – mobil není dostupný přes IP síť
 UNRR () – důvod, proč mobil není dostupný přes IP síť:
 
 

Příznak MNRF je udržován i ve VLR, příznak MNRG v SGSN a příznak UNRI v IP-SM-GW.

Pokud VLR, SGSN nebo IP-SM-GW zaznamenají, že mobil, který nebyl dosažitelný, již dosažitelný je, pošlou zprávu ReadyForSM na HLR (HSS). HLR nebo HSS vynuluje příslušný příznak MNRF, MNRG nebo UNRI. Pokud v mobilu dojde k uvolnění plné paměti pro SMS, mobil pošle zprávy ReadyForSM na HLR, který vymaže příznak MCEF. Pokud na HLR přijde ReadyForSM, a po aktualizaci příznaků je aspoň jeden z příznaků MNRF, MNRG a UNRI vymazaný a zároveň je vymazaný příznak MCEF, rozešle HLR zprávy alertServiceCentre na všechna SMSC, která mají MWD. Na to by SMSC mělo provést pokus o doručení zpráv na příslušné MSISDN. Pokud pokus o doručení MT zprávy selže, SMSC by mělo zprávou SMDeliveryReportStatus oznámit problém na HLR, který si nastaví příslušné flagy v MWI.

MAP operace

InformServiceCentre 
InformServiceCentre je zpráva, kterou HLR přidává k odpovědím sendRoutingInfoForSM nebo reportSM-DeliveryStatus. Zpráva se obvykle používá pro přenos příznaků z MWD do SMSC.

Protokoly pro přenos MAP 
Přestože je v 3GPP standardu pro MAP patrné určité úsilí o oddělení protokolu MAP od vrstvy, která jej má přenášet, prakticky neexistuje jiná možnost než používat MAP s protokolem TCAP a pro přenos používat buď SCCP s protokoly MTP 1-3, nebo protokoly SIGTRAN (SUA, M3UA atd.).

Konstrukt MAP_OPEN je tedy vždy spojen s TCAP_BEGIN pomocí aplikačního kontextu MAP, a MAP_CLOSE s TCAP_END.

Pokud se doručují zprávy pomocí MAP fáze 2 nebo vyšší nad MTP, může omezení maximální velikosti protokolové jednotky MTP způsobit, že odesílatel musí použít segmentaci. Segmentace v tomto případě nevede k rozdělení zprávy na části jako u konkatenovaných SM, ale znamená, že transakce mezi MSC nebo SGSN a SMS centrem se bude skládat z většího počtu kroků než obvykle. Doporučený způsob je zahájit dialog TCAP_BEGIN bez MAP zprávy, a vlastní SM v MAP poslat až v TCAP CONTINUE odeslaném po přijetí odpovědi na zahájení komunikace. Příjemce potvrdí přijetí zprávy pomocí TCAP_END nebo potvrdí přijetí a požádá o zaslání další zprávy TCAP CONTINUE. TCAP_BEGIN obsahuje informace, které by mohly způsobit překročení velikosti paketu kvůli většímu rozsahu dat v MAP 2. Přesný bod, kdy je segmentace nutná, závisí na faktorech, jako je délka adresy, ale je závislá hlavně na délce samotné zprávy. TCAP segmentaci je nutné uplatnit na zprávy, které mají 140 znaků nebo více (v 7bit default alphabet).

TCAP segmentace se také stále více rozšiřuje jako nástroj proti SMS spoofingu. Principem je, že SM se dopravuje až v odpovědi na odpověď, takže adresa odesilatele nemůže být podvržena.

Odkazy

Poznámky

Reference

Související články 
 SMS home routing
 Mobile Application Part
 Transaction Capabilities Application Part
 Domovský registr
 Mobilní stanice
 Mobility management
 Jádro sítě GPRS

GSM