Pole SMPP DCS (a kódování znaků v SMPP)

Tato stránka poskytuje informace o tom, jak zakódovat pole SMPP DCS.

Jak Ozeki SMS Gateway kóduje pole SMPP DCS

Ve většině scénářů nemusíte pole DCS v SMPP PDU ručně konfigurovat. Ozeki SMS Gateway to udělá za vás. Chcete-li ovládat, jak Ozeki SMS Gateway provádí kódování, můžete nastavit výchozí abecedu v konfiguračním formuláři SMPP klienta (Obrázek 1).

Obrázek 1 - Kódování SMPP DCS

V tomto formuláři můžete nastavit preferovanou znakovou sadu nebo můžete požádat Ozeki SMS Gateway, aby použil pevnou hodnotu pro parametr DCS v SMS PDU.

Co je pole SMPP DCS?

Data Coding Scheme (DCS) v SMPP (Short Message Peer-to-Peer Protocol) je 1bajtové pole v rámci SMPP PDU (Protocol Data Units). Definuje, jak je kódována zpráva, což umožňuje správnou interpretaci přijímající stranou. DCS specifikuje:

  • Kódování znaků (např. GSM-7, UCS2, 8bitové binární)
  • Třídu zprávy (např. Flash SMS)
  • Příznaky komprese

Struktura DCS a bitová maska

DCS je bitová maska, kde každá skupina bitů slouží specifickému účelu:

Bity Popis
7-6 Skupina kódování: Určuje obecný typ kódování.
5-4 Abeceda: Specifikuje znakovou sadu (pokud Skupina kódování = 00).
3-0 Třída zprávy/Příznaky: Označuje typ zprávy (např. Flash) nebo kompresi.

Hodnoty skupiny kódování

Skupina kódování (Bity 7-6) Popis
00 Obecné kódování dat (abeceda specifikována v bitech 5-4)
01 Rezervováno
10 UCS2 kódování (16bitové)
11 Kódování dat/Třída zprávy (např. Flash SMS)

Příklad hodnot DCS

DCS (Hex) Popis Binární
0x00 GSM-7 výchozí abeceda 00000000
0x04 8bitová binární data 00000100
0x08 UCS2 (Unicode) 00001000
0x10 Flash SMS (GSM-7) 00010000
0xF0 Flash SMS (UCS2) 11110000

Příklad SMPP PDU s DCS

Příklad 1: SubmitSM s kódováním GSM-7 (DCS=0x00)

0000001D  // Délka příkazu (29 bajtů)
00000004  // ID příkazu (SubmitSM)
00000001  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // Třída ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručení
00        // Platnost
00        // Registrované doručení
00        // Nahradit, pokud existuje
00        // Kódování dat (DCS=0x00)
00        // Výchozí ID zprávy
07        // Délka zprávy (7 septetů)
C8329BFD06DDDF72  // Krátká zpráva ("Hello!")

Příklad 2: SubmitSM s kódováním UCS2 (DCS=0x08)

00000024  // Délka příkazu (36 bajtů)
00000004  // ID příkazu (SubmitSM)
00000002  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // Třída ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručení
00        // Platnost
00        // Registrované doručení
00        // Nahradit, pokud existuje
08        // Kódování dat (DCS=0x08)
00        // Výchozí ID zprávy
0C        // Délka zprávy (12 bajtů)
00480065006C006C006F0021  // "Hello!" v UCS2

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

0000001D  // Délka příkazu (29 bajtů)
00000004  // ID příkazu (SubmitSM)
00000003  // Pořadové číslo
00        // Zdrojový TON
00        // Zdrojový NPI
736F7572636500  // Zdrojová adresa ("source")
00        // Cílový TON
00        // Cílový NPI
36353433323100  // Cílová adresa ("654321")
00        // Třída ESM
00        // ID protokolu
00        // Priorita
00        // Čas doručení
00        // Platnost
00        // Registrované doručení
00        // Nahradit, pokud existuje
10        // Kódování dat (DCS=0x10: Flash SMS)
00        // Výchozí ID zprávy
07        // Délka zprávy (7 septetů)
C8329BFD06DDDF72  // Krátká zpráva ("Hello!")

Závěr

Pole DCS je klíčové pro zajištění správného kódování a zobrazení SMS zpráv. Implementace se mohou lišit, proto pro přesné detaily bitové masky konzultujte specifikaci SMPP (v3.4 nebo v5.0). Správné použití DCS zabraňuje chybám v kódování a zajišťuje kompatibilitu napříč SMSC.

More information