Uvod u SMS PDU način rada
Operateri mobilnih mreža i pružatelji SMS usluga koriste SMS protokol za prijenos SMS poruka između mrežnih entiteta. SMS protokol omogućuje mobilnim uređajima slanje i primanje SMS poruka. SMS poruka koju šalje mobilni uređaj naziva se Mobile Originated (MO) SMS. SMS poruka koju prima mobilni uređaj naziva se Mobile Terminated (MT) SMS. Ovaj vodič pruža informacije o tome kako mobilni telefoni kodiraju MO i MT SMS poruke, drugim riječima kako formuliraju Protocol Data Units (PDU) za slanje i primanje poruka kroz mrežu.
Uvod
PDU način rada omogućuje slanje binarnih informacija u 7-bitnom ili 8-bitnom formatu. To je korisno ako trebate poslati komprimirane podatke, binarne podatke ili želite izgraditi vlastito kodiranje znakova u binarnom bit toku. Ako se vratite na staro kodiranje Fernschreibera, tada su potrebna samo 5 bita za slanje alfanumeričkog teksta. S 5-bitnim kodiranjem možete sadržavati 224 znaka umjesto 160 znakova u 7-bitnom tekstualnom načinu rada. Drugi razlog može biti slanje cijelobrojnih podataka.
Ako želite imati potpunu kontrolu nad svojim poslanim podacima u tekstualnom načinu rada, morate razumjeti PDU način rada, jer postoji nekoliko naredbi gdje možete postaviti numeričke parametre koji mijenjaju način slanja i primanja SMS poruka u tekstualnom načinu rada također.
Imajte na umu da postoji nekoliko razlika u načinu implementacije PDU načina rada i drugih AT naredbi.
SMS poruka, kako je definirana od strane organizacije Etsi (dokumenti GSM 03.40 i GSM 03.38), može biti duga do 160 znakova, gdje svaki znak ima 7 bita prema 7-bitnoj zadanoj abecedi. Osmerobitne poruke (maksimalno 140 znakova) obično se ne mogu prikazati na telefonima kao tekstualne poruke; umjesto toga, koriste se za podatke u npr. pametnom slanju poruka (slike i melodije zvona) i OTA postavkama WAP-a. 16-bitne poruke (maksimalno 70 znakova) koriste se za Unicode (UCS2) tekstualne poruke, koje većina telefona može prikazati. 16-bitna tekstualna poruka klase 0 će se na nekim telefonima pojaviti kao Flash SMS (poznat i kao treptajući SMS ili upozoravajući SMS).
PDU format
Postoje dva načina slanja i primanja SMS poruka; tekstualni način rada i PDU (protocol description unit) način rada. Tekstualni način rada (nedostupan na nekim telefonima) samo je kodiranje bit toka predstavljenog PDU načinom rada. Abecede mogu biti različite i postoji nekoliko mogućnosti kodiranja pri prikazu SMS poruke. Najčešće opcije su; "PCCP437", "PCDN", "8859-1", "IRA" i "GSM". Sve se one postavljaju pomoću AT naredbe AT+CSCS, kada čitate poruku u računalnoj aplikaciji. Ako čitate poruku na svom telefonu, telefon će odabrati odgovarajuće kodiranje. Aplikacija sposobna čitati dolazne SMS poruke može koristiti tekstualni način rada ili PDU način rada. Ako se koristi tekstualni način rada, aplikacija je vezana (ili ograničena) na skup unaprijed postavljenih opcija kodiranja. U nekim slučajevima, to jednostavno nije dovoljno. Ako se koristi PDU način rada, može se implementirati bilo koje kodiranje.
Primanje poruke u PDU načinuPDU niz ne sadrži samo poruku, već i mnogo meta-informacija o pošiljatelju, njegovom SMS centru, vremenskom pečatu itd. Sve je to u obliku heksadecimalnih okteta ili decimalnih poluokteta. Sljedeći niz je ono što sam primio na Nokia 6110 kada sam poslao poruku koja sadrži "hellohello" s www.mtn.co.za.
07 |
917238010010F5 |
040BC87238880900F100009930925161958003C16010 |
Ovaj slijed okteta sastoji se od tri dijela: početni oktet koji označava duljinu informacije SMSC-a ("07"), samu informaciju SMSC-a ("917238010010F5") i dio SMS_DELIVER (definiran od strane ETSI u GSM 03.40).
! Napomena: na nekim telefonima (npr. Ericsson 888?) prva tri (obojena) dijela se izostavljaju kada se poruka prikazuje u PDU načinu !
Oktet(i) | Opis |
---|---|
07 |
Duljina informacije SMSC-a (u ovom slučaju 7 okteta) |
91 |
Tip adrese SMSC-a. (91 znači međunarodni format telefonskog broja) |
72 38 01 00 10 F5 |
Broj uslužnog centra (u decimalnim poluoktetima). Duljina telefonskog broja je neparna (11), pa je dodan završni F kako bi se formirali pravilni okteti. Telefonski broj ovog uslužnog centra je "+27831000015". Vidi dolje. |
04 |
Prvi oktet ove SMS-DELIVER poruke. |
0B |
Duljina adrese. Duljina broja pošiljatelja (0B hex = 11 dec) |
C8 |
Tip adrese broja pošiljatelja |
72 38 88 09 00 F1 |
Broj pošiljatelja (decimalni poluokteti), sa završnim F |
00 |
TP-PID. Identifikator protokola. |
00 |
TP-DCS Shema kodiranja podataka |
99 30 92 51 61 95 80 |
TP-SCTS. Vremenski pečat (poluokteti) |
0A |
TP-UDL. Duljina korisničkih podataka, duljina poruke. Polje TP-DCS označava 7-bitne podatke, pa je duljina ovdje broj septeta (10). Ako bi polje TP-DCS bilo postavljeno da označava 8-bitne podatke ili Unicode, duljina bi bila broj okteta (9). |
E8329BFD4697D9EC37 |
TP-UD. Poruka "hellohello", 8-bitni okteti koji predstavljaju 7-bitne podatke. |
Svi gore navedeni okteti su heksadecimalni 8-bitni okteti, osim broja uslužnog centra, broja pošiljatelja i vremenskog pečata; oni su decimalni poluokteti. Dio poruke na kraju PDU niza sastoji se od heksadecimalnih 8-bitnih okteta, ali ti okteti predstavljaju 7-bitne podatke (vidi dolje). Poluokteti su decimalni, a npr. broj pošiljatelja se dobiva unutarnjim zamjenom poluokteta iz "72 38 88 09 00 F1" u "27 83 88 90 00 1F". Duljina telefonskog broja je neparna, pa se pravilni slijed okteta ne može formirati s ovim brojem. To je razlog zašto je dodan završni F. Vremenski pečat, kada se raščlani, jednak je "99 03 29 15 16 59 08", gdje prvih 6 znakova predstavlja datum, sljedećih 6 predstavlja vrijeme, a posljednja dva predstavljaju vremensku zonu u odnosu na GMT.
Tumačenje 8-bitnih okteta kao 7-bitnih poruka
Ova transformacija je detaljno opisana u GSM 03.38, a primjer transformacije "hellohello" prikazan je ovdje. Transformacija se temelji na 7-bitnoj zadanoj abecedi, ali aplikacija izgrađena na PDU načinu može koristiti bilo koje kodiranje znakova.
Slanje poruke u PDU načinu
Sljedeći primjer pokazuje kako poslati poruku "hellohello" u PDU načinu s Nokia 6110.
AT+CMGF=0 //Postavi PDU način
AT+CSMS=0 //Provjeri podržava li modem SMS naredbe
AT+CMGS=23 //Pošalji poruku, 23 okteta (isključujući dva početna nula) >0011000B916407281553F80000AA0AE8329BFD4697D9EC37U ovoj poruci ima 23 okteta (46 'znakova'). Prvi oktet ("00") se ne računa, to je samo pokazatelj duljine informacije SMSC-a koja je dostavljena (0). PDU niz se sastoji od sljedećeg:
Oktet(i) | Opis |
---|---|
00 |
Duljina informacije SMSC-a. Ovdje je duljina 0, što znači da treba koristiti SMSC pohranjen u telefonu. Napomena: Ovaj oktet je opcionalan. Na nekim telefonima ovaj oktet treba izostaviti! (Korištenje SMSC-a pohranjenog u telefonu je stoga implicitno) |
11 |
Prvi oktet SMS-SUBMIT poruke. |
00 |
TP-Message-Reference. Vrijednost "00" ovdje dopušta telefonu da sam postavi referentni broj poruke. |
0B |
Duljina adrese. Duljina telefonskog broja (11) |
91 |
Tip adrese. (91 označava međunarodni format telefonskog broja). |
6407281553F8 |
Telefonski broj u poluoktetima (46708251358). Duljina telefonskog broja je neparna (11), stoga je dodan završni F, kao da je telefonski broj "46708251358F". Korištenje nepoznatog formata (tj. Tip adrese 81 umjesto 91) rezultirao bi oktetnim slijedom telefonskog broja 7080523185 (0708251358). Imajte na umu da ovo ima duljinu 10 (A), što je parno. |
00 |
TP-PID. Identifikator protokola |
00 |
TP-DCS. Shema kodiranja podataka. Ova poruka je kodirana prema 7-bitnoj zadanoj abecedi. Ako bi umjesto "00" ovdje bilo "02", to bi značilo da polje TP-User-Data ove poruke treba tumačiti kao 8-bitno, a ne 7-bitno (koristi se npr. u pametnim porukama, OTA provizijama itd.). |
AA |
TP-Validity-Period. "AA" znači 4 dana. Napomena: Ovaj oktet je opcionalan, vidi bitove 4 i 3 prvog okteta |
0A |
TP-User-Data-Length. Duljina poruke. Polje TP-DCS označava 7-bitne podatke, pa je duljina ovdje broj septeta (10). Ako bi polje TP-DCS bilo postavljeno na 8-bitne podatke ili Unicode, duljina bi bila broj okteta. |
E8329BFD4697D9EC3 7 |
TP-User-Data. Ovi okteti predstavljaju poruku "hellohello". Kako izvršiti transformaciju iz 7-bitnih septeta u oktete prikazano je ovdje |
Uvod u SMS tekstualni način
Usluga kratkih poruka (SMS), kako je definirana unutar GSM 900 / 1800 / 1900 standarda za digitalne mobilne telefone, ima nekoliko jedinstvenih značajki:
Jedna kratka poruka može imati do 160 znakova (7-bitno kodirano) ili 140 znakova (8-bitno kodirano) teksta. Tih 140 /160 znakova može se sastojati od riječi ili brojeva ili alfanumeričke kombinacije. Podržane su i kratke poruke koje nisu temeljene na tekstu (npr. u binarnom formatu). Više o tom binarnom načinu možete pronaći na poveznici PDU način.
Usluga kratkih poruka je usluga pohrane i prosljeđivanja, drugim riječima, kratke poruke se ne šalju izravno od pošiljatelja do primatelja, već uvijek putem SMS centra (SMSC). Svaka mobilna telefonska mreža koja podržava SMS ima jedan ili više centara za poruke za rukovanje i upravljanje kratkim porukama. Više o SMSC-u možete pročitati na poveznici SMSC.
Usluga kratkih poruka uključuje potvrdu isporuke poruke. To znači da za razliku od pozivanja, korisnici ne šalju jednostavno kratku poruku i vjeruju i nadaju se da će biti isporučena. Umjesto toga, pošiljatelj kratke poruke može dobiti povratnu poruku koja ga obavještava je li kratka poruka isporučena ili ne. Zadani tvornički parametar ovih potvrda od odašiljača SMS-a do primatelja poruke kod većine GSM modema je ISKLJUČEN, tako da nećete dobiti potvrdu od primatelja. Ako ga uključite, tada ćete dobiti potvrdu da je SMSC primio poruku i nakon isporuke kratke poruke primatelju dobit ćete dodatnu, drugu poruku (SMS unatrag) da je poruka isporučena na GSM telefon ili modem. U ovoj automatski generiranoj poruci su kodirani datum i vrijeme isporuke. Potvrda, shema kodiranja, vrijeme pohrane kratke poruke u SMSC-u i mnogo toga više postavlja se naredbom AT+CSMP.
Drugi način je slanje prefiksa s tekstualnom porukom. Ovi prefiksi nisu jednaki kod različitih GSM operatera u svijetu. Kod njemačkog GSM operatera Vodafone, morate dodati *N#, a kod GSM operatera T-Mobil morate dodati *T#. Notacija s AT+CSMP je jednaka u svim SMSC-ovima. Rukovanje s prefiksom *T# ili *N# bilo je ili je potrebno ako želite dobiti potvrdu pri slanju SMS-a s mobilnim GSM uređajem. Neki mobilni telefoni ne mogu uključiti bit za potvrdu.
Ako želite razumjeti 3 parametra ove naredbe, morate razumjeti SMS u PDU načinu. Još jedna važna naredba je AT+CNMI. Ona govori GSM modemu kako rukovati dolaznom kratkom porukom.
Kratke poruke mogu se slati i primati istovremeno s GSM glasovnim, podatkovnim i faks pozivima. To je moguće jer dok glasovni, podatkovni i faks pozivi preuzimaju namjenski radio kanal za vrijeme trajanja poziva, kratke poruke putuju preko i iznad radio kanala koristeći signalni put. Kao takvi, korisnici SMS-a rijetko ako ikada dobiju zauzet signal kao što se može dogoditi tijekom vršnog korištenja mreže. Ako uključite istovremeno primanje SMS-a tijekom podatkovnog poziva, tada ćete dobiti SMS niz tijekom faks ili podatkovnog poziva.
Dostupni su načini slanja više kratkih poruka. SMS spajanje (povezivanje nekoliko kratkih poruka) i SMS kompresija (dobivanje više od 160 znakova informacija unutar jedne kratke poruke) definirani su i uključeni u GSM SMS standarde. Nisu sve te moguće značajke implementirane od strane svih GSM operatera širom svijeta. Pojedinačna poruka bi trebala raditi svugdje.
Za korištenje usluge kratkih poruka, korisnicima su potrebne relevantne pretplate i hardver, posebno:
Pretplata na mobilnu telefonsku mrežu koja podržava SMS. U Njemačkoj, GSM operateri uključuju ovu uslugu sa svakom vrstom pretplate.
Korištenje SMS-a mora biti omogućeno za tog korisnika (automatski pristup SMS-u daju neki mobilni mrežni operateri, drugi naplaćuju mjesečnu pretplatu i zahtijevaju posebnu prijavu za korištenje usluge). U Njemačkoj je to uključeno svaki put.
Mobilni telefon ili GSM modem koji podržava SMS. Danas to podržava svaki GSM telefon ili GSM modem.
Poznavanje kako poslati ili pročitati kratku poruku koristeći svoj specifični model mobilnog telefona ili GSM modema. Implementacija nije jednaka kod svake jedinice. Nisu svi GSM telefoni, PCMIA modemske kartice ili GSM modemi nude sve značajke koje su opisane u ETSI.
Odredište za slanje kratke poruke ili primanje poruke obično je drugi mobilni telefon, ali može biti i faks uređaj ili e-mail adresa. U nekim GSM mrežama, moguće je pretvoriti kratku poruku u faks ili e-mail.
More information
- SMS protokol objašnjen
- Uvod u SMS PDU mod