Bevezetés az SMS PDU módba
A mobilhálózati operátorok és SMS-szolgáltatók az SMS protokollt használják az SMS-üzenetek hálózati entitások közötti továbbítására. Az SMS protokoll lehetővé teszi a mobil eszközök számára az SMS-ek küldését és fogadását. A mobil eszköz által küldött SMS-t Mobile Originated (MO) SMS-nek nevezik. A mobil eszköz által fogadott SMS-t Mobile Terminated (MT) SMS-nek nevezik. Ez a útmutató információt nyújt arról, hogyan kódolják a mobiltelefonok az MO és MT SMS üzeneteket, más szóval hogyan alakítják ki a Protocol Data Units (PDU) egységeket a hálózaton keresztüli üzenetküldéshez és fogadáshoz.
Bevezetés
A PDU mód lehetővé teszi bináris információk küldését 7 bites vagy 8 bites formátumban. Ez hasznos lehet, ha tömörített adatokat, bináris adatokat kell küldeni, vagy saját karakterkódolást szeretnél létrehozni a bináris bitfolyamban. Ha visszatérünk a régi Fernschreiber kódolására, akkor csak 5 bitre van szükség egy alfanumerikus szöveg küldéséhez. Az 5 bites kódolással 224 karaktert tartalmazhatunk, szemben a 7 bites szöveges módban elérhető 160 karakterrel. Egy másik ok lehet az egész számú adatok küldése.
Ha teljes ellenőrzést szeretnél gyakorolni az átvitt adatok felett szöveges módban, akkor meg kell értened a PDU módot, mert van néhány parancs, ahol numerikus paramétereket állíthatsz be, amelyek megváltoztatják az SMS küldésének és fogadásának módját szöveges módban is.
Kérjük, vedd figyelembe, hogy van néhány eltérés a PDU mód és más AT parancsok megvalósításában.
Az SMS üzenet, ahogy az az Etsi szervezet által meghatározott (dokumentumok GSM 03.40 és GSM 03.38), legfeljebb 160 karakter hosszú lehet, ahol minden karakter 7 bites a 7 bites alapértelmezett ábécé szerint. Nyolcbites üzenetek (max 140 karakter) általában nem tekinthetők meg szöveges üzenetként a telefonokon; helyette adatokhoz használják őket, például intelligens üzenetküldésben (képek és csengőhangok) és WAP beállítások OTA kiépítésében. 16 bites üzenetek (max 70 karakter) Unicode (UCS2) szöveges üzenetekhez használatosak, amelyek a legtöbb telefonon megjeleníthetők. Egy 16 bites szöveges üzenet, 0 osztályú, egyes telefonokon Flash SMS-ként (más néven villogó SMS vagy figyelmeztető SMS) jelenik meg.
A PDU formátum
Kétféle módon lehet SMS üzeneteket küldeni és fogadni; szöveges módban és PDU (protokoll leíró egység) módban. A szöveges mód (ami egyes telefonokon nem elérhető) csak a PDU módban reprezentált bitfolyam kódolása. Az ábécék eltérőek lehetnek, és több kódolási lehetőség is van egy SMS üzenet megjelenítésére. A leggyakoribb opciók: "PCCP437", "PCDN", "8859-1", "IRA" és "GSM". Ezek mind az AT+CSCS paranccsal állíthatók be, amikor egy számítógépes alkalmazásban olvasod az üzenetet. Ha a telefonodon olvasod az üzenetet, a telefon kiválaszt egy megfelelő kódolást. Egy bejövő SMS-üzenetek olvasására képes alkalmazás így használhat szöveges módot vagy PDU módot. Ha szöveges módot használ, az alkalmazás kötve van (vagy korlátozva) az előre beállított kódolási opciókhoz. Bizonyos esetekben ez egyszerűen nem elég jó. Ha PDU módot használ, bármilyen kódolás implementálható.
Üzenet fogadása PDU módban
A PDU sztring nemcsak az üzenetet tartalmazza, hanem sok meta-információt is a küldőről, az SMS szolgáltató központjáról, az időbélyegről stb. Mindez hexadecimális oktettek vagy decimális féloktettek formájában van. A következő sztring az, amit egy Nokia 6110-n kaptam, amikor a "hellohello" üzenetet küldtem a www.mtn.co.za-ról.
07 |
917238010010F5 |
040BC87238880900F100009930925161958003C16010 |
Ez az oktettsorozat három részből áll: Egy kezdő oktett, amely az SMSC információk hosszát jelzi ("07"), maga az SMSC információ ("917238010010F5"), és az SMS_DELIVER rész (amit az ETSI határoz meg a GSM 03.40-ben).
! Megjegyzés: egyes telefonokon (pl. Ericsson 888?) az első három (színes) rész kimarad, amikor az üzenetet PDU módban mutatják !
Oktett(ek) | Leírás |
---|---|
07 |
Az SMSC információk hossza (ebben az esetben 7 oktett) |
91 |
Az SMSC típusa. (91 a telefonszám nemzetközi formátumát jelenti) |
72 38 01 00 10 F5 |
A szolgáltató központ száma (decimális féloktettekben). A telefonszám hossza páratlan (11), ezért egy F került hozzáadásra a megfelelő oktettek kialakításához. A szolgáltató központ telefonszáma "+27831000015". Lásd alább. |
04 |
Az SMS-DELIVER üzenet első oktettje. |
0B |
Cím hossza. A küldő szám hossza (0B hex = 11 dec) |
C8 |
A küldő szám típusa |
72 38 88 09 00 F1 |
Küldő szám (decimális féloktettek), F végződéssel |
00 |
TP-PID. Protokoll azonosító. |
00 |
TP-DCS Adatkódolási séma |
99 30 92 51 61 95 80 |
TP-SCTS. Időbélyeg (féloktettek) |
0A |
TP-UDL. Felhasználói adat hossza, az üzenet hossza. A TP-DCS mező 7 bites adatot jelez, így a hossz itt a szeptettek száma (10). Ha a TP-DCS mező 8 bites adatot vagy Unicode-ot jelezne, a hossz az oktettek száma lenne (9). |
E8329BFD4697D9EC37 |
TP-UD. Üzenet "hellohello", 8 bites oktettek, amelyek 7 bites adatot reprezentálnak. |
A fenti oktettek mind hexadecimális 8 bites oktettek, kivéve a szolgáltató központ számát, a küldő számot és az időbélyeget; ezek decimális féloktettek. Az üzenetrész a PDU sztring végén hexadecimális 8 bites oktettekből áll, de ezek az oktettek 7 bites adatot reprezentálnak (lásd alább). A féloktettek decimálisak, és például a küldő számot úgy kapjuk meg, hogy a féloktetteket belsőleg felcseréljük a "72 38 88 09 00 F1"-ből "27 83 88 90 00 1F"-re. A telefonszám hossza páratlan, ezért ebből a számból nem lehet megfelelő oktettsorozatot képezni. Ez az oka annak, hogy az F végződést hozzáadták. Az időbélyeg, ha feldolgozzuk, "99 03 29 15 16 59 08"-nak felel meg, ahol az első 6 karakter a dátumot, a következő 6 az időt jelöli, az utolsó kettő pedig az időzónát GMT-hez képest.
8 bites oktettek értelmezése 7 bites üzenetként
Ez az átalakítás részletesen le van írva a GSM 03.38-ban, és itt látható a "hellohello" átalakítás példája. Az átalakítás a 7 bites alapértelmezett ábécére épül, de a PDU módra épülő alkalmazás bármilyen karakterkódolást használhat.
Üzenet küldése PDU módban
A következő példa bemutatja, hogyan küldhető el a "hellohello" üzenet PDU módban egy Nokia 6110-ről.
AT+CMGF=0 //PDU mód beállítása
AT+CSMS=0 //Ellenőrizze, hogy a modem támogatja-e az SMS parancsokat
AT+CMGS=23 //Üzenet küldése, 23 oktett (a két kezdeti nulla nélkül) >0011000B916407281553F80000AA0AE8329BFD4697D9EC37Ebben az üzenetben 23 oktett van (46 'karakter'). Az első oktett ("00") nem számít, csak az SMSC információk hosszát jelzi (0). A PDU sztring a következőkből áll:
Oktett(ek) | Leírás |
---|---|
00 |
Az SMSC információk hossza. Itt a hossz 0, ami azt jelenti, hogy a telefonban tárolt SMSC-t kell használni. Megjegyzés: Ez az oktett opcionális. Egyes telefonokon ez az oktett elhagyható! (A telefonban tárolt SMSC használata ekkor implicit) |
11 |
Az SMS-SUBMIT üzenet első oktettje. |
00 |
TP-Message-Reference. A "00" érték itt azt jelenti, hogy a telefon maga állítja be az üzenet referenciaszámát. |
0B |
Cím hossza. A telefonszám hossza (11) |
91 |
Cím típusa. (91 a telefonszám nemzetközi formátumát jelenti). |
6407281553F8 |
A telefonszám féloktettekben (46708251358). A telefonszám hossza páratlan (11), ezért egy F végződést adtak hozzá, mintha a telefonszám "46708251358F" lenne. Ha az ismeretlen formátumot használnánk (azaz a Cím típusa 81 lenne 91 helyett), akkor a telefonszám oktettsorozata 7080523185 (0708251358) lenne. Megjegyzendő, hogy ennek hossza 10 (A), ami páros. |
00 |
TP-PID. Protokoll azonosító |
00 |
TP-DCS. Adatkódolási séma. Ez az üzenet a 7 bites alapértelmezett ábécé szerint kódolt. Ha "02" lenne "00" helyett, akkor azt jelentené, hogy az üzenet TP-User-Data mezőjét 8 bitesként kell értelmezni 7 bites helyett (használatos pl. intelligens üzenetküldésben, OTA kiépítésben stb.). |
AA |
TP-Validity-Period. "AA" 4 napot jelent. Megjegyzés: Ez az oktett opcionális, lásd az első oktett 4. és 3. bitjét |
0A |
TP-User-Data-Length. Az üzenet hossza. A TP-DCS mező 7 bites adatot jelez, így a hossz itt a szeptettek száma (10). Ha a TP-DCS mező 8 bites adatot vagy Unicode-ot jelezne, a hossz az oktettek száma lenne. |
E8329BFD4697D9EC3 7 |
TP-User-Data. Ezek az oktettek a "hellohello" üzenetet reprezentálják. A 7 bites szeptettek oktettekké alakításának módját lásd itt |
Bevezetés az SMS szöveges módba
A Rövid Üzenet Szolgáltatás (SMS), ahogy azt a GSM 900 / 1800 / 1900 digitális mobiltelefon szabvány határozza meg, számos egyedi funkcióval rendelkezik:
Egyetlen rövid üzenet legfeljebb 160 karakter (7 bites kódolású) vagy 140 karakter (8 bites kódolású) szöveg lehet. Ez a 140 /160 karakter szavakat, számokat vagy alfanumerikus kombinációkat tartalmazhat. Nem szövegalapú rövid üzenetek (például bináris formátumban) is támogatottak. Többet a bináris módról a PDU mód linken találsz.
A Rövid Üzenet Szolgáltatás egy tároló és továbbító szolgáltatás, más szóval a rövid üzenetek nem közvetlenül a küldőtől a címzetthez kerülnek, hanem mindig egy SMS Központon (SMSC) keresztül. Minden mobiltelefon-hálózat, amely támogatja az SMS-t, egy vagy több üzenetközponttal rendelkezik a rövid üzenetek kezelésére és kezelésére. Többet az SMSC-ről az SMSC linken olvashatsz.
A Rövid Üzenet Szolgáltatás tartalmazza az üzenetkézbesítés visszaigazolását. Ez azt jelenti, hogy a küldő nem csak elküldi a rövid üzenetet és bízik abban, hogy megérkezik. Ehelyett a küldő visszaigazolást kap arról, hogy az üzenet megérkezett-e vagy sem. A legtöbb GSM modem alapértelmezett gyári paramétere ezt a visszaigazolást KI kapcsolja, így nem kap visszaigazolást a címzettől. Ha bekapcsolod, akkor visszaigazolást kapsz arról, hogy az SMSC megkapta az üzenetet, és az üzenet kézbesítése után egy második, automatikusan generált üzenetet (SMS vissza) kapsz, amely jelzi, hogy az üzenet megérkezett egy GSM telefonba vagy modembe. Ebben az automatikusan generált üzenetben a kézbesítés dátuma és ideje kódolva van. A visszaigazolás, a kódolási séma, az üzenet tárolási ideje az SMSC-ben és még sok más az AT+CSMP paranccsal állítható be.
Egy másik mód az, hogy egy előtagot küldesz a szöveges üzenettel. Ezek az előtagok nem egyformák a különböző GSM operátoroknál a világon. A német Vodafone GSM operátornál *N#-t, a T-Mobil GSM operátornál pedig *T#-t kell hozzáadni. Az AT+CSMP paranccsal történő beállítás minden SMSC-nél ugyanaz. Az *T# vagy *N# előtaggal történő kezelés akkor volt vagy szükséges, ha visszaigazolást szeretnél kapni egy SMS küldésekor mobil GSM készülékkel. Nem minden mobiltelefon tudja bekapcsolni a visszaigazolás bitjét.
Ha meg akarod érteni ennek a parancsnak a 3 paraméterét, akkor meg kell értened az SMS-t PDU módban. Egy másik fontos parancs az AT+CNMI. Ez mondja meg a GSM modemnek, hogyan kezelje a bejövő rövid üzeneteket.
A rövid üzenetek küldése és fogadása egyidejűleg történhet GSM hang-, adat- és faxhívásokkal. Ez azért lehetséges, mert míg a hang-, adat- és faxhívások egy dedikált rádiócsatornát foglalnak le a hívás idejére, addig a rövid üzenetek a jelzőút felett utaznak. Emiatt az SMS felhasználók ritkán vagy soha nem kapnak foglalt vagy elfoglalt jelet, mint a hálózat csúcsidőszakaiban. Ha bekapcsolod az SMS egyidejű fogadását adathívás közben, akkor egy SMS sztringet kapsz fax vagy adathívás közben.
Több rövid üzenet küldésének módjai is elérhetők. Az SMS összefűzés (több rövid üzenet összekapcsolása) és az SMS tömörítés (több mint 160 karakter információ egyetlen rövid üzenetben) definiálva és beépítve van a GSM SMS szabványokba. Nem minden lehetséges funkció van implementálva minden GSM operátornál világszerte. Az egyetlen üzenet mindenhol működnie kell.
A Rövid Üzenet Szolgáltatás használatához a felhasználóknak szükségük van a megfelelő előfizetésekre és hardverre, nevezetesen:
Egy mobiltelefon-hálózati előfizetésre, amely támogatja az SMS-t. Németországban a GSM operátorok minden típusú előfizetéshez biztosítják ezt a szolgáltatást.
Az SMS használatát engedélyezni kell a felhasználó számára (egyes mobilhálózati operátorok automatikusan biztosítják az SMS-hez való hozzáférést, mások havi előfizetést számítanak fel, és külön kérvényezést igényel a szolgáltatás használata). Németországban ez minden esetben benne van.
Egy mobiltelefonra vagy GSM modemre, amely támogatja az SMS-t. Ma minden GSM telefon vagy GSM modem támogatja ezt.
Tudásra arról, hogyan kell rövid üzenetet küldeni vagy olvasni a mobiltelefon vagy GSM modem adott modelljével. A megvalósítás nem egyforma minden egységnél. Nem minden GSM telefon, PCMIA modem kártya vagy GSM modem kínálja az összes olyan funkciót, amelyet az ETSI leír.
A rövid üzenet küldésének vagy fogadásának célpontja általában egy másik mobiltelefon, de lehet faxgép vagy e-mail cím is. Egyes GSM hálózatokban lehetséges a rövid üzenet faxra vagy e-mailre konvertálása.
More information
- SMS protokoll magyarázat
- Bevezetés az SMS PDU módba