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