Az SMPP DCS mező (és az SMPP karakterkódolás)
Ez az oldal információt nyújt az SMPP DCS mező kódolásáról.
Hogyan kódolja az Ozeki SMS Gateway az SMPP DCS mezőt
A legtöbb esetben nem kell manuálisan konfigurálni az SMPP PDU-k DCS mezőjét. Az Ozeki SMS Gateway ezt elvégzi helyetted. Az Ozeki SMS Gateway kódolási módját az SMPP Kliens konfigurációs űrlapján állíthatod be (1. ábra).
Ezen az űrlapon beállíthatod az előnyben részesített karakterkészletet, vagy megadhatsz egy fix értéket a DCS paraméterhez az SMS PDU-ban.
Mi az SMPP DCS mező?
A Data Coding Scheme (DCS) az SMPP (Short Message Peer-to-Peer Protocol) protokollban egy 1 bájtos mező az SMPP PDU-k (Protocol Data Units) belül. Meghatározza, hogyan legyen kódolva az üzenet tartalma, hogy a fogadó fél helyesen értelmezhesse. A DCS meghatározza:
- Karakterkódolást (pl. GSM-7, UCS2, 8 bites bináris)
- Üzenet osztályt (pl. Flash SMS)
- Tömörítési jelzőket
A DCS szerkezete és bitmaszkja
A DCS egy bitmaszk, ahol minden bitcsoport egy adott célt szolgál:
| Bitek | Leírás |
|---|---|
| 7-6 | Kódolási csoport: Meghatározza az általános kódolási típust. |
| 5-4 | Ábécé: Meghatározza a karakterkészletet (ha a Kódolási csoport = 00). |
| 3-0 | Üzenet osztály/Jelzők: Az üzenet típusát jelzi (pl. Flash) vagy a tömörítést. |
Kódolási csoport értékek
| Kódolási csoport (7-6. bitek) | Leírás |
|---|---|
| 00 | Általános adatkódolás (az ábécé a 5-4. bitekben van megadva) |
| 01 | Fenntartva |
| 10 | UCS2 kódolás (16 bites) |
| 11 | Adatkódolás/Üzenet osztály (pl. Flash SMS) |
Példa DCS értékek
| DCS (Hex) | Leírás | Bináris |
|---|---|---|
| 0x00 | GSM-7 alapértelmezett ábécé | 00000000 |
| 0x04 | 8 bites bináris adat | 00000100 |
| 0x08 | UCS2 (Unicode) | 00001000 |
| 0x10 | Flash SMS (GSM-7) | 00010000 |
| 0xF0 | Flash SMS (UCS2) | 11110000 |
Példa SMPP PDU-k DCS-sel
1. példa: SubmitSM GSM-7 kódolással (DCS=0x00)
0000001D // Parancs hossza (29 bájt)
00000004 // Parancs azonosító (SubmitSM)
00000001 // Sorszám
00 // Forrás TON
00 // Forrás NPI
736F7572636500 // Forrás cím ("source")
00 // Cél TON
00 // Cél NPI
36353433323100 // Cél cím ("654321")
00 // ESM osztály
00 // Protokoll azonosító
00 // Prioritás
00 // Szállítási időpont
00 // Érvényességi idő
00 // Regisztrált kézbesítés
00 // Csere, ha jelen van
00 // Adatkódolás (DCS=0x00)
00 // SM alapértelmezett üzenet azonosító
07 // SM hossz (7 szeplett)
C8329BFD06DDDF72 // Rövid üzenet ("Hello!")
2. példa: SubmitSM UCS2 kódolással (DCS=0x08)
00000024 // Parancs hossza (36 bájt)
00000004 // Parancs azonosító (SubmitSM)
00000002 // Sorszám
00 // Forrás TON
00 // Forrás NPI
736F7572636500 // Forrás cím ("source")
00 // Cél TON
00 // Cél NPI
36353433323100 // Cél cím ("654321")
00 // ESM osztály
00 // Protokoll azonosító
00 // Prioritás
00 // Szállítási időpont
00 // Érvényességi idő
00 // Regisztrált kézbesítés
00 // Csere, ha jelen van
08 // Adatkódolás (DCS=0x08)
00 // SM alapértelmezett üzenet azonosító
0C // SM hossz (12 bájt)
00480065006C006C006F0021 // "Hello!" UCS2-ben
3. példa: Flash SMS (DCS=0x10)
0000001D // Parancs hossza (29 bájt)
00000004 // Parancs azonosító (SubmitSM)
00000003 // Sorszám
00 // Forrás TON
00 // Forrás NPI
736F7572636500 // Forrás cím ("source")
00 // Cél TON
00 // Cél NPI
36353433323100 // Cél cím ("654321")
00 // ESM osztály
00 // Protokoll azonosító
00 // Prioritás
00 // Szállítási időpont
00 // Érvényességi idő
00 // Regisztrált kézbesítés
00 // Csere, ha jelen van
10 // Adatkódolás (DCS=0x10: Flash SMS)
00 // SM alapértelmezett üzenet azonosító
07 // SM hossz (7 szeplett)
C8329BFD06DDDF72 // Rövid üzenet ("Hello!")
Összegzés
A DCS mező kritikus fontosságú az SMS üzenetek helyes kódolásához és megjelenítéséhez. A megvalósítások eltérőek lehetnek, ezért a pontos bitmaszk részletekért fordulj az SMPP specifikációhoz (v3.4 vagy v5.0). A DCS helyes használata elkerüli a kódolási hibákat és biztosítja a kompatibilitást az SMSC-k között.