ESME_RINVMSGLEN v SMPP

Co je ESME_RINVMSGLEN?

ESME_RINVMSGLEN (Chybový kód: 0x00000004) je chyba SMPP, která označuje neplatnou délku zprávy v požadavku SMPP.

Možné příčiny

  • Délka zprávy překračuje povolený limit (obvykle 254 nebo 160 znaků pro určitá kódování).
  • Délka zprávy je nulová (prázdná zpráva).
  • Nesprávné kódování způsobující neočekávaný výpočet délky.
  • Poškozený nebo chybně formátovaný PDU (Protocol Data Unit) odesílaný v požadavku.
  • Nesprávné spojování dlouhých zpráv (problémy s rozdělením).

Kdy k tomu dochází?

Tato chyba nastává při odesílání SMPP PDU (např. submit_sm, data_sm), kde parametr délky zprávy neodpovídá očekávaným omezením délky nastaveným SMSC.

Příklad transakce SMPP PDU

Následující příklad ukazuje nesprávné submit_sm PDU, které může vyvolat chybu ESME_RINVMSGLEN:

0000003C 00000004 00000000 00000001 
74657374 000101 35363137 38363530 
30303000 0000 0000 0000 00000000 
00000000 00

Problém: Pole délky zprávy je nastaveno na nulu, což vede k chybě neplatné délky zprávy.

Další nesprávné PDU, kde zpráva překračuje povolenou délku:

00000100 00000004 00000000 00000002 
74657374 000101 35363137 38363530 
30303000 0000 0000 0000 00000000 
00000100 (Příliš dlouhé)

Jak to vyřešit?

  • Ujistěte se, že délka zprávy je v povolených limitech (zkontrolujte omezení SMSC).
  • Ověřte kódování (např. zprávy UCS2 zabírají 2 bajty na znak).
  • Zajistěte správné spojování dlouhých zpráv pomocí sar_msg_ref_num, sar_total_segments atd.
  • Zkontrolujte, zda není zpráva prázdná před odesláním.
  • Ověřte formát PDU, aby byl správně strukturován.

Pokud problém přetrvává, povolte ladění SMPP na vašem klientovi nebo SMS bráně, abyste mohli prozkoumat odesílaná PDU.

More information