ESME_RINVSUBREP in SMPP
Was ist ESME_RINVSUBREP?
ESME_RINVSUBREP (Fehlercode: 0x00000042) ist ein SMPP-Fehler, der anzeigt, dass die submit_with_replace
-Anforderung ein ungültiges oder nicht unterstütztes Feld enthält.
Mögliche Ursachen
- Die
submit_with_replace
-Operation wird vom SMSC nicht unterstützt. - Ungültige Werte wurden im Feld
replace_if_present_flag
verwendet. - Die ursprüngliche Nachrichten-ID für den Ersatz existiert nicht.
- Der SMSC erlaubt das Ersetzen von Nachrichten für den gegebenen Nachrichtentyp oder Empfänger nicht.
Wann tritt es auf?
Dieser Fehler tritt auf, wenn eine submit_sm
- oder replace_sm
-PDU mit einem ungültigen Ersatzflag oder einer ungültigen Nachrichten-ID gesendet wird.
Beispiel einer SMPP-PDU-Transaktion
Falsche replace_sm
-PDU (Ungültiges Ersatzflag)
00000030 (Länge) 00000007 (Befehls-ID für replace_sm) 00000000 (Befehlsstatus) 00000003 (Sequenznummer) 31323334 35363738 00 (Ungültige Nachrichten-ID: "12345678") 01 (Quelladresse TON) 01 (Quelladresse NPI) 31323334 00 (Quelladresse: "1234") 00000000 (Geplante Lieferzeit - Nicht gesetzt) 00000000 (Gültigkeitsdauer - Nicht gesetzt) 05 (Ungültiges Replace If Present Flag) 0005 (Nachrichtenlänge) 48656C6C 6F (Nachricht: "Hello")
Antwort-PDU (replace_sm_resp
) mit ESME_RINVSUBREP
00000010 (Länge) 80000007 (Befehls-ID für replace_sm_resp) 00000042 (Befehlsstatus - ESME_RINVSUBREP) 00000003 (Sequenznummer)
Problem: Das verwendete Ersatzflag ("05") ist ungültig oder die Nachrichten-ID ist falsch.
Wie kann man es lösen?
- Stellen Sie sicher, dass das
replace_if_present_flag
auf0x01
für gültige Ersetzungen gesetzt ist. - Überprüfen Sie, ob die angegebene Nachrichten-ID existiert und korrekt ist.
- Prüfen Sie beim SMSC-Anbieter, ob die
replace_sm
-Operation unterstützt wird. - Überprüfen Sie die SMPP-Dokumentation auf gültige Werte in
replace_sm
-Anforderungen. - Aktivieren Sie Debugging-Protokolle, um die genauen Werte in der PDU zu überprüfen.
Wenn das Problem weiterhin besteht, wenden Sie sich an den SMSC-Anbieter, um die Richtlinien für den Nachrichtenersatz zu überprüfen und Konfigurationsprobleme zu beheben.