ESME_RMISSINGTLV w SMPP

Co to jest ESME_RMISSINGTLV?

ESME_RMISSINGTLV (Kod błędu: 0x000000C3) to błąd SMPP wskazujący, że w żądaniu brakuje obowiązkowego parametru Tag-Length-Value (TLV).

Możliwe przyczyny

  • Wymagany parametr TLV został pominięty w PDU SMPP.
  • Struktura żądania nie jest zgodna ze specyfikacją SMPP.
  • Aplikacja wysyłająca żądanie nie uwzględnia wymaganego TLV.

Kiedy występuje?

Ten błąd występuje, gdy ESME wysyła żądanie SMPP wymagające określonego TLV, ale TLV nie jest uwzględnione w PDU.

Przykładowa transakcja PDU SMPP

Żądanie PDU (submit_sm) wysłane przez ESME bez obowiązkowego TLV

0000003C (Długość)
00000004 (ID polecenia dla submit_sm)
00000000 (Status polecenia)
00000001 (Numer sekwencji)
00 (Typ usługi)
01 (TON adresu źródłowego - międzynarodowy)
01 (NPI adresu źródłowego - ISDN)
31323334 00 (Adres źródłowy: "1234")
01 (TON adresu docelowego - międzynarodowy)
01 (NPI adresu docelowego - ISDN)
39383736 00 (Adres docelowy: "9876")
00 (Klasa ESM)
00 (ID protokołu)
00 (Flaga priorytetu)
00000000 (Czas dostawy - nieustawiony)
00000000 (Okres ważności - nieustawiony)
00 (Flaga zastąpienia, jeśli obecna)
00 (Domyślne ID wiadomości)
0005 (Długość wiadomości)
48656C6C 6F (Wiadomość: "Hello")

Odpowiedź PDU (submit_sm_resp) z ESME_RMISSINGTLV

00000010 (Długość)
80000004 (ID polecenia dla submit_sm_resp)
000000C3 (Status polecenia - ESME_RMISSINGTLV)
00000001 (Numer sekwencji)

Problem: Brakuje obowiązkowego TLV (np. message_payload lub source_subaddress), który jest wymagany w żądaniu.

Jak to rozwiązać?

  • Sprawdź specyfikację SMPP pod kątem obowiązkowych TLV wymaganych dla polecenia.
  • Upewnij się, że aplikacja uwzględnia wszystkie wymagane parametry TLV.
  • Użyj symulatora SMPP lub analizatora pakietów, aby zweryfikować strukturę PDU.
  • Zmodyfikuj żądanie, aby uwzględnić brakujące TLV i spróbuj ponownie.

Dodanie wymaganego parametru TLV rozwiąże ten problem.

More information