Hányszor hallani, hogy valaki "küldött egy SMS-t" Vicces, mert nem SMS-t, hanem SM-et küldött. Hogy miért?
SMS - Short Message System
SM - Short Message
A rendszer ami szolgáltatói oldalon van: SMSC - SMS Center
De hányan tudják, hogy nagyjából hogyan mi van mögötte?
Eredetileg a Global System for Mobile szabványokban jelent meg először, de ma már vonalason, vagy műholdas telefonon keresztül is küldhetünk SM-et.
Nevét egyszerűen onnan kapta, hogy 140 byte információt lehet átküldeni egy üzenetben. Fejlesztésében nagyon vegyes társaság vett részt. A résztevők többek között a France és Deutsche Telecom, Vodafone, Telenor, Teliasonera... volt. Fokozatosan definiálták a jelzésátvitelt az Air interfacen, MAP-SS7 és Camel protokollokban. Azt hiszem ez a rész kevés embert érdekel.
Az SMSC feladata a beérkező üzenetek szűrése, fogadása, tárolása és továbbítása. A telefonban az üzenetközpont beállítással tudjuk kiválasztani, hogy melyik SMSC-t használjuk. Egy SMS kb következő alap blokkokkal rendelkezik:
interface a központ felé: Ez tipikusan SS7 vagy SS7 over IP, de lehet valami propriertary protokoll is. A Mobile Originated és Mobile Terminated üzenetek fogadására és küldésére szolgál
Szűrő és konverzós block:. A címzettek, illetve feladók számát alakíthatja át egységes formátumra. Pl: +3623xxx, 0623xxx, xxx,003623 -> 3623xxx A küldő és fogadó fél adatai (MSISDN, IMSI) alapján black és white listek segítségével tiltja az SM elküldését.
Prepaid rendszer: Az IN felé biztosít kapcsolatot, lehetővé teszi, hogy a kártyás előfizetőktől rögtön levonják a pénzt. Tipikusan valamilyen xml vagy még inkább Corba alapú. Persze az IN integrációval különböző dinamikus rerouting, helyhez kötött szolgáltatás (számlázás) is elérhető. A marketingesek fantáziája kifogyhatatlan.
Adatbázis: Ha elfogadta az üzenetet (nincs tiltólistán, van pénze...) az SMSC, akkor jöhet a kiküldés. A hivatalos mód az lenne, hogy egy db inserter berakja az adatbázisba, majd onnan kiküldi a poller. Ezt kicsit továbbfejlesztve az elfogadott üzenetet megpróbálja kiküldeni az SMSC. Ha ez sikerült, akkor nyert ügy, ha kell visszajelez a feladónak, létrehozza a CDR-ben a megfelelő számlázási rekordot és kész. Ha nem sikerül, akkor vissza a klasszikus móhoz és berakja az adatbázisba. Database terhelésben ez sokat jelent, mert az esetek kb. 80-90%-ban be van kapcsolva a fogadó fél.
Polling: Ha az üzenet a DB-ben kötött ki, akkor megpróbálja adott időnként ismét kiküldeni. Ezt egy időbéjeg és a polling tábla alapján teszi meg. Mondjuk az első próbálkozás 1 perc után, a második 5 perc után, majd 10, 15, 30... után történik meg. Megoldható, hogy az előfizetői adatokat kezelő HLR a telefon visszakapcsolásánál jelezzen az SMSC felé, így az rögtön megbombázhat a beragadt üzenetekkel.
Lehallgatás: Törvényi előírás. Az adott számhoz tartozó SMS-ek másolata egy program felé továbbítódik.
Logolás: Hibakereséshez elengedhetetlen. Az üzenetek státuszát, különböző információit tárolhatja, de nem magát az üzenetet. Specális fajtája a számlázás, ami Charging Data Record-okat állít elő.
Applikációs interface: Ide csatlakozhatnak a különböző programok. Jó példa a hangposta "Önnek 4 új üzenete érkezett, kérjük hívja a ..."
Persze ez csak karcolja a felszínt, de így már összerakható egy vázlat különböző üzenetekhez.
MO-MT (Mobile Originated- Mobile Terminated)
telefon - központ - SMSC interface - konverzió - tiltólista vizsgálat - pénz levonás - adatbázis - kiküldés a központ felé - fogadó telefonja - visszajelzés a küldőnek - számlázás update/adatbázisból törlés
MO - AT (Application Terminated)
telefon - központ - SMSC interface - konverzió - tiltólista vizsgálat - pénz levonás - adatbázis - fogadó applikáció - visszajelzés a küldőnek - számlázás update/adatbázisból törlés
AO - MT (Application Terminated)
applikáció - SMSC interface - konverzió - tiltólista vizsgálat - pénz levonás (akár a fogadótól is)- adatbázis - kiküldés a központ felé - fogadó telefonja - visszajelzés a küldőnek - számlázás update/adatbázisból törlés
Persze ez csak egy gyenge vázlat, mert mivan, vannak különböző számlázási osztályok, összefűzött SM-ek (160 karakter fölötti üzenet töbB SM-ként megy át, ezeket sorba kell rakni...) és sok más nyalánkság.