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.