Protokol SMS gateway

Popis protokolu
Konfigurácia komunikačnej linky
Konfigurácia stanice
Konfigurácia meraných bodov
Revízie dokumentu

Popis protokolu


Protokol SMS Gateway umožňuje:

  • posielanie SMS
  • prijímanie SMS
  • vytáčanie hovorov
  • prijímanie hovorov


Implementácia daného protokolu je založená na posielaní a spracovaní AT príkazov vymieňaných pomocou asynchrónnej sériovej linky.

Konfigurácia komunikačnej linky


Kategória komunikačnej linky: Modem

Parametre linky:

ParameterImplicitne nastavená hodnotaPopis
Device
Názov komunikačného portu.
Init commandAT&F

AT príkaz, ktorý reinicializuje zariadenie.
V prípade niektorých GSM modemov (napr. HUAWEI E3372) je tento príkaz nutné rozšíriť na AT&F^CURC=0 aby modem nereportoval stav signálu (RSSI- Radio Signal Strength Indication) a neposielal spontánne hlášky typu <CR><LF>^RSSI:28<CR><LF>. 

Dial commandATDAT príkaz použitý pri vytáčaní telefónneho čísla.
Hangup+++~~~~ATHAT príkaz na ukončenie spojenia.
DTRCheckedNamiesto AT príkazu je na ukončenie spojenia použitý DTR signál.

Konfigurácia stanice


Parametre stanice:

ParameterImplicitne nastavená hodnotaPopis
Trace Data
YESDo logovacieho súboru sa zapisujú aj prijaté aj odoslané dáta.
PIN Code
0000PIN kód SIM karty (GSM modem).
Use Semicolon
YESNa koniec ATD príkazu je vložená bodkočiarka.
Hang Up Incoming Call
YESPovolí ukončenie prichádzajúceho hovoru za definovaný čas.
Hang Up Time
35 secDefinuje trvanie prichádzajúceho hovoru.
Delay Between Rings
3 secNiektoré modemy neinformujú o zmene stavu: "vyzváňajúci -> prijatý", "vyzváňajúci -> zložený". V stave "vyzváňajúci" posielajú flagy indikujúce vyzváňanie. Ak počas intervalu nastavenom v parametri nedôjde k indikácii zvonenia, stavový automat protokolu zmení svoj stav do stavu "ukončený". Nulová hodnota parametra zakazuje použitie tejto indikácie.
Outgoing Call Duration
3 secČas, po ktorom dochádza k ukončeniu odchádzajúceho hovoru.
Modem Is Ready Interval
600 secČas, po ktorom dochádza k reinicializácii modemu.
Acknowledgment of Receipt
YESPri posielaní SMS správ zapína doručenky.
Service Center Address
+421905303303Číslo servisného centra pre SMS správy.
Slovensko O2: +421 949 909 909
Slovensko Orange: +421 905 303 303
Slovensko Telecom (T-Mobile): +421 903 333 000
Read From Modem SMS
60 secInterval kontrolovania prijatých správ a doručeniek v modeme.
Expect OK After Dial
YESParameter indikuje, či zariadenie po vytočení telefónneho čísla pošle odpoveď "OK".

Reinit On Every Operation

NOReinicializácia modemu pred každým posielaním SMS a pred každým vytáčaním. Ak má tento parameter hodnotu NO, tak sa modem inicializuje na začiatku práce a pravidelne podľa hodnoty parametra Modem Is Ready Interval.

Query Signal Quality

NOZisťovanie kvality signálu pred každým posielaním SMS a pred každým vytáčaním. Zistená kvalita signálu nie je nikam vyvedená a dá sa nájsť iba v logoch komunikačnej linky.

Konfigurácia meraných bodov


Možné typy hodnôt bodov: Ci, Co, Di , Do, TxtI, TxtO

Typ hodnotyAdresaPopis
Odchádzajúce hovory
TxtOOUTGOINGTELNUMMeraný bod slúžiaci na nastavenie telefónneho čísla odchádzajúceho hovoru.
TxtIOUTGOINGRESULTNUMBERV protokole je možné poslať viacero žiadostí na vytočenie telefónneho čísla súčasne. Tieto žiadosti sa uložia do zoznamu a postupne sa vytáčajú. V danom meranom bode je uložená hodnota posledného vytočeného telefónneho čísla, ktorý spolu s meraným bodom s adresou OUTGOINGRESULTFLAG informujú o výsledku hovoru.
CoOUTGOINGRINGTIMEMeraný bod slúžiaci na nastavenie dĺžky trvania odchádzajúceho hovoru vrátane vytáčania. Daný meraný bod zároveň slúži ako trigger spustenia vytáčania. V prípade, ak nie je možné v danom okamžiku vytočiť telefónne číslo (meraný bod s adresou BUSY má hodnotu TRUE), sú hodnoty potrebných meraných bodov uložené do fronty a odložené na neskoršie spracovanie.
DiOUTGOINGRESULTFLAGMeraný bod, ktorý informuje o výsledku hovoru. V prípade, že bol odchádzajúci hovor prijatý, je hodnota bodu nastavená na hodnotu TRUE, v opačnom prípade na FALSE.
DiMODEMERRORMeraný bod, ktorý informuje o tom, či pri uskutočnení hovoru došlo ku chybe modemu.
V prípade, že hovor bol úspešný, prípadne nebol úspešný z iného dôvodu (napr. prekročený čas vyzváňania alebo čas hovoru), hodnota bodu bude False.

Prichádzajúce hovory
TxtIINCOMMINGTELNUMDo daného meraného bodu je uložená hodnota telefónneho čísla prichádzajúceho hovoru.
DiINCOMMINGRINGINGMeraný bod, ktorý indikuje, že prichádzajúci hovor je aktívny. V danom okamžiku ešte nie je hodnota INCOMMINGTELNUM platná.
Odchádzajúce SMS správy
TxtOOUTGOINGSMSNUMBERMeraný bod slúžiaci na nastavenie telefónneho čísla, na ktoré ma byť SMS správa odoslaná.
TxtOOUTGOINGSMSIDDo daného meraného bodu sa ukladá hodnota vlastného jednoznačného identifikátora správy. Pomocou tejto hodnoty je možné zistiť, či bolo správu možné odoslať a taktiež nám daný identifikátor slúži na párovanie doručenky správy s odoslanou správou.
TxtOOUTGOINGSMSBODYMeraný bod slúžiaci na nastavenie textu SMS správy. Daný meraný bod slúži ako trigger odoslania správy, čo znamená, že jeho hodnota musí byť nastavená ako posledná. Po spustení triggra sú hodnoty potrebných meraných bodov uložené do fronty a SMS správa pripravená na odoslanie.
DiOUTGOINGSMSRESULTMeraný bod, ktorý nás spolu s identifikátorom uloženom v meranom bode s adresou OUTGOINGSMSRESULTID informuje o stave odoslania SMS správy.
TxtIOUTGOINGSMSRESULTIDV prípade, že bolo umiestených súčasne viacero SMS správ do fronty, je potrebné o stave odoslania každej SMS správy informovať spolu s identifikátorom, ktorý bol nastavený v meranom bode s adresou OUTGOINGSMSID.
Prichádzajúce SMS správy
TxtiINCOMMINGSMSNUMBERMeraný bod, v ktorom je uložené telefónne číslo prijatej SMS správy.
TxtiINCOMMINGSMSBODYMeraný bod, v ktorom je uložený text prijatej SMS správy.
CiINCOMMINGSMSTRIGGERINV prípade prijatia novej SMS správy je hodnota daného meraného bodu inkrementovaná o hodnotu jedna. Daný meraný bod je možné použiť ako trigger prijatia novej SMS správy.
CoINCOMMINGSMSTRIGGEROUTDaný meraný bod slúži na potvrdenie prečítania SMS správy. To sa vykoná tak, že sa do meraného bodu nastaví hodnota uložená v meranom bode s adresou INCOMMINGSMSTRIGGERIN.
SMS doručenky
TxtIINCOMMINGRECEIPTIDMeraný bod, v ktorom je uložený jednoznačný identifikátor SMS správy, ktorý bol zvolený pri jej odosielaní.
CiINCOMMINGRECEIPTTRIGGERINV prípade prijatia novej SMS doručenky je hodnota daného meraného bodu inkrementovaná o hodnotu jedna. V danom okamžiku je hodnota meraného bodu s adresou INCOMMINGRECEIPTID platná.
CoINCOMMINGRECEIPTTRIGGEROUTDaný meraný bod slúži na potvrdenie prečítania SMS doručenky. To sa vykoná tak, že sa do meraného bodu nastaví hodnota uložená v meranom bode s adresou INCOMMINGRECEIPTTRIGGERIN
Spoločné
DiBUSYMeraný bod informujúci o stave modemu.

Revízie dokumentu


  • Ver. 1.0 – 23. január 2012 – Vytvorenie dokumentu.


Príklad komunikácie

Priložený ZIP obsahuje konfiguráciu linky, stanice a meraných bodov pre komunikáciu protokolom SMS Gateway.

SmsGateway.zip



Súvisiace stránky:

Write a comment...