![]() |
Obsah dokumentace | Uživatelská dokumentace | Administrátorská dokumentace | Rejstřík pojmů | Technická podpora | Hledání on-line |
Integrace aplikací třetích stran do MobilChange |
MobilChange (dále MX) se svým okolím komunikuje pomocí textových souborů ve filesystému. Nad nimi jsou postaveny i "vyšší" komunikační nástroje - např. COM objekt pro odesílání SMS. Tento dokument popisuje doporučený postup pro odesílání i příjem SMS pomocí souborů.
MX počítá s tím, že SMS může najednou odesílat i přijímat několik
aplikací, a to i souběžně s běžnými uživateli používajícími MX z e-mail
klienta nebo WWW formuláře. Každá aplikace je identifikována svým
jménem - to může být vcelku libovolné, ale mělo by obsahovat jen anglická písmena.
Při vytváření těchto dvoji souborů je doporučen následující postup:
Jméno CTL i TXT souboru musí být unikátní - tj. není možné např. opakovat stejné jméno TXT souboru pro více zpráv.
Příjem souborů od MX by měl probíhat stejnou logikou - teprve pokud se objeví řídící soubor se správnou příponou, otevřeme jej a načteme z něj potřebné informace a jméno datového souboru.
Pro odesílání SMS zpráv stačí vymyslet unikátní jméno pro novou aplikaci a vytvořit pro ní adresář pro příjem zpráv: (MobilChange)/script/in/(jméno aplikace)/.
Pro příjem zpráv je dále potřeba v aplikaci mxRouteCfg udělat nové směrovací
pravidlo - filtr na telefonní číslo i na text zprávy nastavte na ".*" (bez uvozovek), pokud chcete
dostat všechny zprávy. Dále zvolte jazyk "aa" a volbu "pokračovate ve zpracování dalších pravidel
pro tuto zprávu" - tím umožníte i dalším aplikacím, aby SMS
zpracovaly. Pokud nechcete,
aby SMS došla i do e-mailu, pak u poslední aplikace v seznamu, jejímž
filtrům by SMS odpovídala, nastavte volbu "zastavit zpracování pravidel pro tuto zprávu".
Následně doporučujeme v mxRouteCfg otestovat, zda směrování zpráv
probíhá podle Vašich představ.
Soubor *.CTL obsahuje informace o odesilateli a příjemci SMS, o režimu
jejího odesílání a odkaz na soubor *.TXT. Ten pak obsahuje vlastní text SMS.
Řídící soubor s příponou .CTL by měl mít formát dle následujícího
popisu. Měňte jen položky označené tučnou kursivou.
Červeně jsou vyznačeny doporučené hodnoty - pokud nevíte, použijte je.
[system] type=email |
|
priority=normal |
Povolené jsou hodnoty "high", "normal" a "low", kde SMS vyšší
priority předbíhají ve zpracování ty s nižší prioritou |
sent=3ffaede7 |
Čas vytvoření SMS - počet sekund
od 1.1.1970 jako hexačíslo. Pokud Vaše aplikace neumí vytvořit, nechte
zde tuto ukázkovou hodnotu. TIP: printf( "%08.8x", time() ); |
subject= | Subjekt e-mail zprávy. Nemá
smysl u zpráv generovaných z aplikace = nechte prázdné. |
nomodify=1 |
1 = Nemodifikovat text zprávy. 0 = Přeformátovat zprávu - odstranit nadbytečné mezery, přidat informace o odesilateli... |
display_cc= display_to= |
|
msg=TEST_1_3ffaede7.txt |
Jméno textového souboru ve
stejném adresáři. Soubor obsahuje text SMS zprávy. Pokud to transportní
kanál umožňuje, odesílá se v plné kvalitě, tj. včetně konců řádků a
podobných znaků. |
dr=1 |
1 = Požadován Delivery Report 0 = Nepožadován DR Delivery Reporty nejsou podporovány vždy - záleží od použitého ovladače a zařízení. |
displayonly=0 |
1 = SMS "jen na displej" -
zobrazí se, i když má uživatel plné úložiště SMS. Další SMS stejného
typu ji přepíše. 0 = Klasická SMS |
user_app_id=15454 | Aplikační ID dané SMS. MX toto
číslo nijak nezpracovává, jen ho předává v každé další informační
zprávě o této SMS, takže aplikace ví, o které SMS se mluví. Pokud nemátežádné ID k vyplnění, nechte položku prázdnou, tj. user_app_id= |
replyrequired=0 |
1 = Po zobrazení SMS telefon
upozorní, že odesilatel požaduje odpověď - a většinou rovnou nabídne
psaní SMS. Není podporováno u všech telefonů - pokud to telefon neumí,
SMS jen normálně zobrazí. 0 = Klasická SMS |
from_number=9001230 |
Telefonní číslo, které se má
nastavit jako odesilatel SMS. Tato funkce je podporována jen na
některých ovladačích. Je možno nastavit jen čísla, která se dohodnou s
operátorem. Pokud nechcete číslo nastavovat, položku neuvádějte! |
via_line=line3 |
Explicitní určení, přes kterou linku má SMS odejít. Pokud nechcete směrování nastavovat, položku neuvádějte! |
maxlen=3 |
Na kolik SMS se má text maximálně rozdělit, pokud je delší než 160 znaků? Pokud nechcete určovat, položku neuvádějte! |
[user] |
|
cmd=email=$Ajméno_aplikace |
Doplňte jméno své aplikace. |
cmd=address= cmd=assist_n= cmd=assist_p= cmd=off_ph_2= cmd=city= cmd=company= cmd=country= cmd=custom_1= cmd=custom_2= cmd=custom_3= cmd=custom_4= cmd=custom_5= cmd=custom_6= cmd=custom_7= cmd=custom_8= cmd=custom_9= cmd=custom_10= cmd=department= cmd=off_fax= cmd=first_name= cmd=home_ph_1= cmd=home_ph_2= cmd=last_name= cmd=mobile= cmd=office= cmd=pager= cmd=off_ph_1= cmd=postcode= cmd=state= cmd=title= cmd=usr1= cmd=usr2= cmd=usr3= [from] |
|
name=$Ajméno_aplikace gateway=* email=$Ajméno_aplikace smtp=$Ajméno_aplikace |
Doplňte jméno své aplikace. |
[to] |
|
to=jméno adresáta name=jméno adresáta |
Vyplňte jméno adresáta, nebo
(pokud není k dispozici) jeho telefonní číslo. Používá se pro větší
přehlednost při prohlížení fronty či archivu. |
company= dept= title= assist_ph= type=TO |
|
number=telefonní
číslo |
Telefonní číslo adresáta. MX umí
jak "+420603123456", tak "603123456". |
Sekce [to] se může libovolněkrát opakovat - SMS je pak odeslána na více adresátů.
V textovém souboru odkazovaném položkou msg je text, který se má odeslat.
Pokud je delší než maximální délka SMS, je rozdělen na více částí.
Pokud obsahuje češtinu, je převeden do textu "bez hacku a carek".
Řídící soubor s příponou .CTL by měl mít formát dle následujícího
popisu. Měňte jen položky označené tučnou kursivou.
Červeně jsou vyznačeny doporučené hodnoty - pokud nevíte, použijte je.
[system] type=email class=3 |
|
priority=normal |
Povolené jsou hodnoty "high", "normal" a "low", kde SMS vyšší
priority předbíhají ve zpracování ty s nižší prioritou |
sent=3ffaede7 |
Čas
vytvoření SMS - počet sekund od 1.1.1970 jako hexačíslo. Pokud Vaše
aplikace neumí vytvořit, nechte zde tuto ukázkovou hodnotu. |
subject= display_cc= display_to= displayonly=0 nomodify=1 |
|
msg=TEST_1_3ffaede7.txt |
Jméno textového souboru ve
stejném adresáři. Soubor obsahuje SMS zprávu v PDU formátu. |
dr=1 |
1 = Požadován Delivery Report 0 = Nepožadován DR Delivery Reporty nejsou podporovány vždy - záleží od použitého ovladače a zařízení. |
user_app_id=15454 | Aplikační ID dané SMS. MX toto
číslo nijak nezpracovává, jen ho předává v každé další informační
zprávě o této SMS, takže aplikace ví, o které SMS se mluví. Pokud nemátežádné ID k vyplnění, nechte položku prázdnou, tj. user_app_id= |
from_number=9001230 |
Telefonní číslo, které se má
nastavit jako odesilatel SMS. Tato funkce je podporována jen na
některých ovladačích. Je možno nastavit jen čísla, která se dohodnou s
operátorem. Pokud nechcete číslo nastavovat, položku neuvádějte! |
via_line=line3 |
Explicitní určení, přes kterou
linku má SMS odejít. Pokud nechcete směrování nastavovat, položku neuvádějte! |
[user] |
|
cmd=email=$Ajméno_aplikace |
Doplňte jméno své aplikace. |
cmd=address= cmd=assist_n= cmd=assist_p= cmd=off_ph_2= cmd=city= cmd=company= cmd=country= cmd=custom_1= cmd=custom_2= cmd=custom_3= cmd=custom_4= cmd=custom_5= cmd=custom_6= cmd=custom_7= cmd=custom_8= cmd=custom_9= cmd=custom_10= cmd=department= cmd=off_fax= cmd=first_name= cmd=home_ph_1= cmd=home_ph_2= cmd=last_name= cmd=mobile= cmd=office= cmd=pager= cmd=off_ph_1= cmd=postcode= cmd=state= cmd=title= cmd=usr1= cmd=usr2= cmd=usr3= [from] |
|
name=$Ajméno_aplikace gateway=* email=$Ajméno_aplikace smtp=$Ajméno_aplikace |
Doplňte jméno své aplikace. |
[to] |
|
to=jméno adresáta name=jméno adresáta |
Vyplňte jméno adresáta, nebo -
pokud není k dispozici - jeho telefonní číslo. Používá se pro větší
přehlednost při prohlížení fronty či archivu. |
company= dept= title= assist_ph= type=TO |
|
number=telefonní
číslo |
Telefonní číslo adresáta. MX umí
jak "+420603123456", tak "603123456". |
Sekce [to] se nesmí opakovat. Telefonní číslo v ní určené musí být
totožné s číslem, které je zakódováno v PDU zprávě. U některých
ovladačů se pro skutečné odeslání používá číslo z PDU; číslo v sekci
[to] se však používá pro routing SMS na správnou odesílací linku.
V textovém souboru odkazovaném položkou msg je SMS v PDU formátu - bez
dalších znaků, tj. bez konců řádků atd. PDU musí být plnohodnotné - pro
kontrolu doporučujeme program PduSpy.
POZOR! Neprovádějte
zpracování tak, že čekáte na soubor *.txt
- mohlo by dojít k problémům se sdílením souborů. Čekejte na
objevení se souboru *.notify.sms,
načtěte jej a použijte položkou msg
odkazovaný textový soubor.
První položkou v TXT souboru je "msg_type".
Ta obsahuje jméno zprávy, která je zasílána. Existují následující typy
zpráv, které se týkají odesílané SMS:
Jméno položky |
Popis |
Zprávy, v nichž se vyskytuje |
msg_type |
Jméno typu zprávy. |
všechny |
description |
Popis daného typu zprávy - human readable (pro ladění atd.) |
všechny |
name |
Jméno adresáta |
všechny |
number |
Telefonní číslo, na které byla/měla být zpráva odeslána. |
všechny kromě e_nosms |
user_app_id |
Aplikační ID z odesílané zprávy |
všechny |
time |
Čas odeslání ve tvaru YYYY/MM/DD hh:mm:ss |
všechny kromě e_nosms |
operator |
Jméno GSM operátora, jehož sítě se to týkalo. Pozor! Není v normalizovaném tvaru, zapisuje se zde to, co vrátí GSM modul. |
všechny kromě e_nosms |
line |
Jméno linky, přes kterou SMS odcházela |
všechny kromě e_nosms |
cost |
Cena odeslání |
všechny kromě e_nosms |
num |
Na kolik SMS byl text rozdělen? |
všechny kromě e_nosms |
rcv |
Čas doručení na cílový mobilní
telefon. |
sent_ok_dr |
text |
Náhled rozdělení SMS. POZOR! Tato položka může obsahovat i znaky typu "konec řádku" atd., a proto je ohraničena řídícími znaky - na začátku je 0x02 (STX), na konci 0x03 (ETX). |
všechny kromě e_nosms |
drtext |
Text DR/NDR zprávy od operátora. POZOR! Tato položka může obsahovat i znaky typu "konec řádku" atd., a proto je ohraničena řídícími znaky - na začátku je 0x02 (STX), na konci 0x03 (ETX). |
sent_err_ndr. sent_ok_dr,
sent_err_timeout |
errors |
Popis problémů. POZOR! Tato položka může obsahovat i znaky typu "konec řádku" atd., a proto je ohraničena řídícími znaky - na začátku je 0x02 (STX), na konci 0x03 (ETX). |
sent_err_send |
Ukázka reportu:
msg_type=sent_ok_wait description=Your message has been sent to SMS center. Delivery or non-delivery report will be send. name=MZa user_app_id=15454 number=420777267556 time=2004/01/06 17:29:28 operator=Virtual/Debug line=line1 cost=1.05 num=1 text=[STX]*stav#F:$AMainRouter test SMS s koncem radku[ETX] |
Formátovací soubory pro reporty si můžete prohlédnout v adresáři (MobilChange)/data/aa/. Zde uvidíte
konkrétní pořadí položek i to, které položky jsou v kterém typu souborů.
Zpracování CTL/TXT souborů je popsáno zde - u přijatých SMS je to stejné.
Formát TXT souboru přijaté SMS zprávy je následující:
msg_type=rcv_sms |
Typ: přijatá SMS |
number=+420603123456 |
Telefonní číslo odesilatele |
time=2004/01/06 18:24:41 |
Čas doručení SMS do MX ve tvaru YYYY/MM/DD hh:mm:ss |
operator=Paegas |
Jméno GSM operátora, v jehož síti je přihlášen daný GSM modul. Pozor! Není v normalizovaném tvaru, zapisuje se zde to, co vrátí GSM modul. |
line=line1 |
Jméno linky, přes kterou SMS
přišla. U Premium SMS je za jménem linky podtržítko a telefonní číslo, na které byla SMS odeslána, tj. např. line1_9004530. |
text=[STX]abc[ETX] |
Text SMS. Pokud jde o binární SMS, může zde být PDU tvar SMS - nebo zde nemusí být nic. POZOR! Tato položka může obsahovat i znaky typu "konec řádku" atd., a proto je ohraničena řídícími znaky - na začátku je 0x02 (STX), na konci 0x03 (ETX). |
binary=0 |
0 = textová SMS 1 = binární SMS |
pdu=0015454454... |
PDU tvar zprávy - u binárních SMS. Může zde být i u textových zpráv, ale není zaručeno. |
Ovladač |
Binární SMS |
Delivery reporty |
Nastavení čísla odesilatele |
Premium SMS - více čísel na jedné lince |
Rychlost |
T-Mobile UCP/EMI (emi.dll) |
ano |
ne |
ano |
ano |
10/sec |
Vodafone CZ (oskar.dll) |
ano |
ne |
ano |
ano |
10/sec |
Eurotel BMG (cimd.dll) |
ano |
ne |
ne |
ne |
13/sec |
Eurotel M2M (m2m.dll) |
ano |
ano - textové i binární SMS, nemění velikost zprávy |
ano |
ano |
2/min |
O2 SMS Connector (WebServices) |
ano |
ano - textové i binární SMS, nemění velikost zprávy | ano |
ano |
? |
GSM moduly a telefony Siemens, Ericsson; GSM brány 2N, Ericsson |
ano |
ano - jen u textových zpráv, zkracují text SMS o několik znaků |
ne |
ne |
5/min |
GSM moduly a telefony Nokia |
ano |
ano - jen u textových zpráv, při nastavení drtype=128 nemění velikost zprávy | ne |
ne |
5/min |