ESME_RINVMSGID in SMPP
Was ist ESME_RINVMSGID?
ESME_RINVMSGID (Fehlercode: 0x0000000C) ist ein SMPP-Fehler, der anzeigt, dass die bereitgestellte Nachrichten-ID ungültig ist oder vom SMSC nicht erkannt wird.
Mögliche Ursachen
- Das Feld
message_id
in der Anfrage fehlt oder ist falsch formatiert. - Die Nachrichten-ID existiert nicht auf dem SMSC.
- Die Nachrichten-ID ist abgelaufen oder wurde aus der Datenbank des SMSC gelöscht.
- Eine zuvor verwendete Nachrichten-ID wurde anstelle einer gültigen bereitgestellt.
- Die Nachrichten-ID ist nicht mit der anfragenden ESME (External Short Messaging Entity) verknüpft.
Wann tritt es auf?
Dieser Fehler tritt auf, wenn eine SMPP-PDU (z.B. query_sm
oder cancel_sm
) mit einer ungültigen oder nicht erkannten Nachrichten-ID gesendet wird.
Beispiel einer SMPP-PDU-Transaktion
Falsche query_sm
-PDU (Ungültige Nachrichten-ID)
0000001D (Länge) 00000003 (Befehls-ID für query_sm) 00000000 (Befehlsstatus) 00000002 (Sequenznummer) 00000000 (Service-Typ) 31323334 35363738 39300000 (Ungültige Nachrichten-ID: "1234567890")
Antwort-PDU (query_sm_resp
) mit ESME_RINVMSGID
00000010 (Länge) 80000003 (Befehls-ID für query_sm_resp) 0000000C (Befehlsstatus - ESME_RINVMSGID) 00000002 (Sequenznummer)
Problem: Die bereitgestellte Nachrichten-ID ("1234567890") ist entweder falsch oder wurde in der SMSC-Datenbank nicht gefunden.
Wie kann man es lösen?
- Stellen Sie sicher, dass die korrekte Nachrichten-ID aus einer vorherigen
submit_sm_resp
-Antwort verwendet wird. - Überprüfen Sie, ob die Nachrichten-ID nicht abgelaufen oder vom SMSC entfernt wurde.
- Prüfen Sie auf Formatierungsfehler im Feld
message_id
(z.B. fehlender Null-Terminator). - Bestätigen Sie, dass die Nachrichten-ID zur anfragenden ESME gehört.
- Aktivieren Sie Debugging-Logs, um die genauen Werte in der PDU zu überprüfen.
Wenn das Problem weiterhin besteht, wenden Sie sich an den SMSC-Anbieter, um die Gültigkeit der Nachrichten-ID zu überprüfen.