Pole DCS v SMPP (a kódovanie znakov v SMPP)

Táto stránka poskytuje informácie o tom, ako zakódovať pole DCS v SMPP.

Ako Ozeki SMS Gateway kóduje pole DCS v SMPP

Vo väčšine prípadov nemusíte pole DCS v SMPP PDU konfigurovať manuálne. Ozeki SMS Gateway to robí za vás. Ak chcete ovládať, ako Ozeki SMS Gateway vykonáva kódovanie, môžete nastaviť predvolenú abecedu v konfiguračnom formulári SMPP klienta (Obrázok 1).

Obrázok 1 - Kódovanie SMPP DCS

V tomto formulári môžete nastaviť preferovanú znakovú sadu alebo môžete požiadať Ozeki SMS Gateway, aby použil pevnú hodnotu pre parameter DCS v SMS PDU.

Čo je pole DCS v SMPP?

Schéma kódovania údajov (DCS) v SMPP (Short Message Peer-to-Peer Protocol) je 1-bajtové pole v rámci SMPP PDU (Protocol Data Units). Definuje, ako je zakódovaný obsah správy, čo umožňuje správnu interpretáciu prijímajúcou stranou. DCS špecifikuje:

  • Kódovanie znakov (napr. GSM-7, UCS2, 8-bitové binárne)
  • Triedu správy (napr. Flash SMS)
  • Príznaky kompresie

Štruktúra DCS a bitová maska

DCS je bitová maska, kde každá skupina bitov slúži na špecifický účel:

Bity Popis
7-6 Skupina kódovania: Určuje všeobecný typ kódovania.
5-4 Abeceda: Špecifikuje znakovú sadu (ak Skupina kódovania = 00).
3-0 Trieda správy/Príznaky: Indikuje typ správy (napr. Flash) alebo kompresiu.

Hodnoty skupiny kódovania

Skupina kódovania (Bity 7-6) Popis
00 Všeobecné kódovanie údajov (abeceda špecifikovaná v bitoch 5-4)
01 Rezervované
10 UCS2 kódovanie (16-bitové)
11 Kódovanie údajov/Trieda správy (napr. Flash SMS)

Príklady hodnôt DCS

DCS (Hex) Popis Binárne
0x00 Predvolená abeceda GSM-7 00000000
0x04 8-bitové binárne údaje 00000100
0x08 UCS2 (Unicode) 00001000
0x10 Flash SMS (GSM-7) 00010000
0xF0 Flash SMS (UCS2) 11110000

Príklady SMPP PDU s DCS

Príklad 1: SubmitSM s kódovaním GSM-7 (DCS=0x00)

0000001D  // Dĺžka príkazu (29 bajtov)
00000004  // ID príkazu (SubmitSM)
00000001  // Poradové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cieľový TON
00        // Cieľový NPI
36353433323100  // Cieľová adresa ("654321")
00        // Trieda ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručenia
00        // Platnosť
00        // Registrované doručenie
00        // Nahradiť, ak je prítomné
00        // Kódovanie údajov (DCS=0x00)
00        // Predvolené ID správy
07        // Dĺžka správy (7 septetov)
C8329BFD06DDDF72  // Krátka správa ("Hello!")
    

Príklad 2: SubmitSM s kódovaním UCS2 (DCS=0x08)

00000024  // Dĺžka príkazu (36 bajtov)
00000004  // ID príkazu (SubmitSM)
00000002  // Poradové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cieľový TON
00        // Cieľový NPI
36353433323100  // Cieľová adresa ("654321")
00        // Trieda ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručenia
00        // Platnosť
00        // Registrované doručenie
00        // Nahradiť, ak je prítomné
08        // Kódovanie údajov (DCS=0x08)
00        // Predvolené ID správy
0C        // Dĺžka správy (12 bajtov)
00480065006C006C006F0021  // "Hello!" v UCS2
    

Príklad 3: Flash SMS (DCS=0x10)

0000001D  // Dĺžka príkazu (29 bajtov)
00000004  // ID príkazu (SubmitSM)
00000003  // Poradové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cieľový TON
00        // Cieľový NPI
36353433323100  // Cieľová adresa ("654321")
00        // Trieda ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručenia
00        // Platnosť
00        // Registrované doručenie
00        // Nahradiť, ak je prítomné
10        // Kódovanie údajov (DCS=0x10: Flash SMS)
00        // Predvolené ID správy
07        // Dĺžka správy (7 septetov)
C8329BFD06DDDF72  // Krátka správa ("Hello!")
    

Záver

Pole DCS je kritické pre zabezpečenie správneho kódovania a zobrazenia SMS správ. Implementácie sa môžu líšiť, preto pre presné detaily bitovej masky konzultujte špecifikáciu SMPP (v3.4 alebo v5.0). Správne použitie DCS zabraňuje chybám v kódovaní a zaisťuje kompatibilitu medzi SMSC.

More information