ESME_RINVTLVVAL v SMPP
Čo je ESME_RINVTLVVAL?
ESME_RINVTLVVAL (Chybový kód: 0x000000C4) je chyba v SMPP, ktorá indikuje, že parameter Tag-Length-Value (TLV) obsahuje neplatnú alebo neočakávanú hodnotu.
Možné príčiny
- Hodnota TLV nezodpovedá očakávanému formátu alebo rozsahu.
- Pre hodnotu TLV je použitý nesprávny dátový typ.
- V poli TLV je špecifikovaná rezervovaná alebo nepodporovaná hodnota.
- Chyby v kódovaní alebo poškodenie dát TLV.
Kedy k tomu dochádza?
Táto chyba nastáva, keď ESME odošle požiadavku SMPP obsahujúcu parameter TLV, ktorého hodnota je neplatná alebo nezodpovedá očakávanému formátu definovanému v špecifikácii SMPP.
Príklad transakcie SMPP PDU
Požiadavka PDU (submit_sm
) odoslaná ESME s neplatnou hodnotou TLV
00000040 (Dĺžka) 00000004 (ID príkazu pre submit_sm) 00000000 (Stav príkazu) 00000001 (Sekvenčné čí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 Sm) 0005 (Dĺžka správy) 48656C6C 6F (Správa: "Hello") 0421 0002 FFFF (Neplatné TLV: Hodnota 0xFFFF nie je povolená)
Odpoveď PDU (submit_sm_resp
) s ESME_RINVTLVVAL
00000010 (Dĺžka) 80000004 (ID príkazu pre submit_sm_resp) 000000C4 (Stav príkazu - ESME_RINVTLVVAL) 00000001 (Sekvenčné číslo)
Problém: TLV (Tag 0x0421) obsahuje neplatnú hodnotu (0xFFFF), ktorá nie je v povolenom rozsahu.
Ako to vyriešiť?
- Skontrolujte špecifikáciu SMPP pre platné hodnoty parametra TLV.
- Uistite sa, že hodnota je v povolenom rozsahu a správne naformátovaná.
- Použite správny dátový typ a kódovanie pre pole TLV.
- Validujte dáta TLV pred odoslaním požiadavky.
- Použite simulátor SMPP alebo analyzátor protokolu na kontrolu štruktúry PDU.
Oprava hodnoty TLV tak, aby zodpovedala povolenému rozsahu, vyrieši tento problém.