ESME_RINVMSGID w SMPP
Co to jest ESME_RINVMSGID?
ESME_RINVMSGID (Kod błędu: 0x0000000C) to błąd SMPP wskazujący, że podany identyfikator wiadomości jest nieprawidłowy lub nie jest rozpoznawany przez SMSC.
Możliwe przyczyny
- Pole
message_id
w żądaniu jest brakujące lub nieprawidłowo sformatowane. - Identyfikator wiadomości nie istnieje w SMSC.
- Identyfikator wiadomości wygasł lub został usunięty z bazy danych SMSC.
- Podano wcześniej użyty identyfikator wiadomości zamiast prawidłowego.
- Identyfikator wiadomości nie jest powiązany z ESME (External Short Messaging Entity) wysyłającym żądanie.
Kiedy występuje?
Ten błąd występuje podczas wysyłania PDU SMPP (np. query_sm
lub cancel_sm
) z nieprawidłowym lub nierozpoznanym identyfikatorem wiadomości.
Przykładowa transakcja PDU SMPP
Nieprawidłowe PDU query_sm
(Nieprawidłowy identyfikator wiadomości)
0000001D (Długość) 00000003 (ID polecenia dla query_sm) 00000000 (Status polecenia) 00000002 (Numer sekwencji) 00000000 (Typ usługi) 31323334 35363738 39300000 (Nieprawidłowy identyfikator wiadomości: "1234567890")
Odpowiedź PDU (query_sm_resp
) z ESME_RINVMSGID
00000010 (Długość) 80000003 (ID polecenia dla query_sm_resp) 0000000C (Status polecenia - ESME_RINVMSGID) 00000002 (Numer sekwencji)
Problem: Podany identyfikator wiadomości ("1234567890") jest nieprawidłowy lub nie został znaleziony w bazie danych SMSC.
Jak to rozwiązać?
- Upewnij się, że używany jest prawidłowy identyfikator wiadomości z poprzedniej odpowiedzi
submit_sm_resp
. - Sprawdź, czy identyfikator wiadomości nie wygasł lub nie został usunięty z SMSC.
- Sprawdź, czy w polu
message_id
nie ma błędów formatowania (np. brakującego terminatora null). - Potwierdź, że identyfikator wiadomości należy do ESME wysyłającego żądanie.
- Włącz dzienniki debugowania, aby sprawdzić dokładne wartości wysyłane w PDU.
Jeśli problem nadal występuje, skontaktuj się z dostawcą SMSC, aby sprawdzić ważność identyfikatora wiadomości.