Konfiguration des SMPP ESM Class Feldes
Ozeki SMS Gateway ESM Class Einstellungen
Ozeki SMS Gateway ermöglicht die manuelle Konfiguration des ESM Class Feldes (Abbildung 1)
Was ist das ESM Class Feld?
Das Extended Service Message (ESM) Class Feld in SMPP ist ein 1-Byte Feld in SMPP PDUs, das erweiterte Nachrichtenverarbeitungsfunktionen steuert.
Es wird in submit_sm
, deliver_sm
und data_sm
Operationen verwendet, um folgendes anzugeben:
- Nachrichtentypen (z.B. SMS, Zustellbestätigung)
- Verhalten der Zustellbestätigung
- UDH (User Data Header) Präsenz
- Nachrichtenpriorität und Routing-Flags
ESM Class Struktur und Bitmask
Die ESM Class ist eine Bitmask, bei der jedes Bit oder Gruppen von Bits spezifische Funktionen aktiviert:
Bits | Beschreibung |
---|---|
7 | Messaging Mode: 0 = Standard, 1 = Datagram |
6 | Nachrichtentyp: 0 = Normal, 1 = Zustellbestätigung |
5 | UDHI Indicator: 1 = UDH im Payload vorhanden |
4 | Reply Path: 1 = Antwortpfad angefordert |
3-2 | Nachrichtenpriorität (00 = Normal, 01 = Interaktiv, 10 = Dringend, 11 = Notfall) |
1-0 | Reserviert |
Häufige ESM Class Werte
ESM (Hex) | Binär | Beschreibung |
---|---|---|
0x00 | 00000000 | Standard (keine spezielle Behandlung) |
0x04 | 00000100 | UDHI Flag gesetzt (UDH vorhanden) |
0x08 | 00001000 | Antwortpfad angefordert |
0x20 | 00100000 | Zustellbestätigung (Bit 6 = 1) |
0x30 | 00110000 | Dringende Priorität + Zustellbestätigung |
0x60 | 01100000 | Datagram Modus + Zustellbestätigung |
Wichtige Anwendungsfälle
1. Zusammengesetzte SMS (UDHI Flag)
Beim Senden von mehrteiligen Nachrichten, setzen Sie Bit 5 (UDHI=1) und fügen Sie einen User Data Header (UDH) im Payload hinzu. Beispiel für eine 3-teilige Nachricht:
ESM Class: 0x40 (binär 01000000: UDHI aktiviert) Payload: 05 00 03 02 01 // UDH (5 Bytes: IEI=00, IEDL=03, Teil 1 von 2) C8329BFD06 // GSM-7 Payload ("Hallo")
2. Zustellbestätigungsanfragen
Setzen Sie Bit 6 (0x20), um eine Zustellbestätigung anzufordern. Oft kombiniert mit dem registered_delivery
Feld:
ESM Class: 0x20 (binär 00100000) registered_delivery: 0x01 (Bestätigung anfordern)
3. Priorisierte Nachrichten
Verwenden Sie Bits 3-2, um Nachrichten zu priorisieren. Beispiel für dringende Priorität:
ESM Class: 0x10 (binär 00010000: Dringende Priorität)
Beispiel SMPP PDUs
Beispiel 1: Grundlegende SMS (ESM=0x00)
0000001D // Befehlslänge (29 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000001 // Sequenznummer 00 // Source TON 00 // Source NPI 736F7572636500 // Quelladresse ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Zieladresse ("654321") 00 // ESM Class (0x00: Standard) 00 // Protokoll-ID (PID) 00 // Priorität 00 // Geplante Lieferzeit 00 // Gültigkeitsdauer 00 // Registrierte Lieferung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // SM Länge (7 Septets) C8329BFD06DDDF72 // Payload ("Hallo!")
Beispiel 2: Zusammengesetzte SMS (ESM=0x40)
00000025 // Befehlslänge (37 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000002 // Sequenznummer 00 // Source TON 00 // Source NPI 736F7572636500 // Quelladresse ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Zieladresse ("654321") 40 // ESM Class (0x40: UDHI aktiviert) 00 // Protokoll-ID (PID) 00 // Priorität 00 // Geplante Lieferzeit 00 // Gültigkeitsdauer 00 // Registrierte Lieferung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 0C // SM Länge (12 Bytes) 0500030201C8329BFD06DDDF72 // UDH + "Hallo" (Teil 1/2)
Beispiel 3: Zustellbestätigung (ESM=0x20)
0000001D // Befehlslänge (29 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000003 // Sequenznummer 00 // Source TON 00 // Source NPI 736F7572636500 // Quelladresse ("source") 00 // Dest TON 00 // Dest NPI 36353433323100 // Zieladresse ("654321") 20 // ESM Class (0x20: Zustellbestätigung) 00 // Protokoll-ID (PID) 00 // Priorität 00 // Geplante Lieferzeit 00 // Gültigkeitsdauer 01 // Registrierte Lieferung (Bestätigung angefordert) 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // SM Länge (7 Septets) C8329BFD06DDDF72 // Payload ("Hallo!")
Interaktionen mit anderen Feldern
- UDHI (ESM) + DCS: Wenn UDHI gesetzt ist, stellen Sie sicher, dass die DCS UDH unterstützt (z.B. GSM-7 oder 8-Bit).
- ESM Class + registered_delivery: Verwenden Sie beide, um Zustellbestätigungen explizit anzufordern.
- Prioritätsbits + Prioritätsflag: Einige SMSCs priorisieren Nachrichten basierend auf ESM Bits anstelle des separaten Prioritätsfelds.
Häufige Fallstricke
- UDHI setzen, ohne einen gültigen User Data Header einzufügen.
- Zustellbestätigungsflags (ESM=0x20) verwenden, ohne
registered_delivery
zu setzen. - ESM Prioritätsbits mit dem separaten
priority_flag
Feld nicht übereinstimmend.
Die ESM-Klasse ist ein leistungsstarkes Werkzeug zur Steuerung des Nachrichtenverhaltens in SMPP. Ihr Bitmasken-Design ermöglicht Funktionen wie Verkettung, Empfangsbestätigungen und Priorisierung. Überprüfen Sie stets die SMSC-Unterstützung für erweiterte Flags und testen Sie Konfigurationen gründlich. Für verbindliche Details konsultieren Sie die SMPP-Spezifikation v3.4 oder v5.0.
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