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).

Slika 1 - SMPP DCS kodiranje

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.

More information