Konfiguration des SMPP Scheduled Delivery Time Feldes
Was ist das Scheduled Delivery Time Feld?
Das Scheduled Delivery Time-Feld in SMPP (Short Message Peer-to-Peer Protocol) ist ein optionaler Parameter in der submit_sm
PDU,
der es ermöglicht, eine Nachricht für die Zustellung zu einem zukünftigen Datum und einer zukünftigen Uhrzeit in die Warteschlange zu stellen. Dieses Feld ist entscheidend für:
- Verzögerte Nachrichtenzustellung außerhalb der Hauptverkehrszeiten
- Planung zeitkritischer Kampagnen (z.B. Geburtstagsnachrichten)
- Koordinierung von Nachrichten über Zeitzonen hinweg
Feldformat und Struktur
Die SMPP v3.4-Spezifikation definiert dieses Feld als C-Octet String
(null-terminiert) mit einem spezifischen Datums- und Zeitformat:
YYMMDDhhmmssnnp
Wobei:
Komponente | Beschreibung | Bereich |
---|---|---|
YY | Letzte zwei Ziffern des Jahres | 00-99 |
MM | Monat | 01-12 |
DD | Tag | 01-31 |
hh | Stunde (24h-Format) | 00-23 |
mm | Minute | 00-59 |
ss | Sekunde | 00-59 |
nn | Zehntelsekunden (optional) | 00-99 |
p | Zeitzonenoffset (z.B. +, -) | +/- gefolgt von 4 Ziffern (HHMM) |
-
NULL
(sofortige Zustellung)-
000000000000000
(sofortige Zustellung, ältere Systeme)
Beispiel-Zeitzeichenketten
Zeitzeichenkette | Interpretation |
---|---|
231015143000000+ |
15. Okt. 2023 14:30:00 UTC+0 |
231015143000000-0800 |
15. Okt. 2023 14:30:00 UTC-08:00 |
000000000000000 |
Sofortige Zustellung (veraltet) |
NULL |
Sofortige Zustellung (empfohlen) |
Anwendungsfälle
1. Geburtstagsnachrichten
Planen Sie eine Nachricht, die genau um Mitternacht am Geburtstag des Empfängers zugestellt wird:
scheduled_delivery_time: "231016000000000+" // 16. Okt. 2023 00:00:00 UTC+0
2. Zustellung außerhalb der Hauptverkehrszeiten
Vermeiden Sie Netzüberlastung, indem Sie Massennachrichten nachts versenden:
scheduled_delivery_time: "231015020000000+" // 15. Okt. 2023 02:00:00 UTC+0
3. Zeitzonenkoordination
Zustellen von Nachrichten um 9 Uhr Ortszeit für Empfänger in New York (UTC-5):
scheduled_delivery_time: "231015090000000-0500" // 15. Okt. 2023 09:00:00 UTC-05:00
Beispiel-SMPP-PDUs
Beispiel 1: Sofortige Zustellung (NULL)
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ätsflag 00 // Schedule Delivery Time (NULL: sofort) 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // SM-Länge (7 Septets) C8329BFD06DDDF72 // Nutzlast ("Hello!")
Beispiel 2: Zukünftige Zustellung (15. Okt. 2023 14:30 UTC)
0000002A // Befehlslänge (42 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ätsflag 3233313031353134333030303030302B00 // "231015143000000+" (16 Bytes + null) 00 // Gültigkeitsdauer 00 // Registrierte Zustellung 00 // Ersetzen falls vorhanden 00 // Datenkodierung (DCS=0x00) 00 // Standard-Nachrichten-ID 07 // SM-Länge (7 Septets) C8329BFD06DDDF72 // Nutzlast ("Hello!")
Interaktionen mit anderen Feldern
- validity_period: Definiert, wie lange der SMSC die Zustellung versucht. Beginnt ab dem geplanten Zeitpunkt zu zählen.
- priority_flag: Nachrichten mit höherer Priorität können auf einigen SMSCs die Planungswarteschlangen umgehen.
Häufige Fallstricke
- Verwendung der Ortszeit ohne Angabe des Zeitzonenoffsets.
- Falsche Formatierung der Datumszeichenkette (z.B. ungültiger Monat "13").
- Annahme, dass alle SMSCs geplante Zustellungen unterstützen (beim Anbieter überprüfen).
- Festlegen einer Zeit in der Vergangenheit, was zu sofortiger Zustellung führt.
Einige SMSCs ignorieren Bruchteile von Sekunden (
nn
) oder beschränken, wie weit im Voraus Nachrichten geplant werden können (z.B. maximal 7 Tage).
Fazit
Das Scheduled Delivery Time-Feld ermöglicht eine präzise Steuerung des Zeitpunkts der SMS-Zustellung. Die korrekte Verwendung erfordert eine sorgfältige Formatierung der Zeitzeichenketten und die Abstimmung mit den Fähigkeiten des SMSC. Testen Sie geplante Nachrichten immer mit Ihrem Anbieter und konsultieren Sie die SMPP v3.4-Spezifikation für Sonderfälle (z.B. Schaltjahre, Zeitzonenwechsel).
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