Das SMPP-PID-Feld verstehen
Was ist das SMPP-PID-Feld?
Der Protocol Identifier (PID) in SMPP (Short Message Peer-to-Peer Protocol) ist ein 1-Byte-Feld innerhalb von SMPP-PDUs (Protocol Data Units).
Es identifiziert das vom Ursprungssystem verwendete Protokoll oder gibt spezielle Anweisungen für die Nachrichtenbehandlung. Das PID-Feld ist in den
Operationen submit_sm
, deliver_sm
und data_sm
definiert und ist entscheidend für:
- Die Angabe von Protokollen höherer Schichten (z.B. X.400, Telnet)
- Das Auslösen spezieller Nachrichtentypen (z.B. Voicemail-Benachrichtigungen)
- Die Behandlung von Nachrichtenersetzung (z.B. Überschreiben vorhandener Nachrichten)
Aufbau und Bitmaske des PID
Der PID ist eine Bitmaske, bei der bestimmte Bits das Protokollverhalten steuern. Seine Struktur orientiert sich an den GSM-03.40-Spezifikationen:
Bits | Beschreibung |
---|---|
7-5 | Protokolltyp: Gibt das Protokoll an (z.B. GSM, Telex oder SMS). |
4-0 | Anweisungen/Flags: Spezielle Behandlung (z.B. Nachricht ersetzen, Voicemail). |
Wichtige PID-Werte und ihre Bedeutung
PID (Hex) | Binär | Beschreibung |
---|---|---|
0x00 | 00000000 | Standard (kein spezielles Protokoll) |
0x01 | 00000001 | Telex (veraltet) |
0x03 | 00000011 | X.400 (veraltet) |
0x40 | 01000000 | Rückrufnachricht (SIM-Karten-Behandlung) |
0x41 | 01000001 | Kurzmitteilung ersetzen (vorhandene überschreiben) |
0x42 | 01000010 | Voicemail-Benachrichtigung |
0x7F | 01111111 | Für zukünftige Verwendung reserviert |
Anwendungsfälle und Szenarien
1. Nachrichtenersetzung (PID=0x41)
Wird verwendet, um eine vorhandene Nachricht auf dem Gerät des Empfängers zu überschreiben. Häufig in OTP-Systemen (One-Time Password), bei denen ein neues Passwort das alte ersetzt.
2. Voicemail-Benachrichtigung (PID=0x42)
Löst eine visuelle/akustische Warnung auf dem Gerät des Empfängers für eine neue Voicemail aus. Der SMS-Text ist oft leer, da der PID selbst der Auslöser ist.
3. SIM-Daten-Download (PID=0x40)
Weist die SIM-Karte an, die Nachricht zu verarbeiten (z.B. Aktualisierung vorkonfigurierter Einstellungen).
Beispiel-SMPP-PDUs mit PID
Beispiel 1: Standard-PID (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 (PID=0x00) 00 // Prioritätsflag 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 00 // Datenkodierungsschema (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // Nachrichtenlänge (7 Septets) C8329BFD06DDDF72 // Nutzlast ("Hallo!")
Beispiel 2: Voicemail-Benachrichtigung (PID=0x42)
0000001D // Befehlslänge (29 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 42 // Protokoll-ID (PID=0x42: Voicemail) 00 // Prioritätsflag 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 00 // Nachrichtenlänge (0 Bytes: Keine Nutzlast)
Beispiel 3: Vorhandene Nachricht ersetzen (PID=0x41)
0000001D // Befehlslä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 41 // Protokoll-ID (PID=0x41: Ersetzen) 00 // Prioritätsflag 00 // Zeitplan für Zustellung 00 // Gültigkeitsdauer 01 // Registrierte Zustellung (Empfangsbestätigung angefordert) 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // Nachrichtenlänge (7 Septets) C8329BFD06DDDF72 // Nutzlast ("Neues OTP: 1234")
Interaktion des PID mit TP-Protocol-Identifier (GSM)
In GSM-Netzen wird der PID dem TP-Protocol-Identifier
in SMS-TPDUs zugeordnet. Wichtige Zuordnungen sind:
- 0x41: Ersetzungsbefehl (GSM 03.40 TP-PID=0x41)
- 0x42: Voicemail (GSM 03.40 TP-PID=0x42)
Häufige Fallstricke
- Verwendung reservierter PID-Werte (z.B. 0x7F) ohne SMSC-Unterstützung.
- Nicht übereinstimmender PID und DCS (z.B. Verwendung von UCS2-Kodierung für SIM-Daten).
- Ignorieren netzwerkspezifischer Regeln (z.B. PID=0x40 erfordert möglicherweise spezielle SMSC-Konfiguration).
Fazit
Das PID-Feld ist entscheidend für erweiterte SMS-Routing- und Behandlungsfunktionen. Obwohl es oft auf 0x00 (Standard) gesetzt ist, ermöglichen seine spezialisierten Werte Funktionen wie Nachrichtenersetzung, SIM-Updates und Voicemail-Benachrichtigungen. Testen Sie PID-Konfigurationen immer mit Ihrem SMSC und beziehen Sie sich auf die GSM-03.40- oder SMPP-v5.0-Spezifikationen für genaues Verhalten.
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