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.

More information