ESME_RINVSRCADR v SMPP
Co je ESME_RINVSRCADR?
ESME_RINVSRCADR (Chybový kód: 0x0000000A) je chyba v SMPP, která indikuje, že zdrojová adresa (ID odesílatele) uvedená v požadavku je neplatná nebo není povolena SMSC.
Možné příčiny
- Pole
source_addr
je prázdné nebo nesprávně formátované. - ID odesílatele je delší než povolená maximální délka (obvykle 11 znaků pro alfanumerická ID odesílatele).
- ID odesílatele obsahuje nepodporované znaky.
- ID odesílatele není registrováno nebo povoleno na SMSC.
- Typ ID odesílatele (
source_addr_ton
asource_addr_npi
) je nesprávný nebo není podporován.
Kdy k tomu dochází?
Tato chyba nastává při odesílání SMPP PDU (např. submit_sm
) s neplatným nebo nepodporovaným ID odesílatele.
Příklad transakce SMPP PDU
Nesprávné submit_sm
PDU (Neplatná zdrojová adresa)
0000002C (Délka) 00000004 (ID příkazu pro submit_sm) 00000000 (Stav příkazu) 00000002 (Pořadové číslo) 00000000 (Typ služby) 00 (Neplatný source_addr_ton) 00 (Neplatný source_addr_npi) 00000000 (Prázdná zdrojová adresa) 35363137 38363530 30303000 (Cílová adresa) 00 (Prioritní příznak) 01 (Příznak registrovaného doručení) 00000000 (Délka zprávy) 48656C6C6F (Zpráva: "Hello")
Odpověď PDU (submit_sm_resp
) s ESME_RINVSRCADR
00000010 (Délka) 80000004 (ID příkazu pro submit_sm_resp) 0000000A (Stav příkazu - ESME_RINVSRCADR) 00000002 (Pořadové číslo)
Problém: source_addr
je prázdné, což způsobuje odmítnutí požadavku SMSC.
Jak to vyřešit?
- Ujistěte se, že
source_addr
(ID odesílatele) je správně formátované a v povolené délce. - Použijte platné
source_addr_ton
asource_addr_npi
: - Pro alfanumerické ID odesílatele:
source_addr_ton = 5
,source_addr_npi = 0
- Pro numerické ID odesílatele:
source_addr_ton = 1
,source_addr_npi = 1
- Ověřte u poskytovatele SMSC, zda je ID odesílatele nutné předem schválit.
- Zkontrolujte, zda SMSC nevyžaduje omezení znaků.
- Povolte ladící protokoly pro kontrolu přesné hodnoty odesílané v PDU.
Pokud problém přetrvává, kontaktujte poskytovatele SMSC a ověřte požadavky na ID odesílatele.