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.