ESME_RINVTLVSTREAM v SMPP
Čo je ESME_RINVTLVSTREAM?
ESME_RINVTLVSTREAM (Chybový kód: 0x00000069) je chyba v SMPP, ktorá indikuje, že polia Tag-Length-Value (TLV) v požiadavke sú nesprávne naformátované, poškodené alebo nezodpovedajú očakávanej štruktúre.
Možné príčiny
- Parametre TLV nie sú správne naformátované (napr. nesprávne hodnoty dĺžky).
- Viaceré polia TLV sa prekrývajú alebo sú nesprávne zarovnané.
- Požiadavka obsahuje neočakávanú štruktúru TLV.
- Neplatné alebo poškodené údaje v časti TLV PDU.
Kedy k tomu dochádza?
Táto chyba nastáva, keď ESME odošle SMPP požiadavku s nesprávne štruktúrovanými parametrami TLV, čo spôsobí, že SMSC požiadavku zamietne.
Príklad transakcie SMPP PDU
Požiadavka PDU (submit_sm
) odoslaná ESME s neplatným TLV streamom
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 (Platnosť - Nie je nastavená) 00 (Príznak nahradenia, ak je prítomný) 00 (Predvolené ID správy Sm) 0005 (Dĺžka správy) 48656C6C 6F (Správa: "Hello") 0421 0003 0102 (Neplatné TLV: Nesprávna dĺžka)
Odpoveď PDU (submit_sm_resp
) s ESME_RINVTLVSTREAM
00000010 (Dĺžka) 80000004 (ID príkazu pre submit_sm_resp) 00000069 (Stav príkazu - ESME_RINVTLVSTREAM) 00000001 (Sériové číslo)
Problém: TLV (Tag 0x0421) má nesprávnu dĺžku (3 bajty namiesto očakávaných 1 alebo 2).
Ako to vyriešiť?
- Overiť štruktúru TLV podľa špecifikácie SMPP.
- Zabezpečiť, aby polia dĺžky TLV presne reprezentovali skutočnú dĺžku údajov.
- Skontrolovať prekrývajúce sa TLV alebo nesprávne zarovnané údaje.
- Použiť analyzátor paketov alebo simulátor SMPP na ladenie a kontrolu požiadavky.
- Odstrániť podozrivé TLV a otestovať bez nich, aby sa potvrdila príčina problému.
Oprava formátovania TLV a zabezpečenie správneho kódovania dĺžky tento problém vyrieši.