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_periodist 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_perioddas korrekte SMPP-Absolut- oder Relativzeitformat verwendet: - Absolutes Zeitformat:
YYMMDDhhmmss000R(z.B.240211153000000Rfü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.
00fü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.