ZADÁNÍ PROJEKTU SMS GATEWAY

Shrnutí 

Cílem projektu SMS Gateway je vytvoření komunikačního rozhranní mezi internetovými aplikacemi a zařízeními pro odesílání a příjem sms zpráv z/do gsm sítí. Cílem tohoto řešení je vybudovat SW pro provoz sms brány, ke které budou mít přístup aplikace komunikující přes TCP. Lze si tento software jednoduše představit jako obdobu dnešních web-sms bran, s tím rozdílem že rozhranní je určeno pro obsluhu aplikací a ne lidí. Systém dále bude poskytovat další služby,které nejsou běžnou součástí web-sms bran, např. vedení účtů aplikací, řízení přístupu ke službám, vzdálená správa, monitoring, možnost distribuce systému na více počítačů. Součástí projektu je vytvoření jednoduché aplikace SMS konference využívající SMS gateway.

Definice projektu
Tato část dokumentu definuje požadavky, cílový stav a popisuje základní strukturu řešení.
Funkční požadavky
1.	příjem a odesílání sms zpráv ( textové, binární, EMS, Picture SMS a Logo )
2.	možnost sdílení jednoho komunikačního kanálu do GSM mezi aplikacemi v obou směrech, aniž by aplikace musely tento stav nějakým způsobem ošetřovat.
3.	možnost provozovat v jeden okamžik více komunikačních kanálů do GSM a to i různých typů (UCP-EMI, PDU-COM).
4.	poskytovat jednotné rozhranní pro aplikace. Za účelem odstínění aplikací od závislosti na jednotlivých protokolech výrobců, momentálního stavu spojení atd.
5.	identifikace odesílatele a předání jeho totožnosti aplikaci.
6.	umožnit zakládání a vedení účtů pro jednotlivé aplikace a monitoring provozu systému, tak aby bylo možné vytvářet údaje pro statistiku, fakturaci apod. Případně aby bylo možné provádět kontrolu přístupu ke zdrojům, autorizace apod.
7.	systém by měl být distribuovaný ve smyslu rozložení komponent mezi více počítačů
8.	všechny komponenty systému musí integrovat jednotné rozhraní pro vzdálenou správu a monitoring např. podporovat signály setup, start, stop, shutdown
9.	všechny komponenty systému musí obsahovat testy spustitelné za běhu za účelem prokázání stavu/funkčnosti komponent i systému jako celku
10.	systém bude obsahovat jednotný framework pro vzdálenou správu a monitoring (MAL)
11.	bude definován jednotný konfigurační jazyk, interpretovaný administračním nástrojem.
12.	systém bude obsahovat nástroj pro vzdálenou správu a monitoring, ten bude umožňovat řízení běhu a průběžnou kontrolu systému, včetně testování. Bude pracovat se zápisem v konfiguračním jazyku.
13.	systém bude schopen v případě autodetekce významné události informovat obsluhu (např. formou sms)

Obecný popis

SMS BRÁNOU rozumíme soubor SW komponent vycházejících, ze stejné architektury, společně  a v součinnosti vytváří systém pro příjem a doručovaní sms zpráv mezi aplikacemi a mobilními telefony, resp. mezi zařízeními pro komunikaci s gsm sítí. Rozlišujeme 5 typů komponent. Jsou to: Network Adaptery, Router, Administrační Server, modul administrační logiky (MAL) a modul aplikačního rozhraní (MAPR). Součinnost těchto komponent musí být zajištěna vhodnou konfigurací. Jednotlivé komponenty jsou schopné samostatné činnosti a jejich funkce je na sobě nezávislá.

Základní koncepce technického řešení

•	Systém bude programován v jazyce JAVA.
•	Vnitřní tvar posílaných sms zpráv bude JMS zpráva předem definovaného typu.
•	Jako messagingový subsystém se zvolí JMS. JMS Provider bude OPEN JMS od Exolab.
•	V systému se budou nacházet následující komunikační rozhranní: JMS, COM – PDU, EMI a případně další rozhraní.

Definice komponent, jejich role v rámci celého systému

Řešení celého systému lze rozdělit na následující oblasti-komponenty.

NETWORK ADAPTER je výkonná komponenta určená pro posílaní a příjem sms zpráv. Tato komponenta implementuje komunikační protokol pro daný typ zařízení (jenž je nosičem spojení s gsm sítí). Komponenta provádí překlad z nativního formátu sms zprávy na interní tvar (JMS zpráva) a obráceně. Tato komponenta podporuje překlad (odesílaní) EMS zpráv, Picture a LOGO sms.

ROUTER  je komponenta určená pro příjem a odesílání JMS zpráv (definovaného typu). Tato komponenta má faktický úkol vykonávat přesměrovávání sms zpráv (překódovaných na JMS zprávy) mezi network adaptery nebo network adaptery a MAL nebo network adaptery a aplikacemi.

Administrační Server je komponenta určená pro registraci a správu tříd v procesech jednotlivých modulů.  Všechny třídy tzv. ”vyššího typu” poskytují rozhraní pro vzdálenou správu a monitoring. Tyto třídy jsou registrovány do Administračního serveru, tento mechanismus umožňuje jednotnou administraci distribuovaného systému jako je SMS Gateway.

MAPR je komponenta určená pro administraci sms gateway (resp. procesů z kterých se v daný okamžik sms gateway skládá).
 
MAL je rozhraním a nositelem základní aplikační logiky” sms gateway. Tato komponenta poskytuje jednotné rozhraní pro vnější aplikace. Funkcí této komponenty je řídit přístup aplikací ke službám sms brány, udržovat  fronty zpráv příslušné aplikace  a zároveň aplikace odstínit od specifik jednotlivých typu spojení či změn v konfiguraci a spojení.

TCP/IP

GSM

      MAPR

                JMS

Router

Router

Router

                                Administrační Server

Network
 Adapter

Network
 Adapter

Network
 Adapter

                  Diagram funkčních jednotek                                  
                          SMS GATEWAY

Aplikace N

                JMS

 MAL

  MAL

   MAL

Aplikace 2

Aplikace 1

Modelové případy použití
1.	Nasazení u operátora 
  Operátor nasadí systém, tzn. vytvoří propojení na jeho SMS C. Zveřejní parametry internetového rozhraní. Jednotlivým aplikacím se budou přidělovat účty a další konfigurační parametry. Aplikace tím získají přístup ke službě SMS C a operátor bude moci sloučit více zákazníků pod jednu adresu (vnitřní adresy SMS C tzv. Short codes). Dále operátor získá možnost odlišit, jaký počet sms zpráv odeslala daná aplikace a tím získá podklady pro fakturaci poplatků.

2.	Poskytovatel aplikačních služeb (konference, zpravodajství ..)
  Nasazení systému u providera má stejné charakteristiky jako u operátora. Dále se přidává možnost vytvořit připojení na více SMS C (např. Od různých operátorů ) či jiných zařízení a tím dosáhnout rozložení toků SMS zpráv a optimalizaci nákladů na jejich odesílaní a příjem. Dále jsou aplikace odstíněny od specifik jednotlivých typů připojení a stavu jejich konfigurace.

Slovník pojmů
•	ETSI – European Telecomunication Standards Institute
•	SMS C -  zařízení pro odesílání a příjem sms zpráv ( provozováno operátorem gsm sítě)
•	MT – mobilní terminál, zjednodušeně mobilní telefon nebo průmyslový modul
•	UCP-EMI – komunikační protokol s SMS C od firmy CMG
•	CIMD2 – komunikační protokol s SMS C od firmy Nokia
•	SMPP – komunikační protokol definovaný organizací SMPP, implementovaný například firmou LOGICA
•	PDU – portable data unit, definice datové jednotky protokolů ETSI
•	COM – sériové rozhraní počítače PC
•	GSM - 

Popis aplikační domény, prostředí, existujících systémů
Odesíláni a příjem sms zpráv

Doručování a kódováni sms zpráv je definováno v technických specifikacích ETSI.
V zásadě jde o tyto specifikace:

1.	GSM 3.38 – Alphabets and language-specific information
2.	GSM 3.40 - Technical realization of the Short Message Service
3.	GSM 3.41 - Technical realization of Cell Broadcast Service
4.	GSM 3.42 - Compression algorithm for text messaging services

Tyto specifikace či jejich části budou mít vliv na implementaci systému.
Popis doručování sms zpráv lze zjednodušit na konstatování, že:
1.	Existuje přenosová vrstva ( GSM )
2.	Existují standardy definující tvar a manipulaci s sms zprávami
3.	Existují zařízení ( jejich výrobci ) ,  která odesílaní a příjem sms zpráv umožňují ( včetně základního SW vybavení )
4.	Existují SW systémy určené pro práci s těmito zařízeními, tyto systémy většinou poskytují další přidané služby/hodnoty pro danou skupinu uživatelů

Zařízení pro posílání a příjem sms zpráv lze rozdělit na dvě skupiny:
1.	mobilní telefony, průmyslové moduly – technicky stejný typ zařízení (MT) 
2.	SMS C – v zásadě jde o určitou formu “serverů”, jejich úkolem je příjem sms odchozích zpráv z mobilních telefonů a jejich doručení na cílový mobilní telefon. Tyto zařízení taktéž poskytují rozhranní pro posílání a příjem zpráv přes TCP příp. další protokoly X.25. To znamená, že sms zprávy nemusejí být posílány/odesílány jen ze zařízení připojených do gsm sítě.

Výsledkem tohoto projektu bude SW systém přinášející přidané hodnoty uživatelům SMS C, průmyslových modulů( nebo mobilních telefonů používaných jako “gsm modemy”).
Existující zařízení a výrobci SMS C

V současné době existuje ve světě řada výrobců SMS C. Největší a nejrozšířenější z nich jsou z nich jsou:
1.	CMG -  tato firma vyrábí SMS C s TCP rozhranním v protokolu UCP-EMI.
2.	Logica - tato firma vyrábí SMS C s TCP rozhranním v protokolu SMPP.
3.	Nokia - tato firma vyrábí SMS C s TCP rozhranním v protokolu CIMD2.

Podrobné specifikace protokolů jsou k dispozici ke stažení na web stránkách jednotlivých firem.

Další variantou jak “programově” odesílat a přijímat sms zprávy je využití průmyslových modulů nebo mobilních telefonů. S těmito zařízeními se komunikuje přes sériové rozhraní jako s modemem a sms zprávy se kódují dle předpisu PDU vyplývajícího z norem ETSI.