ESME_RINVEXPIRY in SMPP
Was ist ESME_RINVEXPIRY?
ESME_RINVEXPIRY (Fehlercode: 0x00000062) ist ein SMPP-Fehler, der anzeigt, dass das Feld validity_period
in einer submit_sm
-Anfrage ein ungültiges Format oder einen ungültigen Wert enthält.
Mögliche Ursachen
- Das Feld
validity_period
ist falsch formatiert. - Das angegebene Datum und die Uhrzeit haben ein nicht unterstütztes Format.
- Die Gültigkeitsdauer liegt in der Vergangenheit oder überschreitet das Maximum des SMSC.
- Der SMSC unterstützt das angegebene Ablaufformat nicht.
Wann tritt es auf?
Dieser Fehler tritt auf, wenn ein ESME eine SMS mit einem ungültigen validity_period
-Feld sendet, was dazu führt, dass der SMSC die Anfrage ablehnt.
Beispiel einer SMPP-PDU-Transaktion
Falsche submit_sm
-PDU (Ungültige Gültigkeitsdauer)
0000003F (Länge) 00000004 (Befehls-ID für submit_sm) 00000000 (Befehlsstatus) 00000001 (Sequenznummer) 00 (Service-Typ) 01 (Quelladresse TON - International) 01 (Quelladresse NPI - ISDN) 31323334 00 (Quelladresse: "1234") 01 (Zieladresse TON - International) 01 (Zieladresse NPI - ISDN) 39383736 00 (Zieladresse: "9876") 00 (ESM-Klasse) 00 (Protokoll-ID) 00 (Prioritätsflag) 00000000 (Geplante Lieferzeit - Nicht gesetzt) 31323039 3031303030303030 00 (Ungültige Gültigkeitsdauer) 00 (Ersetzen falls vorhanden) 00 (Standard-Nachrichten-ID) 0005 (Nachrichtenlänge) 48656C6C 6F (Nachricht: "Hello")
Antwort-PDU (submit_sm_resp
) mit ESME_RINVEXPIRY
00000010 (Länge) 80000004 (Befehls-ID für submit_sm_resp) 00000062 (Befehlsstatus - ESME_RINVEXPIRY) 00000001 (Sequenznummer)
Problem: Das Feld validity_period
ist falsch formatiert, was dazu führt, dass der SMSC die Nachricht ablehnt.
Wie kann man es lösen?
- Stellen Sie sicher, dass
validity_period
das korrekte SMPP-Absolut- oder Relativzeitformat verwendet: - Absolutes Zeitformat:
YYMMDDhhmmss000R
(z.B.240211153000000R
für 11. Feb. 2024, 15:30:00 UTC) - Relatives Zeitformat:
000001000000000R
(gültig für 1 Stunde ab jetzt) - Stellen Sie sicher, dass die Ablaufzeit in der Zukunft liegt.
- Prüfen Sie beim SMSC-Anbieter, ob es Grenzen für Gültigkeitsdauern gibt.
- Verwenden Sie korrekte Abschlusszeichen (z.B.
00
für NULL-terminierte Zeichenketten).
Wenn das Problem weiterhin besteht, aktivieren Sie das SMPP-Debugging und überprüfen Sie das validity_period
-Format in der Anfrage.