Konfiguration des SMPP Validity Period-Felds
Was ist das Validity Period-Feld?
Die Validity Period in SMPP (Short Message Peer-to-Peer Protocol) ist ein nullterminiertes Zeichenfolgenfeld in PDUs wie submit_sm
, das definiert,
wie lange eine SMSC versucht, eine Nachricht zuzustellen, bevor sie verworfen wird. Dieses Feld ist entscheidend für:
- Verhindern unendlicher Wiederholungsversuche für unzustellbare Nachrichten
- Verwaltung von SMSC-Speicherressourcen
- Handhabung zeitkritischer Inhalte (z.B. OTPs, Werbeaktionen)
Feldformat und Struktur
Die Gültigkeitsdauer verwendet dasselbe absolute Zeitformat wie die geplante Lieferzeit (SMPP v3.4-Spezifikation):
YYMMDDhhmmssnnp
Wobei die Komponenten dem Format der geplanten Lieferzeit entsprechen. Häufige relative Formatkurzformen werden ebenfalls unterstützt:
Format | Beispiel | Beschreibung |
---|---|---|
Absolut | 231215235959000+ |
15. Dez. 2023 23:59:59 UTC+0 |
Relativ | 000003000000000R |
3 Tage ab Sendezeitpunkt |
-
NULL
: Verwendet die SMSC-Standardgültigkeit (typisch 24-72 Stunden)-
00
: SMSC-Standardgültigkeit (ältere Systeme)
Wichtige Validity Period-Formate
1. Absolutes Zeitformat
YYMMDDhhmmssnnp // Vollständiges Format 231215143000000+ // 15. Dez. 2023 14:30:00 UTC+0
2. Relatives Zeitformat
00000X000000000R // X = Tage (00-99) 000003000000000R // 3 Tage Gültigkeit
Anwendungsfälle
1. OTP-Ablauf (Kurze Gültigkeit)
validity_period: "000000010000000R" // 1 Stunde Gültigkeit
2. Werbekampagne (Verlängerte Gültigkeit)
validity_period: "000007000000000R" // 7 Tage Gültigkeit
3. Mitternachtsablauf (Absolute Zeit)
validity_period: "231215235959000+" // Läuft am 15. Dez. 2023 23:59:59 UTC+0 ab
Beispiel-SMPP-PDUs
Beispiel 1: 24-Stunden-Gültigkeit (Relatives Format)
0000001D // Befehlslänge (29 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000001 // Sequenznummer ... 00 // Prioritätsflag 00 // Geplante Lieferzeit 303030303234303030303030305200 // "00002400000000R" (24 Stunden) 00 // Registrierte Lieferung ...
Beispiel 2: Absoluter Ablaufzeitpunkt
0000002A // Befehlslänge (42 Bytes) 00000004 // Befehls-ID (SubmitSM) 00000002 // Sequenznummer ... 00 // Geplante Lieferzeit 3233313231323332353935393030302B00 // "231212235959000+" (12. Dez. 2023 23:59:59 UTC+0) ...
Interaktionen mit anderen Feldern
- scheduled_delivery_time: Die Gültigkeitsdauer beginnt ab der geplanten Zeit, falls gesetzt
- priority_flag: Hochpriorisierte Nachrichten können auf einigen SMSCs die Gültigkeitsdauer überschreiben
- registered_delivery: Zustellbestätigungen werden auch nach Ablauf der Gültigkeitsdauer gesendet
Häufige Fallstricke
- Verwendung des relativen Formats ohne das 'R'-Suffix
- Festlegen von Gültigkeitsdauern, die über die SMSC-Grenzen hinausgehen (z.B. maximal 30 Tage)
- Zeitzonenkonflikte zwischen geplanter Zeit und Gültigkeitsdauer
- Annahme, dass alle SMSCs relatives Format unterstützen (beim Anbieter überprüfen)
Viele SMSCs wandeln relative Zeiträume bei Nachrichteneingang in absolute Zeitstempel um. Der Countdown läuft auch bei einem Neustart der SMSC weiter.
Gültigkeitsdauer vs. SMSC-Standards
Validity Period-Wert | SMSC-Verhalten |
---|---|
NULL oder 00 | Verwendet SMSC-Standard (variiert je nach Anbieter) |
Expliziter Wert | Berücksichtigt den Wert (innerhalb der SMSC-Grenzen) |
Vergangener Zeitstempel | Nachricht wird sofort verworfen |
Fazit
Das Validity Period-Feld ist entscheidend für die Steuerung des Nachrichtenlebenszyklus in SMPP. Während absolute Zeitstempel Präzision bieten, bieten relative Formate Einfachheit für gängige Anwendungsfälle. Stimmen Sie die Gültigkeitseinstellungen immer mit den SMSC-Richtlinien ab und testen Sie Grenzfälle (z.B. Zeitumstellungen). Für detaillierte Implementierungen siehe SMPP v3.4 Abschnitt 5.2.18 und GSM 03.40-Dokumentation.
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