ESME_RINVMSGLEN az SMPP-ben

Mi az ESME_RINVMSGLEN?

ESME_RINVMSGLEN (Hibakód: 0x00000004) egy SMPP hiba, amely érvénytelen üzenethosszra utal egy SMPP kérésben.

Lehetséges okok

  • Az üzenet hossza meghaladja a megengedett határt (általában 254 vagy 160 karakter bizonyos kódolásoknál).
  • Az üzenet hossza nulla (üres üzenet).
  • Helytelen kódolás, ami váratlan hosszszámításhoz vezet.
  • Sérült vagy hibás PDU (Protocol Data Unit) küldése.
  • Hosszú üzenetek helytelen összefűzése (darabolási problémák).

Mikor fordul elő?

Ez a hiba akkor jelentkezik, amikor egy SMPP PDU-t (pl. submit_sm, data_sm) küldenek, és az üzenethossz paraméter nem felel meg az SMSC által meghatározott hosszkorlátozásoknak.

Példa SMPP PDU tranzakcióra

Az alábbi egy hibás submit_sm PDU példa, amely ESME_RINVMSGLEN hibát válthat ki:

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

Probléma: Az üzenethossz mező nulla értékű, ami érvénytelen üzenethossz hibát eredményez.

Egy másik hibás PDU, ahol az üzenet meghaladja a megengedett hosszt:

00000100 00000004 00000000 00000002 
74657374 000101 35363137 38363530 
30303000 0000 0000 0000 00000000 
00000100 (Túl hosszú)

Hogyan oldható meg?

  • Győződjön meg arról, hogy az üzenet hossza a megengedett határokon belül van (ellenőrizze az SMSC korlátozásait).
  • Ellenőrizze a kódolást (pl. UCS2 üzeneteknél karakterenként 2 bájt szükséges).
  • Biztosítsa a hosszú üzenetek megfelelő darabolását a sar_msg_ref_num, sar_total_segments stb. használatával.
  • Ellenőrizze az üres üzeneteket küldés előtt.
  • Ellenőrizze a PDU formátumát, hogy helyesen legyen szerkezetbe rendezve.

Ha a probléma továbbra is fennáll, engedélyezze az SMPP hibakeresést az ügyfélen vagy az SMS átjárón, hogy megvizsgálja a továbbított nyers PDU-kat.

More information