ESME_RINVSUBREP v SMPP
Co je ESME_RINVSUBREP?
ESME_RINVSUBREP (Chybový kód: 0x00000042) je chyba v SMPP, která indikuje, že požadavek submit_with_replace
obsahuje neplatné nebo nepodporované pole.
Možné příčiny
- Operace
submit_with_replace
není podporována SMSC. - V poli
replace_if_present_flag
byly použity neplatné hodnoty. - Poskytnuté ID původní zprávy pro nahrazení neexistuje.
- SMSC neumožňuje nahrazování zpráv pro daný typ zprávy nebo příjemce.
Kdy k tomu dochází?
Tato chyba nastane při odesílání PDU submit_sm
nebo replace_sm
s neplatným příznakem nahrazení nebo ID zprávy.
Příklad transakce SMPP PDU
Nesprávné PDU replace_sm
(Neplatný příznak nahrazení)
00000030 (Délka) 00000007 (ID příkazu pro replace_sm) 00000000 (Stav příkazu) 00000003 (Pořadové číslo) 31323334 35363738 00 (Neplatné ID zprávy: "12345678") 01 (TON zdrojové adresy) 01 (NPI zdrojové adresy) 31323334 00 (Zdrojová adresa: "1234") 00000000 (Čas plánovaného doručení - nenastaven) 00000000 (Doba platnosti - nenastavena) 05 (Neplatný příznak replace_if_present) 0005 (Délka zprávy) 48656C6C 6F (Zpráva: "Hello")
Odpověď PDU (replace_sm_resp
) s ESME_RINVSUBREP
00000010 (Délka) 80000007 (ID příkazu pro replace_sm_resp) 00000042 (Stav příkazu - ESME_RINVSUBREP) 00000003 (Pořadové číslo)
Problém: Použitý příznak nahrazení ("05") není platný, nebo ID zprávy je nesprávné.
Jak to vyřešit?
- Ujistěte se, že
replace_if_present_flag
je nastaven na0x01
pro platná nahrazení. - Ověřte, že poskytnuté ID zprávy existuje a je správné.
- Zkontrolujte u poskytovatele SMSC, zda je operace
replace_sm
podporována. - Prostudujte si dokumentaci SMPP pro platné hodnoty v požadavcích
replace_sm
. - Povolte ladící logy pro kontrolu přesných hodnot odesílaných v PDU.
Pokud problém přetrvává, kontaktujte poskytovatele SMSC pro ověření politik nahrazování zpráv a řešení konfiguračních problémů.