Nápověda k aplikaci T-Mobile Privátní SMS brána
Obsah
- Základní informace
- Jak PSB pracuje
- Konfigurace
- Spouštění a zastavování
- Uživatelské rozhraní
T-Mobile Privátní SMS brána (PSB) je aplikace pro operační systém Linux
umožňující odesílat a příjímat SMS zprávy pomocí mobilního telefonu a/nebo přes SMS centrum
mobilního operátora.
PSB je klient-server aplikace využívající na straně serveru daemonem psbd
a na straně klienta webový server pro zobrazování uživatelského rozhraní
a spouštění klientských CGI programů sms_send
a sms_stats
.
Jako komunikační vrstva je použita CORBA.
psbd
může běžet ve dvou režimech. Jako daemon na pozadí nebo v debug režimu.
Spuštění v debug režimu se aktivuje na příkazové řádce pomocí přepínače -d.
Klientské CGI programy slouží pro zpracování formulářových dat a posílání uživatelských příkazů serveru.
sms_send
zobrazuje formulář pro zadání SMS a posílá serveru požadavek na odeslání SMS zprávy,
sms_stats
posílá žádost a zobrazuje statistiky.
Popis práce psbd
Daemon psbd
používá několik vláken pro dosažení neblokujícího chování z hlediska uživatele.
- hlavní aplikační vlákno
- Přijímá požadavky přes CORBA rozhraní a požadavky na odeslání zpráv ukládá do fronty zpráv.
- odesílání a přijímání SMS
- Vyzvedává zprávy z fronty zpráv a odesílá je a vyzvedává příchozí zprávy a ukládá je
do logu příchozích zpráv. Pokud je požadováno potvrzení o doručení, vloží po úspěšném
doručení odesílané zprávy doručenku do fronty doručenek.
Pokud je nastaveno více způsobů doručování, může se jednat o více vláken.
Pro každý způsob jedno vlákno. V současné době je možné nastavit doručování přes
mobilní telefon (ME) a přes internetové spojení s SMS centrem mobilního operátora.
Jen jedno doručovací vlákno může být aktivní současně, tj. použito pro odesílání SMS zpráv.
Avšak všechna vlákna mohou přijímat SMS zprávy současně. I ta, která nejsou zrovna aktivní pro odesílání.
- odesílání doručenek
- kontroluje frontu doručenek a odesílá je přes SMTP sevrer ve formě emailů.
- odesílací manager
- V odesílacím manageru jsou zaregistrována vlánka pro odesílání a přijímaní SMS. Manager
periodicky zjišťuje stav vlákna, zda je "připojeno" (buď k mobilnímu telefonu nebo
SMS centru mobilního operátora), a nastavuje které vlákno má sloužit k odesílání SMS.
Pokud je více vláken "připojených", rozhoduje o nastavení aktivity jejich priorita.
Priorita se určuje pořadím registrace, tj. vlákno které je dříve zaregistrováno v manageru má
vyšší prioritu pro použití k odesílání SMS. V současné době není možné konfigurovat priority
v konfiguračním souboru a jako vlákno s vyšší prioritou pro odesílání je nastaveno odesílání
přes SMS centrum mobilního operátora (pokud je k dispozici).
- ukončovací vlákno
- V případě detekce signálu SIGINT zajišťuje ukončení hlavního vlákna naslouchajícího na
CORBA rozhraní.
Klientské programy
Jedná se o CGI aplikace, které slouží pro komunikaci s serverovým daemonem. Jsou součástí webového rozhraní,
které umožňuje odesílat SMS zprávy pomocí webového prohlížeče. Lze je spouštet i samostatně z příkazové řádky,
což umožňuje integrovat odesílání SMS zpráv do dalších aplikací.
- sms_send
- Předává obsah webového formuláře severu. Pokud se použije přímo z příkazové řádky předávají se
údaje o odesílané SMS zprávě formou parametrů
--destaddr=xxx
,
--userdata=xxx
, --ondisp=1/0
a --mailto=xxx
. Je možné použít
i zkrácené verze parametrů -d
, -u
, -o
, -m
.
Help je přístupný po zadání parametru --help
.
- sms_stats
- Dotazuje se na status serveru a zobrazuje jej ve formě HTML stránky. Při použití z příkazové řádku je
možné pomocí parametru
--text
či -t
přepnout výstup do textového režimu.
V adresáři /etc/psb se nacházejí dva konfigurační soubory. Pomocí psbd.ini se konfiguruje
serverový daemon a pomocí sms_send.ini klientské CGI programy.
psbd.ini
[EMI]
Tato sekce nastavuje připojení k SMS centru.
- Address – adresa serveru SMS centra
- Port – TCP port
- LAID – large account ID
- Password – přístupové heslo k serveru
- WindowSize – velikost komunikačního okna
- OriginatingAddress – číslo odesílatele. Pokud není zadáno, použije SMS centrum výchozí hodnotu.
- AlertAddress – Zpětné číslo. Je vždy ve tvaru +4207363XXXXX a je stejné jako telefonní číslo služby SMS Connect.
[ME]
Nastavení připojeného mobilního telefonu. Telefon musí podporovat modemové AT příkazy.
- Device – cesta k systémovému souboru zařízení mobilního telefonu
- BaudRate – komunikační rychlost zařízení
- Pin – PIN telefonu
- ReceiveAllSms[0/1] – určuje, zda PSB bude přijímat pouze nové zprávy [0], nebo zda bude testovat i již uložené zprávy [1]
[Log]
Nastavení uméstění lovacích souborů a skrývání informací, které se mají do logů zapisovat.
- AccessLog – absolutní cesta k log souboru pro informace o odeslaných SMS
- AccessLog_HideIp[0/1] – ovlivňuje skrývání IP adresy odesílatele
- AccessLog_HideDestinationAddress[0/1] – skrývání telefoního čísla adresáta
- AccessLog_HideUserData[0/1] – skrývání textu zprávy
- AccessLog_HideEmail[0/1] – skrývání emailové adresy pro potvrzování
- ErrorLog – absolutní cesta k souboru s provozními zprávami
- ErrorLog_HideDestinationAddress[0/1] – skrývání telefoního čísla adresáta
- ErrorLog_HideUserData[0/1] – skrývání textu zprávy
- ReceiveLog – absolutní cesta k souboru s přijatými zprávami
- ReceiveLog_HideOriginatingAddress[0/1] – skrývání telefoního čísla odesílatele
- ReceiveLog_HideDestinationAddress[0/1] – skrývání telefoního čísla příjemce
- ReceiveLog_HideUserData[0/1] – skrývání textu přijaté zprávy
[SMTP]
Informace o umístění poštovního serveru a dalších informací pro odesílání potvrzení.
- ServerHost – IP adresa poštovního serveru
- ServerPort – port poštovního serveru
- From – emailová adresa, která bude v potvrzovacích emailech uvedena, jako odesílatel potvrzení
- Subject – předmět zprávy
- Body – vlastní zpráva potvrzení
Subject a Body mohou obsahovat několik proměnnýcvh, které budou nahrazeny informacemi o odesílané zprávě:
- %DA% – telefonní číslo, kam byla zpráva doručena
- %UD% – text doručené zprávy
- %DATE% – datum doručení
- %TIME% – čas doručení
- %LF% – nový řádek
[SmsProcessing]
PSB umožňuje spouštění externích aplikací s údaji o přijatých zprávách. Externí aplikace jsou spouštěny sekvenčně
podle pořadí, v jakémjsou uvedeny v konfiguraci a psbd
jim předává informace pomocí proměnných prostředí
(environment) popsaných dále.
- Executables – seznam spouštěných aplikací oddělených čárkou
Předávané proměnné:
- OA – číslo odesílatele
- SCADDRESS – číslo servisního střediska zpráv
- SCTIME – časová značka servisního střediska zpráv
- ALPHABET – zatím neimplementováno
- UD – text zprávy
- MWI_ENABLED – zatím neimplementováno
- MWI – zatím neimplementováno
- CLASS – zatím neimplementováno
- UDHI – zatím neimplementováno
Pro předávané proměnné se nenastavují žádná pravidla pro skrývání informací. Potřebné skrývání zabezpečují
externí aplikace ve vlastní režii.
sms_send.ini
[HTTP]
- wwwRoot – absolutní cesta ke kořenové složce www serveru; defaultní hodnota je /var/www/htdocs
- SendSmsLocation – umístění CGI pro odesílání zpráv
- SendSmsPageSource – relativní cesta (vzhledem k wwwRoot)
k šabloně zobrazované pomocí CGI
sms_send
[Filters]
Definice filtrů pro omezení dostupnosti a použitelnosti PSB.
- AllowDestinationAddressMask – maska určující povolená cílová telefonní čísla
- DenyDestinationAddressMask – maska určující zakázaná cílová telefonní čísla
- AllowClientIpAddressMask – maska určující povolené IP adresy (či podsítě) odkud lze PSB používat
- DenyClientIpAddressMask – maska určující zakázané IP adresy (či podsítě) odkud nelze PSB používat
Filtry se zadávají pomocí masek, které mohou obsahovat
speciální znaky:
- * (hvězdička) – zastupuje jakýkoli řetězec znaků
- ? (otazník) – zastupuje jakýkoli jednotlivý znak
- | (svislítko) – operátor "nebo"
Pro spouštění a zastavování slouží init skript /etc/init.d/psbd, který akceptuje parametry
start a stop.
Uživatelské rozhraní je servírováno www servrem (apache) a je dostupné na adrese
http://localhost/psb. Základní obrazovka se skládá
z nabídkové lišty v horní části okna a formuláře pro zadávání odesílaných SMS ve spodní části.
Ve formuláři lze zadat
- telefonní číslo, nakteré bude SMS zpráva odeslána (lze zadat i seznam čísel oddělených čárkami)
- emailovou adresu (nebo seznam adres oddělených čárkami), pokud chceme dostat zprávu o doručení
(potvrzení o doručení nelze zasílat na mobilní číslo)
- způsob doručení zprávy (normální nebo na displej)

- text zprávy
Formulář nám indikuje délku zprávy, počet zbývajících znaků a počet zpráv, do kterých bude rozdělena dlouhá zpráva.