SMPP DCS polje (i SMPP kodiranje karaktera)

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 konfigurisati DCS polje SMPP PDU-a. Ozeki SMS Gateway to radi umesto vas. Da biste kontrolisali način na koji Ozeki SMS Gateway vrši kodiranje, možete konfigurisati podrazumevani alfabet u formi za konfiguraciju SMPP klijenta (Slika 1).

Slika 1 - SMPP DCS kodiranje

U ovoj formi možete postaviti željeni skup karaktera ili možete zatražiti od Ozeki SMS Gateway-a da koristi fiksnu vrednost za DCS parametar u SMS PDU-u.

Šta je SMPP DCS polje?

Shema kodiranja podataka (DCS) u SMPP (Short Message Peer-to-Peer Protocol) je 1-bajtno polje unutar SMPP PDU-a (Protocol Data Units). Ono definiše način kodiranja sadržaja poruke, omogućavajući pravilnu interpretaciju od strane primaoca. DCS specificira:

  • Kodiranje karaktera (npr. GSM-7, UCS2, 8-bitni binarni)
  • Klasu poruke (npr. Flash SMS)
  • Zastavice kompresije

Struktura DCS-a i bitmask

DCS je bitmask gde svaka grupa bitova ima specifičnu svrhu:

Bitovi Opis
7-6 Grupa kodiranja: Određuje opšti tip kodiranja.
5-4 Alfabet: Određuje skup karaktera (ako je Grupa kodiranja = 00).
3-0 Klasa poruke/Zastavice: Označava tip poruke (npr. Flash) ili kompresiju.

Vrednosti grupe kodiranja

Grupa kodiranja (Bitovi 7-6) Opis
00 Opšte kodiranje podataka (alfabet određen u bitovima 5-4)
01 Rezervisano
10 UCS2 kodiranje (16-bitno)
11 Kodiranje podataka/Klasa poruke (npr. Flash SMS)

Primeri DCS vrednosti

DCS (Hex) Opis Binarno
0x00 GSM-7 podrazumevani alfabet 00000000
0x04 8-bitni binarni podaci 00000100
0x08 UCS2 (Unicode) 00001000
0x10 Flash SMS (GSM-7) 00010000
0xF0 Flash SMS (UCS2) 11110000

Primeri SMPP PDU-a sa DCS-om

Primer 1: SubmitSM sa GSM-7 kodiranjem (DCS=0x00)

0000001D  // Dužina komande (29 bajtova)
00000004  // ID komande (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        // Vreme isporuke
00        // Period važenja
00        // Registrovana isporuka
00        // Zameni ako postoji
00        // Kodiranje podataka (DCS=0x00)
00        // Podrazumevani ID poruke
07        // Dužina poruke (7 septeta)
C8329BFD06DDDF72  // Kratka poruka ("Hello!")

Primer 2: SubmitSM sa UCS2 kodiranjem (DCS=0x08)

00000024  // Dužina komande (36 bajtova)
00000004  // ID komande (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        // Vreme isporuke
00        // Period važenja
00        // Registrovana isporuka
00        // Zameni ako postoji
08        // Kodiranje podataka (DCS=0x08)
00        // Podrazumevani ID poruke
0C        // Dužina poruke (12 bajtova)
00480065006C006C006F0021  // "Hello!" u UCS2

Primer 3: Flash SMS (DCS=0x10)

0000001D  // Dužina komande (29 bajtova)
00000004  // ID komande (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        // Vreme isporuke
00        // Period važenja
00        // Registrovana isporuka
00        // Zameni ako postoji
10        // Kodiranje podataka (DCS=0x10: Flash SMS)
00        // Podrazumevani ID poruke
07        // Dužina poruke (7 septeta)
C8329BFD06DDDF72  // Kratka poruka ("Hello!")

Zaključak

DCS polje je ključno za osiguranje da su SMS poruke ispravno kodirane i prikazane. Implementacije mogu varirati, pa se za precizne detalje o bitmask konsultujte sa SMPP specifikacijom (v3.4 ili v5.0). Pravilna upotreba DCS-a izbegava greške u kodiranju i obezbeđuje kompatibilnost širom SMSC-a.

More information