ESME_RMISSINGTLV v SMPP
Co je ESME_RMISSINGTLV?
ESME_RMISSINGTLV (Chybový kód: 0x000000C3) je chyba v SMPP, která indikuje, že v požadavku chybí povinný parametr Tag-Length-Value (TLV).
Možné příčiny
- V SMPP PDU chybí povinný TLV parametr.
- Struktura požadavku neodpovídá specifikaci SMPP.
- Aplikace odesílající požadavek nezahrnuje potřebný TLV.
Kdy k tomu dochází?
Tato chyba nastane, když ESME odešle SMPP požadavek, který vyžaduje specifický TLV, ale tento TLV není v PDU zahrnut.
Příklad transakce SMPP PDU
Požadavek PDU (submit_sm
) odeslaný ESME bez povinného TLV
0000003C (Délka) 00000004 (ID příkazu pro submit_sm) 00000000 (Stav příkazu) 00000001 (Pořadové číslo) 00 (Typ služby) 01 (TON zdrojové adresy - Mezinárodní) 01 (NPI zdrojové adresy - ISDN) 31323334 00 (Zdrojová adresa: "1234") 01 (TON cílové adresy - Mezinárodní) 01 (NPI cílové adresy - ISDN) 39383736 00 (Cílová adresa: "9876") 00 (Třída ESM) 00 (ID protokolu) 00 (Prioritní příznak) 00000000 (Čas doručení - Nenastaveno) 00000000 (Platnost - Nenastaveno) 00 (Příznak nahrazení) 00 (Výchozí ID zprávy) 0005 (Délka zprávy) 48656C6C 6F (Zpráva: "Hello")
Odpověď PDU (submit_sm_resp
) s ESME_RMISSINGTLV
00000010 (Délka) 80000004 (ID příkazu pro submit_sm_resp) 000000C3 (Stav příkazu - ESME_RMISSINGTLV) 00000001 (Pořadové číslo)
Problém: Povinný TLV (např. message_payload
nebo source_subaddress
) je vyžadován, ale v požadavku chybí.
Jak to vyřešit?
- Zkontrolujte specifikaci SMPP pro povinné TLV požadované pro příkaz.
- Ujistěte se, že aplikace zahrnuje všechny požadované TLV parametry.
- Použijte simulátor SMPP nebo analyzátor paketů k ověření struktury PDU.
- Upravte požadavek tak, aby obsahoval chybějící TLV, a opakujte pokus.
Přidání požadovaného TLV parametru tento problém vyřeší.