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.
More information
- SMPP operation ESME_ROK
- How to solve ESME_RINVCMDLEN in SMPP
- ESME RINVMSGLEN SMPP error code
- ESME_RINVCMDID SMPP error code
- ESME_RINVBNDSTS SMPP error code
- ESME_RALYBND SMPP error code
- ESME_RINVPRTFLG SMPP error code
- ESME_RINVREGDLVFLG SMPP error code
- ESME_RSYSERR SMPP error code
- ESME_RINVSRCADR SMPP error code
- ESME_RINVDSTADR SMPP error code
- SMPP Error Invalid Message ID
- ESME_RBINDFAIL SMPP error code
- ESME_RINVPASWD SMPP error code
- ESME_RINVSYSID SMPP error code
- ESME_RCANCELFAIL SMPP error code
- ESME_RREPLACEFAIL SMPP error code
- ESME_RMSGQFUL SMPP error code
- ESME_RINVSERTYP SMPP error code
- ESME_RINVNUMDESTS SMPP error code
- ESME_RINVDLNAME SMPP error code
- ESME_RINVDESTFLAG SMPP error code
- ESME_RINVSUBREP SMPP error code
- ESME_RINVESMCLASS SMPP error code
- ESME_RCNTSUBDL SMPP error code
- ESME_RSUBMITFAIL SMPP error code
- ESME_RINVSRCTON SMPP error code
- ESME_RINVSRCNPI SMPP error code
- ESME_RINVDSTTON SMPP error code
- ESME_RINVDSTNPI SMPP error code
- ESME_RINVSYSTYP SMPP error code
- ESME_RINVREPFLAG SMPP error code
- ESME_RINVNUMMSGS SMPP error code
- ESME_RTHROTTLED SMPP error code
- ESME_RINVSCHED SMPP error code
- ESME_RINVEXPIRY SMPP error code
- ESME_RINVDFTMSGID SMPP error code
- ESME_RX_T_APPN SMPP error code
- ESME_RX_P_APPN SMPP error code
- ESME_RX_R_APPN SMPP error code
- ESME_RQUERYFAIL SMPP error code
- ESME_RINVTLVSTREAM SMPP error code
- ESME_RTLVNOTALLWD SMPP error code
- ESME_RINVTLVLEN SMPP error code
- ESME_RMISSINGTLV SMPP error code
- ESME_RINVTLVVAL SMPP error code
- ESME_RDELIVERYFAILURE SMPP error code
- ESME_RUNKNOWNERR SMPP error code
- ESME_RSERTYPUNAUTH SMPP error code
- ESME_RPROHIBITED
- ESME_RSERTYPUNAVAIL SMPP error code
- ESME_RSERTYPDENIED SMPP error code
- ESME_RINVDCS SMPP error code
- ESME_RINVSRCADDRSUBUNIT SMPP error code
- ESME_RINVBCASTFREQINT SMPP error code
- ESME_RINVBCASTALIAS_NAME SMPP error code
- ESME_RINVBCASTAREAFMT SMPP error code
- ESME_RINVNUMBCAST_AREAS SMPP error code
- ESME_RINVBCASTCNTTYPE SMPP error code
- ESME_RINVBCASTMSGCLASS SMPP error code
- ESME_RBCASTFAIL SMPP error code
- ESME_RBCASTQUERYFAIL SMPP error code
- ESME_RBCASTCANCELFAIL SMPP error code
- ESME_RINVBCAST_REP SMPP error code
- ESME_RINVBCASTSRVGRP SMPP error code
- ESME_RINVBCASTCHANIND SMPP error code
- Reserved SMPP error code