ESME_RINVMSGLEN v SMPP
Čo je ESME_RINVMSGLEN?
ESME_RINVMSGLEN (Chybový kód: 0x00000004) je chyba v SMPP, ktorá indikuje neplatnú dĺžku správy v SMPP požiadavke.
Možné príčiny
- Dĺžka správy prekračuje povolený limit (typicky 254 alebo 160 znakov pre určité kódovania).
- Dĺžka správy je nulová (prázdna správa).
- Nesprávne kódovanie spôsobujúce neočakávaný výpočet dĺžky.
- Poškodený alebo nesprávne formátovaný PDU (Protocol Data Unit) odoslaný na server.
- Nesprávne zreťazenie dlhých správ (problémy s delením).
Kedy sa to stáva?
Táto chyba nastáva pri odosielaní SMPP PDU (napr. submit_sm
, data_sm
), kde parameter dĺžky správy nezodpovedá očakávaným obmedzeniam dĺžky nastaveným SMSC.
Príklad transakcie SMPP PDU
Nasledujúci príklad ukazuje nesprávne submit_sm
PDU, ktoré môže spôsobiť chybu ESME_RINVMSGLEN
:
0000003C 00000004 00000000 00000001 74657374 000101 35363137 38363530 30303000 0000 0000 0000 00000000 00000000 00
Problém: Pole dĺžky správy je nastavené na nulu, čo spôsobuje chybu neplatnej dĺžky správy.
Ďalšie nesprávne PDU, kde správa prekračuje povolenú dĺžku:
00000100 00000004 00000000 00000002 74657374 000101 35363137 38363530 30303000 0000 0000 0000 00000000 00000100 (Príliš dlhé)
Ako to vyriešiť?
- Uistite sa, že dĺžka správy je v povolených medziach (skontrolujte obmedzenia SMSC).
- Overte kódovanie (napr. správy UCS2 používajú 2 bajty na znak).
- Zabezpečte správne zreťazenie dlhých správ pomocou
sar_msg_ref_num
,sar_total_segments
atď. - Skontrolujte, či správa nie je prázdna pred odoslaním.
- Overte formát PDU, aby ste sa uistili, že je správne štruktúrovaný.
Ak problém pretrváva, zapnite ladenie SMPP na vašom klientovi alebo SMS bráne, aby ste mohli skontrolovať odosielané PDU.