Das SMPP DCS-Feld (und SMPP-Zeichenkodierung)
Diese Seite bietet Informationen zur Kodierung des SMPP DCS-Felds.
Wie kodiert Ozeki SMS Gateway das SMPP DCS-Feld?
In den meisten Fällen müssen Sie das DCS-Feld von SMPP PDUs nicht manuell konfigurieren. Ozeki SMS Gateway übernimmt dies für Sie. Um zu steuern, wie Ozeki SMS Gateway die Kodierung vornimmt, können Sie das Standardalphabet im SMPP-Client-Konfigurationsformular festlegen (Abbildung 1).
In diesem Formular können Sie den bevorzugten Zeichensatz einstellen oder Ozeki SMS Gateway anweisen, einen festen Wert für den DCS-Parameter in der SMS PDU zu verwenden.
Was ist das SMPP DCS-Feld?
Das Data Coding Scheme (DCS) in SMPP (Short Message Peer-to-Peer Protocol) ist ein 1-Byte-Feld innerhalb von SMPP PDUs (Protocol Data Units). Es definiert, wie die Nachrichtennutzlast kodiert ist, um eine korrekte Interpretation durch den Empfänger zu ermöglichen. Das DCS spezifiziert:
- Zeichenkodierung (z.B. GSM-7, UCS2, 8-Bit-Binärdaten)
- Nachrichtenklasse (z.B. Flash-SMS)
- Komprimierungsflags
DCS-Struktur und Bitmaske
Das DCS ist eine Bitmaske, bei der jede Bitgruppe einen bestimmten Zweck erfüllt:
Bits | Beschreibung |
---|---|
7-6 | Kodierungsgruppe: Bestimmt den allgemeinen Kodierungstyp. |
5-4 | Alphabet: Gibt den Zeichensatz an (wenn Kodierungsgruppe = 00). |
3-0 | Nachrichtenklasse/Flags: Gibt den Nachrichtentyp (z.B. Flash) oder Komprimierung an. |
Kodierungsgruppenwerte
Kodierungsgruppe (Bits 7-6) | Beschreibung |
---|---|
00 | Allgemeine Datenkodierung (Alphabet in Bits 5-4 angegeben) |
01 | Reserviert |
10 | UCS2-Kodierung (16-Bit) |
11 | Datenkodierung/Nachrichtenklasse (z.B. Flash-SMS) |
Beispiel-DCS-Werte
DCS (Hex) | Beschreibung | Binär |
---|---|---|
0x00 | GSM-7-Standardalphabet | 00000000 |
0x04 | 8-Bit-Binärdaten | 00000100 |
0x08 | UCS2 (Unicode) | 00001000 |
0x10 | Flash-SMS (GSM-7) | 00010000 |
0xF0 | Flash-SMS (UCS2) | 11110000 |
Beispiel-SMPP-PDUs mit DCS
Beispiel 1: SubmitSM mit GSM-7-Kodierung (DCS=0x00)
0000001D // Befehlslänge (29 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000001 // Sequenznummer 00 // Quell-TON 00 // Quell-NPI 736F7572636500 // Quelladresse ("source") 00 // Ziel-TON 00 // Ziel-NPI 36353433323100 // Zieladresse ("654321") 00 // ESM-Klasse 00 // Protokoll-ID 00 // Priorität 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // Nachrichtenlänge (7 Septets) C8329BFD06DDDF72 // Kurznachricht ("Hello!")
Beispiel 2: SubmitSM mit UCS2-Kodierung (DCS=0x08)
00000024 // Befehlslänge (36 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000002 // Sequenznummer 00 // Quell-TON 00 // Quell-NPI 736F7572636500 // Quelladresse ("source") 00 // Ziel-TON 00 // Ziel-NPI 36353433323100 // Zieladresse ("654321") 00 // ESM-Klasse 00 // Protokoll-ID 00 // Priorität 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 08 // Datenkodierung (DCS=0x08) 00 // Standard-Nachrichten-ID 0C // Nachrichtenlänge (12 Bytes) 00480065006C006C006F0021 // "Hello!" in UCS2
Beispiel 3: Flash-SMS (DCS=0x10)
0000001D // Befehlsänge (29 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000003 // Sequenznummer 00 // Quell-TON 00 // Quell-NPI 736F7572636500 // Quelladresse ("source") 00 // Ziel-TON 00 // Ziel-NPI 36353433323100 // Zieladresse ("654321") 00 // ESM-Klasse 00 // Protokoll-ID 00 // Priorität 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 10 // Datenkodierung (DCS=0x10: Flash-SMS) 00 // Standard-Nachrichten-ID 07 // Nachrichtenlänge (7 Septets) C8329BFD06DDDF72 // Kurznachricht ("Hello!")
Fazit
Das DCS-Feld ist entscheidend, um sicherzustellen, dass SMS-Nachrichten korrekt kodiert und angezeigt werden. Implementierungen können variieren, daher sollten Sie die SMPP-Spezifikation (v3.4 oder v5.0) für genaue Bitmaskendetails konsultieren. Die korrekte Verwendung von DCS vermeidet Kodierungsfehler und gewährleistet Kompatibilität über SMSCs hinweg.
More information
- Wie man das SMPP Service Typ Feld konfiguriert
- Wie man die SMPP Telefonnummer Felder konfiguriert
- Wie man das SMPP ESM Class Feld konfiguriert
- Wie man das SMPP PID Feld konfiguriert
- Wie man das SMPP Prioritätsfeld konfiguriert
- Wie man das SMPP Geplante Zeit Feld konfiguriert
- Wie man das SMPP Gültigkeitsdauer Feld konfiguriert
- Wie man das SMPP Registrierte Zustellung Feld konfiguriert
- Wie man das SMPP Ersetzen falls vorhanden Feld konfiguriert
- Wie man das sm_default_msg_id Feld konfiguriert
- Wie man das SMPP DCS Feld konfiguriert
- Wie man das SMPP SM Länge Feld berechnet
- Wie man Daten in das SMPP SM Feld einfügt