SMS síť / Vysvětlení protokolu GSM SMS
Pokud provozujete SMS služby, je dobrým zvykem vzdělávat svůj personál o SMS síti a protokolu SMS používaném k přenosu zpráv v rámci mobilní sítě. Tato příručka vám v tomto ohledu pomůže. Poskytuje komplexní přehled o infrastruktuře SMS a protokolu SMS používaném v mobilních sítích.
Obsah
- Důležité termíny a definice (MS, SME, SMSC, MMI, PDU, SM-AL, SM-TL,...)
- Subjekty SMS sítě
- Formát protokolové datové jednotky (PDU) SMS
- Kódování SMS textu
- Příklady PDU
- Odesílání PDU pomocí modemů
- Výchozí abeceda SMS
- Glosář
Důležité termíny a definice
- MS: Mobilní stanice
- SME: Entita krátkých zpráv
- SMSC: Centrum služby krátkých zpráv
- MMI: Rozhraní člověk-stroj
- PDU: Protokolové datové jednotky
- SM-AL: Aplikační vrstva krátkých zpráv
- SM-TL: Transportní vrstva krátkých zpráv
- SM-RL: Reléová vrstva krátkých zpráv
- SM-LL: Linková vrstva krátkých zpráv
MMI je založeno na sadě příkazů AT+Cellular a může být realizováno pomocí terminálu (například Win-Terminal, HyperTerminal atd.) nebo displeje mobilního telefonu.
SM-TL poskytuje službu aplikační vrstvě krátkých zpráv. Tato služba umožňuje SM-AL přenášet krátké zprávy k její protějškové entitě, přijímat krátké zprávy od její protějškové entity a přijímat zprávy o dřívějších žádostech o přenos krátkých zpráv. SM-TL komunikuje se svou protějškovou entitou pomocí šesti různých PDU (protokolových datových jednotek):
- SMS-DELIVER, přenášející krátkou zprávu z SMSC do MS
- SMS-DELIVER-REPORT, přenášející příčinu selhání (pokud je třeba)
- SMS-SUBMIT, přenášející krátkou zprávu z MS do SMSC
- SMS-SUBMIT-REPORT, přenášející příčinu selhání (pokud je třeba)
- SMS-STATUS-REPORT, přenášející stavovou zprávu z SMSC do MS
- SMS-COMMAND, přenášející příkaz z MS do SMSC
SMS modem podporuje PDU SMS-DELIVER a SMS-SUBMIT, jak je popsáno v následujících částech.
2.1 SMS-DELIVER (Mobilní terminovaný)

MTI bit 1 = 0
bit 0 = 0
2.2 SMS-SUBMIT (Mobilní originovaný)
MTI bit 1 = 0
bit 0 = 1
! Poznámka: Všechny nepoužité bity budou nastaveny na nulu odesílající entitou a budou ignorovány přijímající entitou !
SCA | Adresa servisního centra – informační prvek | Telefonní číslo servisního centra |
---|---|---|
Typ PDU | Typ protokolové datové jednotky | |
MR | Odkaz na zprávu | Postupné číslo (0-255) všech rámců SMS-SUBMIT nastavené modemem |
OA | Adresa odesílatele | Adresa původní SME |
DA | Cílová adresa | Adresa cílové SME |
PID | Identifikátor protokolu | Parametr ukazující SMSC, jak zpracovat SM (jako FAX, hlas atd.) |
DCS | Schéma kódování dat | Parametr identifikující schéma kódování v uživatelských datech (UD) |
SCTS | Časové razítko servisního centra | Parametr identifikující čas, kdy SMSC přijalo zprávu |
VP | Doba platnosti | Parametr identifikující čas, od kterého již zpráva v SMSC není platná |
UDL | Délka uživatelských dat | Parametr udávající délku pole UD |
UD | Uživatelská data | Data SM |
RP | Cesta odpovědi | Parametr indikující existenci cesty odpovědi |
UDHI | Indikátor hlavičky uživatelských dat | Parametr indikující, že pole UD obsahuje hlavičku |
SRI | Indikace stavové zprávy | Parametr indikující, zda SME požadovala stavovou zprávu |
SRR | Požadavek na stavovou zprávu | Parametr indikující, zda MS požadoval stavovou zprávu |
VPF | Formát doby platnosti | Parametr indikující, zda je pole VP přítomno |
MMS | Další zprávy k odeslání | Parametr indikující, zda jsou k odeslání další zprávy |
RD | Odmítnout duplikáty | |
MTI | Indikátor typu zprávy | Parametr popisující typ zprávy 00 znamená SMS-DELIVER 01 znamená SMS-SUBMIT |
3.1 Informační prvek adresy servisního centra (SCA info element)
len:
Oktet "len" obsahuje počet oktetů potřebných pro číslo servisního centra plus 1 bajt "typ čísla".
typ čísla:
81H: následující číslo je národní
91H: následující číslo je mezinárodní
(Pro další informace viz GSM 04.08 kapitola 10.5.4.6)
oktet:
Jeden oktet obsahuje dvě pole BCD číslic. Pokud volané číslo BCD obsahuje lichý počet číslic, poslední číslice bude vyplněna koncovým znakem kódovaným jako "FH".
Příklad:
pokud máte SC-číslo +61418706700, musíte zadat:
style="font-size: 14.0pt">07911614786007F0
! Poznámka: Pokud je pole "len" nastaveno na nulu, SMS modem použije výchozí hodnotu adresy servisního centra nastavenou příkazem AT+CSCA
3.2 Typ protokolové datové jednotky (PDU Type)
SMS-SUBMIT: SMS-DELIVER:
! Poznámka: PDU-typ musíte zapsat v hexadecimálním formátu, možný příklad je "11H" !
RP: 0 Parametr Reply Path není v tomto PDU nastaven
1 Parametr Reply Path je v tomto PDU nastaven
UDHI: 0Pole UD obsahuje pouze krátkou zprávu
1 Začátek pole UD obsahuje hlavičku navíc ke krátké zprávě
SRI: (nastavuje pouze SMSC)
0 Stavová zpráva nebude vrácena SME
1 Stavová zpráva bude vrácena SME
SRR: 0 Stavová zpráva není požadována
1 Stavová zpráva je požadována
VPF: bit4 bit3
0 0 Pole VP není přítomno
0 1 Rezervováno
1 0 Pole VP je přítomno jako celé číslo (relativní)
1 1 Pole VP je přítomno jako semi-oktet (absolutní)
jakékoli rezervované hodnoty mohou být SMSC odmítnuty
MMS: (nastavuje pouze SMSC)
0 Více zpráv čeká na MS v SMSC
1 Žádné další zprávy nečekají na MS v SMSC
RD: 0 Instruuje SMSC, aby přijal SMS-SUBMIT pro krátkou zprávu stále drženou v SMSC, která má stejné MR a DA jako dříve odeslaná krátká zpráva ze stejné OA.
1 Instruuje SMSC, aby odmítl SMS-SUBMIT pro krátkou zprávu stále drženou v SMSC, která má stejné MR a DA jako dříve odeslaná krátká zpráva ze stejné OA.
MTI: bit1 bit0 Typ zprávy
0 0 SMS-DELIVER (SMSC ==> MS)
0 0 SMS-DELIVER REPORT (MS ==> SMSC, je generován automaticky modemem po přijetí SMS-DELIVER)
0 1 SMS-SUBMIT (MS ==> SMSC)
0 1 SMS-SUBMIT REPORT (SMSC ==> MS)
1 0 SMS-STATUS REPORT (SMSC ==> MS)
1 0 SMS-COMMAND (MS ==> SMSC)
1 1 Rezervováno
(Tučně označené řádky představují funkce podporované SMS modemem)
! Poznámka: ne každý typ PDU je podporován servisním centrem !
3.3 Referenční číslo zprávy (MR)

Pole MR udává celé číslo (0..255) reprezentující referenční číslo SMS-SUBMIT odeslaného do SMSC z MS.
Poznámka: u SMS modemu je MR generováno automaticky, přesto jej musíte vygenerovat - možný vstup je například "00H"
3.4 Adresa odesílatele (OA) Adresa příjemce (DA)
OA a DA mají stejný formát, vysvětlený v následujících řádcích:

len:
Oktet "len" obsahuje počet BCD číslic
typ čísla:
81H: následující číslo je národní
91H: následující číslo je mezinárodní
(Pro další informace viz GSM 04.08 kapitola 10.5.4.6)
BCD-čísla:
Pole BDN-číslic obsahuje BCD-číslo příjemce, např. odesílatele.
Pokud volané číslo BCD obsahuje lichý počet číslic, poslední číslice bude vyplněna koncovým znakem kódovaným jako "FH".
Příklad:
pokud máte národní číslo 1234567, musíte zadat:
style="font-size: 14.0pt">0781214365F7
3.5 Identifikátor protokolu (PID)
PID je informační prvek, kterým transportní vrstva buď odkazuje na vyšší protokol, který je používán, nebo indikuje spolupráci s určitým typem teletického zařízení.
Zde jsou některé příklady kódování PID:
00H: PDU má být považováno za krátkou zprávu
01H: PDU má být považováno za telex
02H: PDU má být považováno za skupinu3 telefax
03H: PDU má být považováno za skupinu4 telefax
(Pro další informace viz GSM 03.40 kapitola 9.2.3.9)
! Poznámka: není zaručeno, že SMSC podporuje každé kódování PID!
3.6 Schéma kódování dat (DCS)
Pole DCS indikuje schéma kódování dat pole UD (Uživatelská data) a může indikovat třídu zprávy. Oktet je používán podle kódovací skupiny, která je indikována v bitech 7..4. Oktet je pak kódován následovně:
Kódovací skupina: Bity 7..4 |
bity 3..0 |
0000 |
Indikace abecedy Neurčené zpracování zprávy na MS 0000 Výchozí abeceda (7-bitové kódování dat v Uživatelských datech) 0001-1111 rezervováno |
0001-1110 |
Rezervované kódovací skupiny |
1111 |
Kódování dat/třída zprávy bit 3 je rezervován, nastaven na 0 bit 2 (kódování zprávy) 0 Výchozí abeceda (7-bitové kódování dat v Uživatelských datech) 1 8-bitové kódování dat v Uživatelských datech bit 1 bit 0 (třída zprávy) 0 0 Třída0 okamžité zobrazení 0 1 Třída1 specifická pro ME (Mobilní zařízení) 1 0 Třída2 specifická pro SIM kartu style="margin-left: 3.6pt">1 1 Třída3 specifická pro TE (Terminálové zařízení) |
Výchozí abeceda indikuje, že UD (Uživatelská data) jsou kódována z 7-bitové abecedy uvedené v příloze A. Když je tato abeceda použita, osm znaků zprávy je zabaleno do sedmi oktetů a zpráva může obsahovat až 160 znaků (místo 140 znaků v 8-bitovém kódování dat)
V 8-bitovém kódování dat můžete odkazovat na tabulku INTEL ASCII-HEX.
V Třídě 0 (okamžité zobrazení) je krátká zpráva zapsána přímo na displej, protože SMS modem nemá displej, zpráva Třídy 0 může být realizována pouze oklikou.
V Třídě 1 až Třídě 3 je krátká zpráva uložena v různých umístěních: ME, SIM karta a TE.
V současné době je podporována Třída 2, pokud zvolíte Třídu 1 nebo Třídu 3, krátká zpráva je zpracována stejným způsobem jako zpráva Třídy 2.
! Poznámka: Doporučuje se používat zprávy Třídy 2 nebo kódovací skupinu "0000 bin" !
3.7 Časové razítko servisního centra (SCTS)
SCTS je informační prvek, kterým SMSC informuje příjemce MS o čase příchodu krátké zprávy na transportní vrstvu SMSC. Časová hodnota je zahrnuta v každé SMS-DELIVER doručené do SMSC a reprezentuje místní čas následujícím způsobem:

Časové pásmo udává rozdíl, vyjádřený ve čtvrtinách hodiny, mezi místním časem a GMT (Greenwichský hlavní čas).
3.8 Platnost (VP)
Platnost je informační prvek, který umožňuje MS odesílajícímu SMS-SUBMIT do SMSC zahrnout do krátké zprávy specifickou časovou hodnotu. Parametr Platnost udává časové období, po které je krátká zpráva platná, tj. jak dlouho SMSC zaručuje její existenci v paměti SMSC před doručením příjemci.
Pole VP je uvedeno buď jako celé číslo, nebo jako semi-oktet. V prvním případě VP obsahuje 1 oktet udávající délku platnosti počítanou od přijetí SMS-SUBMIT SMSC. V druhém případě VP obsahuje 7 oktetů udávajících absolutní čas ukončení platnosti. V prvním případě je reprezentace času následující:
Hodnota VP | Hodnota platnosti |
---|---|
0-143 | (VP + 1) x 5 minut (tj. intervaly po 5 minutách až do 12 hodin) |
144-167 | 12 hodin + ((VP-143) x 30 minut) |
168-196 | (VP-166) x 1 den |
197-255 | (VP - 192) x 1 týden |
V druhém případě je reprezentace času identická s reprezentací SCTS (Časové razítko servisního centra).
Způsob reprezentace je nastaven v VPF (Formát platnosti) v PDU-typu.
3.9 Délka uživatelských dat (UDL) a Uživatelská data (UD)
Pole UDL udává celé číslo reprezentující počet znaků v následujícím poli Uživatelská data.
Příklady PDU
Zde jsou dva příklady, jak odeslat krátkou zprávu pomocí AT+Cellular (viz Příloha B pro více podrobností o odesílání SMS zpráv):
Nejprve zadejte PIN a adresu servisního centra:
at+cpin="XXXX"zadejte PIN OK at+csca="+61418706700" zadejte adresu servisního centra (Telstra) OK
1. příklad:
at+cmgs=18 zadejte „odeslat zprávu“, 18 je skutečná délka PDU zprávy v oktetech > 0011000A81 4090793444 00000105E8329BFD06
zadejte PDU (SMS-SUBMIT) a dokončete „ctrl Z“ tenké znaky jsou cílovou adresou, např. vlastní telefonní číslo (0409974344) adresa servisního centra je stejná jako nastavená příkazem at+csca
+CMGS: 0 OK at+cpms?jsou zprávy uloženy na SIM kartě?
+CPMS: "SM" , 1 , 7 , "SM" , 1 , 7 na této SIM kartě je uložena 1 zpráva OK můžete uložit maximálně 7 zpráv at+cmgr=1přečtěte uloženou zprávu v pozici 1
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 Toto je PDU (SMS- OK -DELIVER) odeslané servisním centrem
Servisním centrem
2. příklad:
at+cmgw=18 zapište zprávu do paměti SIM karty > 07911614786007F011000781409079344400F6AA0568656C6C6F zadejte PDU (SMS-SUBMIT) a dokončete „ctrl Z“ tenké znaky jsou cílovou adresou, např. vlastní telefonní číslo (0409974344). Adresa servisního centra je „+61418706700“ +CMGW: 2 OK at+cmgr=2 přečtěte uloženou zprávu v pozici 2+CMGR: 2,,18
07911614786007F011000A81407008090500F6010568656C6C6F toto je PDU uložené v pozici 2
OK
at+cmss=2 odešlete zprávu uloženou v pozici 2
+CMSS: 3 OK at+cmss=2,“0407485455“,129 odešlete zprávu uloženou v pozici 2 na národní (129 = 81H) cílovou adresu „0407485455“ at+cmss=2,“+61419877302“,145 odešlete zprávu uloženou v pozici 2 na mezinárodní (145 = 91H) cílovou adresu „+61419877302“ at+cpms? jsou zprávy uloženy na SIM kartě?+CPMS: "SM" , 3 , 7 , "SM" , 3 , 7 na této SIM kartě jsou uloženy 3 zprávy
OK můžete uložit maximálně 7 zpráv
at+cmgr=3 přečtěte uloženou zprávu v pozici 3
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 Toto je PDU (SMS- OK -DELIVER) odeslané servisním centrem
Příloha A - Výchozí abeceda

Zkratky:
- MS Mobilní stanice
- SME Entita krátkých zpráv
- SMSC Servisní centrum krátkých zpráv
- MMI Rozhraní člověk-stroj
- PDU Protokolové datové jednotky
- SM-AL Aplikační vrstva krátkých zpráv
- SM-TL Transportní vrstva krátkých zpráv
- SM-RL Překladová vrstva krátkých zpráv
- SM-LL Linková vrstva krátkých zpráv
- PDU Type Typ protokolové datové jednotky
- MR Referenční číslo zprávy
- OA Adresa odesílatele
- DA Cílová adresa
- PID Identifikátor protokolu
- DCS Schéma kódování dat
- SCTS Časové razítko servisního centra
- VP Doba platnosti
- UDL Délka uživatelských dat
- UD Uživatelská data
- RP Cesta odpovědi
- UDHI Indikátor hlavičky uživatelských dat
- SRI Indikace stavové zprávy
- SRR Požadavek na stavovou zprávu
- VPF Formát doby platnosti
- MMS Další zprávy k odeslání
- RD Zamítnout duplikáty
- MTI Indikátor typu zprávy
- ME Mobilní zařízení
- TE Koncové zařízení
- SIM Modul identifikace účastníka
- 0 selhání telefonu
- 1 žádné spojení s telefonem
- 2 Linka adaptéru telefonu rezervována
- 3 operace není povolena
- 4 operace není podporována
- 5 Je vyžadován PH-SIM PIN
- 10 SIM karta není vložena
- 11 Je vyžadován SIM PIN
- 12 Je vyžadován SIM PUK
- 13 Selhání SIM karty
- 14 SIM karta je zaneprázdněna
- 15 Špatná SIM karta
- 16 Nesprávné heslo
- 20 Paměť je plná
- 21 Neplatný index
- 22 Nenalezeno
- 23 Selhání paměti
- 24 Textový řetězec je příliš dlouhý (+CPBW)
- 25 Neplatné znaky v textovém řetězci
- 26 Vytočený řetězec je příliš dlouhý
- 27 Neplatné znaky ve vytočeném řetězci
- 30 Žádná síťová služba
- 31 Časový limit sítě
- 100 Neznámé
- 265 Je vyžadován PUK pro ochranu proti krádeži
- 266 Je vyžadován PUK2 pro SIM kartu
- 267 Je vyžadován PIN2 pro SIM kartu
Pro použití SMS musíte deklarovat číslo centra krátkých zpráv (SMSC) v mobilní stanici (MS), za předpokladu, že MS podporuje službu krátkých zpráv mobilního původu (SMS-MO).
SMS modem podporuje SMS-MO.
Čísla SMSC pro každou zemi lze najít v tabulce Adresa centra SMS služeb.V SMS modemu zadáte číslo SMSC pomocí příkazu AT+Celular:
at+csca = ”<číslo-SMSC>”
Pokud příjemce SMS má SIM kartu Telstra, musí být AT příkaz zadán následovně:
at+csca = "+61418706700"
Příkazem
at+csca?
můžete zjistit aktuální číslo SMSC.
! Poznámka: Kromě příkazu AT+CSCA je možné zadat číslo SMSC před protokolovou datovou jednotkou (PDU).
More information
- Vysvětlení SMS protokolu
- Úvod do SMS PDU módu