SMPP DCS polje (i SMPP kodiranje znakova)
Ova stranica pruža informacije o tome kako kodirati SMPP DCS polje.
Kako Ozeki SMS Gateway kodira SMPP DCS polje
U većini scenarija ne morate ručno konfigurirati DCS polje u SMPP PDU-ima. Ozeki SMS Gateway to radi umjesto vas. Da biste kontrolirali kako Ozeki SMS Gateway obavlja kodiranje, možete konfigurirati zadani alfabet u obrascu za konfiguraciju SMPP klijenta (Slika 1).
U ovom obrascu možete postaviti željeni skup znakova ili možete zatražiti da Ozeki SMS Gateway koristi fiksnu vrijednost za DCS parametar u SMS PDU-u.
Što je SMPP DCS polje?
Shema kodiranja podataka (DCS) u SMPP (Short Message Peer-to-Peer Protocol) je 1-bajtno polje unutar SMPP PDU-ova (Protokolne jedinice podataka). Definira kako je sadržaj poruke kodiran, omogućujući ispravnu interpretaciju od strane primatelja. DCS specificira:
- Kodiranje znakova (npr. GSM-7, UCS2, 8-bitni binarni)
- Klasu poruke (npr. Flash SMS)
- Zastavice kompresije
Struktura DCS-a i bitmask
DCS je bitmask gdje svaka grupa bitova ima specifičnu svrhu:
| Bitovi | Opis |
|---|---|
| 7-6 | Grupa kodiranja: Određuje opću vrstu kodiranja. |
| 5-4 | Abeceda: Određuje skup znakova (ako je Grupa kodiranja = 00). |
| 3-0 | Klasa poruke/Zastavice: Označava vrstu poruke (npr. Flash) ili kompresiju. |
Vrijednosti grupe kodiranja
| Grupa kodiranja (Bitovi 7-6) | Opis |
|---|---|
| 00 | Opće kodiranje podataka (abeceda određena u bitovima 5-4) |
| 01 | Rezervirano |
| 10 | UCS2 kodiranje (16-bitno) |
| 11 | Kodiranje podataka/Klasa poruke (npr. Flash SMS) |
Primjeri DCS vrijednosti
| DCS (Hex) | Opis | Binarno |
|---|---|---|
| 0x00 | GSM-7 zadana abeceda | 00000000 |
| 0x04 | 8-bitni binarni podaci | 00000100 |
| 0x08 | UCS2 (Unicode) | 00001000 |
| 0x10 | Flash SMS (GSM-7) | 00010000 |
| 0xF0 | Flash SMS (UCS2) | 11110000 |
Primjeri SMPP PDU-ova s DCS-om
Primjer 1: SubmitSM s GSM-7 kodiranjem (DCS=0x00)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (SubmitSM)
00000001 // Redni broj
00 // Izvorni TON
00 // Izvorni NPI
736F7572636500 // Izvorna adresa ("source")
00 // Odredišni TON
00 // Odredišni NPI
36353433323100 // Odredišna adresa ("654321")
00 // ESM klasa
00 // ID protokola
00 // Prioritet
00 // Vrijeme isporuke
00 // Valjanost
00 // Registrirana isporuka
00 // Zamijeni ako postoji
00 // Kodiranje podataka (DCS=0x00)
00 // Zadani ID poruke
07 // Duljina poruke (7 septeta)
C8329BFD06DDDF72 // Kratka poruka ("Hello!")
Primjer 2: SubmitSM s UCS2 kodiranjem (DCS=0x08)
00000024 // Duljina naredbe (36 bajtova)
00000004 // ID naredbe (SubmitSM)
00000002 // Redni broj
00 // Izvorni TON
00 // Izvorni NPI
736F7572636500 // Izvorna adresa ("source")
00 // Odredišni TON
00 // Odredišni NPI
36353433323100 // Odredišna adresa ("654321")
00 // ESM klasa
00 // ID protokola
00 // Prioritet
00 // Vrijeme isporuke
00 // Valjanost
00 // Registrirana isporuka
00 // Zamijeni ako postoji
08 // Kodiranje podataka (DCS=0x08)
00 // Zadani ID poruke
0C // Duljina poruke (12 bajtova)
00480065006C006C006F0021 // "Hello!" u UCS2
Primjer 3: Flash SMS (DCS=0x10)
0000001D // Duljina naredbe (29 bajtova)
00000004 // ID naredbe (SubmitSM)
00000003 // Redni broj
00 // Izvorni TON
00 // Izvorni NPI
736F7572636500 // Izvorna adresa ("source")
00 // Odredišni TON
00 // Odredišni NPI
36353433323100 // Odredišna adresa ("654321")
00 // ESM klasa
00 // ID protokola
00 // Prioritet
00 // Vrijeme isporuke
00 // Valjanost
00 // Registrirana isporuka
00 // Zamijeni ako postoji
10 // Kodiranje podataka (DCS=0x10: Flash SMS)
00 // Zadani ID poruke
07 // Duljina poruke (7 septeta)
C8329BFD06DDDF72 // Kratka poruka ("Hello!")
Zaključak
DCS polje je ključno za osiguravanje ispravnog kodiranja i prikaza SMS poruka. Implementacije mogu varirati, stoga se za precizne detalje o bitmask konzultirajte SMPP specifikaciju (v3.4 ili v5.0). Pravilna upotreba DCS-a izbjegava greške u kodiranju i osigurava kompatibilnost između SMSC-ova.