ESME_RINVTLVLEN v SMPP

Čo je ESME_RINVTLVLEN?

ESME_RINVTLVLEN (Chybový kód: 0x000000C2) je chyba v SMPP, ktorá indikuje, že parameter Tag-Length-Value (TLV) v požiadavke má neplatnú dĺžku, čo znamená, že zadaná dĺžka nezodpovedá skutočnej dĺžke údajov.

Možné príčiny

  • Pole dĺžky TLV nezodpovedá očakávanej veľkosti pre daný značku TLV.
  • Poskytnutá dĺžka je kratšia alebo dlhšia, ako vyžaduje špecifikácia SMPP.
  • Štruktúra TLV je poškodená alebo nesprávne formátovaná.
  • Chyby v kódovaní poľa TLV.

Kedy k tomu dochádza?

Táto chyba nastane, keď ESME odošle požiadavku SMPP obsahujúcu parameter TLV, kde pole dĺžky nezodpovedá správne veľkosti skutočnej hodnoty.

Príklad transakcie SMPP PDU

Požiadavka PDU (submit_sm) odoslaná ESME s neplatnou dĺžkou TLV

00000040 (Dĺžka)
00000004 (ID príkazu pre submit_sm)
00000000 (Stav príkazu)
00000001 (Sériové číslo)
00 (Typ služby)
01 (TON zdrojovej adresy - Medzinárodná)
01 (NPI zdrojovej adresy - ISDN)
31323334 00 (Zdrojová adresa: "1234")
01 (TON cieľovej adresy - Medzinárodná)
01 (NPI cieľovej adresy - ISDN)
39383736 00 (Cieľová adresa: "9876")
00 (Trieda ESM)
00 (ID protokolu)
00 (Príznak priority)
00000000 (Čas naplánovanej doručenia - Nie je nastavený)
00000000 (Obdobie platnosti - Nie je nastavené)
00 (Príznak nahradenia, ak je prítomný)
00 (Predvolené ID správy)
0005 (Dĺžka správy)
48656C6C 6F (Správa: "Hello")
0421 0004 01 (Neplatné TLV: Zadaná dĺžka 4, skutočné údaje 1 bajt)

Odpoveď PDU (submit_sm_resp) s ESME_RINVTLVLEN

00000010 (Dĺžka)
80000004 (ID príkazu pre submit_sm_resp)
000000C2 (Stav príkazu - ESME_RINVTLVLEN)
00000001 (Sériové číslo)

Problém: TLV (Značka 0x0421) špecifikuje dĺžku 4 bajtov, ale skutočná poskytnutá hodnota je len 1 bajt.

Ako to vyriešiť?

  • Skontrolujte špecifikáciu SMPP, aby ste overili správne požiadavky na dĺžku TLV.
  • Uistite sa, že pole dĺžky presne odráža skutočnú veľkosť údajov.
  • Overte štruktúru TLV pred odoslaním požiadavky.
  • Použite simulátor SMPP alebo analyzátor paketov na kontrolu štruktúry PDU.
  • Odstráňte alebo opravte problematické TLV a znova otestujte.

Oprava poľa dĺžky TLV tak, aby zodpovedalo skutočnej veľkosti hodnoty, vyrieši tento problém.

More information