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