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.