ESME_RINVTLVSTREAM w SMPP
Co to jest ESME_RINVTLVSTREAM?
ESME_RINVTLVSTREAM (Kod błędu: 0x00000069) to błąd SMPP wskazujący, że pola Tag-Length-Value (TLV) w żądaniu są nieprawidłowo sformatowane, uszkodzone lub nie spełniają oczekiwanej struktury.
Możliwe przyczyny
- Parametry TLV nie są poprawnie sformatowane (np. nieprawidłowe wartości długości).
- Wiele pól TLV nakłada się na siebie lub jest źle wyrównanych.
- Żądanie zawiera nieoczekiwaną strukturę TLV.
- Nieprawidłowe lub uszkodzone dane w sekcji TLV PDU.
Kiedy występuje?
Ten błąd występuje, gdy ESME wysyła żądanie SMPP z nieprawidłowo sformatowanymi parametrami TLV, co powoduje odrzucenie żądania przez SMSC.
Przykładowa transakcja PDU SMPP
Żądanie PDU (submit_sm
) wysłane przez ESME z nieprawidłowym strumieniem TLV
00000040 (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 - nie ustawiony) 00000000 (Okres ważności - nie ustawiony) 00 (Flaga zastąpienia, jeśli obecna) 00 (Domyślne ID wiadomości Sm) 0005 (Długość wiadomości) 48656C6C 6F (Wiadomość: "Hello") 0421 0003 0102 (Nieprawidłowe TLV: Nieprawidłowa długość)
Odpowiedź PDU (submit_sm_resp
) z ESME_RINVTLVSTREAM
00000010 (Długość) 80000004 (ID polecenia dla submit_sm_resp) 00000069 (Status polecenia - ESME_RINVTLVSTREAM) 00000001 (Numer sekwencji)
Problem: TLV (Tag 0x0421) ma nieprawidłową długość (3 bajty zamiast oczekiwanych 1 lub 2).
Jak to rozwiązać?
- Sprawdź strukturę TLV pod kątem zgodności ze specyfikacją SMPP.
- Upewnij się, że pola długości TLV dokładnie odzwierciedlają rzeczywistą długość danych.
- Sprawdź, czy nie ma nakładających się TLV lub źle wyrównanych danych.
- Użyj analizatora pakietów lub symulatora SMPP do debugowania i inspekcji żądania.
- Usuń podejrzane TLV i przetestuj bez nich, aby potwierdzić przyczynę.
Poprawienie formatowania TLV i zapewnienie prawidłowego kodowania długości rozwiąże ten problem.