Polje SMPP DCS (in kodiranje znakov SMPP)

Ta stran ponuja informacije o tem, kako kodirati polje SMPP DCS.

Kako Ozeki SMS Gateway kodira polje SMPP DCS

V večini primerov vam ni treba ročno nastaviti polja DCS v SMPP PDU-jih. Ozeki SMS Gateway to naredi namesto vas. Za nadzor nad tem, kako Ozeki SMS Gateway izvede kodiranje, lahko nastavite privzeti nabor znakov v obrazcu za konfiguracijo SMPP odjemalca (Slika 1).

Slika 1 - Kodiranje SMPP DCS

V tem obrazcu lahko nastavite želeni nabor znakov ali pa zahtevate, da Ozeki SMS Gateway uporabi fiksno vrednost za parameter DCS v SMS PDU.

Kaj je polje SMPP DCS?

Shema kodiranja podatkov (DCS) v SMPP (Short Message Peer-to-Peer Protocol) je 1-bajtno polje znotraj SMPP PDU-jev (Protocol Data Units). Določa, kako je sporočilo kodirano, kar omogoča pravilno interpretacijo s strani prejemnika. DCS določa:

  • Kodiranje znakov (npr. GSM-7, UCS2, 8-bitno binarno)
  • Razred sporočila (npr. Flash SMS)
  • Zastavice za stiskanje

Struktura in bitna maska DCS

DCS je bitna maska, kjer vsaka skupina bitov služi določenemu namenu:

Bit Opis
7-6 Skupina kodiranja: Določa splošno vrsto kodiranja.
5-4 Nabor znakov: Določa nabor znakov (če je Skupina kodiranja = 00).
3-0 Razred sporočila/Zastavice: Označuje vrsto sporočila (npr. Flash) ali stiskanje.

Vrednosti skupine kodiranja

Skupina kodiranja (Bit 7-6) Opis
00 Splošno kodiranje podatkov (nabor znakov določen v bitih 5-4)
01 Rezervirano
10 Kodiranje UCS2 (16-bitno)
11 Kodiranje podatkov/Razred sporočila (npr. Flash SMS)

Primeri vrednosti DCS

DCS (Hex) Opis Binarno
0x00 Privzeti nabor znakov GSM-7 00000000
0x04 8-bitni binarni podatki 00000100
0x08 UCS2 (Unicode) 00001000
0x10 Flash SMS (GSM-7) 00010000
0xF0 Flash SMS (UCS2) 11110000

Primeri SMPP PDU-jev z DCS

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

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000001  // Zaporedna številka
00        // Vir TON
00        // Vir NPI
736F7572636500  // Naslov pošiljatelja ("source")
00        // Cilj TON
00        // Cilj NPI
36353433323100  // Naslov prejemnika ("654321")
00        // Razred ESM
00        // ID protokola
00        // Prioriteta
00        // Čas dostave
00        // Veljavnost
00        // Potrjeno dostavo
00        // Zamenjaj, če je prisoten
00        // Kodiranje podatkov (DCS=0x00)
00        // Privzeti ID sporočila SM
07        // Dolžina SM (7 septetov)
C8329BFD06DDDF72  // Kratko sporočilo ("Hello!")
    

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

00000024  // Dolžina ukaza (36 bajtov)
00000004  // ID ukaza (SubmitSM)
00000002  // Zaporedna številka
00        // Vir TON
00        // Vir NPI
736F7572636500  // Naslov pošiljatelja ("source")
00        // Cilj TON
00        // Cilj NPI
36353433323100  // Naslov prejemnika ("654321")
00        // Razred ESM
00        // ID protokola
00        // Prioriteta
00        // Čas dostave
00        // Veljavnost
00        // Potrjeno dostavo
00        // Zamenjaj, če je prisoten
08        // Kodiranje podatkov (DCS=0x08)
00        // Privzeti ID sporočila SM
0C        // Dolžina SM (12 bajtov)
00480065006C006C006F0021  // "Hello!" v UCS2
    

Primer 3: Flash SMS (DCS=0x10)

0000001D  // Dolžina ukaza (29 bajtov)
00000004  // ID ukaza (SubmitSM)
00000003  // Zaporedna številka
00        // Vir TON
00        // Vir NPI
736F7572636500  // Naslov pošiljatelja ("source")
00        // Cilj TON
00        // Cilj NPI
36353433323100  // Naslov prejemnika ("654321")
00        // Razred ESM
00        // ID protokola
00        // Prioriteta
00        // Čas dostave
00        // Veljavnost
00        // Potrjeno dostavo
00        // Zamenjaj, če je prisoten
10        // Kodiranje podatkov (DCS=0x10: Flash SMS)
00        // Privzeti ID sporočila SM
07        // Dolžina SM (7 septetov)
C8329BFD06DDDF72  // Kratko sporočilo ("Hello!")
    

Zaključek

Polje DCS je ključnega pomena za zagotavljanje pravilnega kodiranja in prikaza SMS sporočil. Implementacije se lahko razlikujejo, zato se za natančne podrobnosti o bitnih maskah posvetujte s specifikacijo SMPP (v3.4 ali v5.0). Pravilna uporaba DCS preprečuje napake pri kodiranju in zagotavlja združljivost med SMSC-ji.

More information