ESME_RINVMSGLEN u SMPP-u
Što je ESME_RINVMSGLEN?
ESME_RINVMSGLEN (Šifra greške: 0x00000004) je SMPP greška koja označava nevažeću duljinu poruke u SMPP zahtjevu.
Mogući uzroci
- Duljina poruke premašuje dopušteni limit (obično 254 ili 160 znakova za određene kodiranja).
- Duljina poruke je nula (prazna poruka).
- Netočno kodiranje koje uzrokuje neočekivanu kalkulaciju duljine.
- Oštećeni ili neispravno oblikovani PDU (Protocol Data Unit) koji se šalje.
- Netočno spajanje dugih poruka (problemi s podjelom).
Kada se događa?
Ova greška se javlja prilikom slanja SMPP PDU-a (npr. submit_sm
, data_sm
) gdje parametar duljine poruke ne odgovara očekivanim ograničenjima duljine postavljenim od strane SMSC-a.
Primjer SMPP PDU transakcije
Sljedeći primjer prikazuje netočan submit_sm
PDU koji može izazvati grešku ESME_RINVMSGLEN
:
0000003C 00000004 00000000 00000001 74657374 000101 35363137 38363530 30303000 0000 0000 0000 00000000 00000000 00
Problem: Polje duljine poruke postavljeno je na nulu, što rezultira greškom nevažeće duljine poruke.
Još jedan netočan PDU gdje poruka premašuje dopuštenu duljinu:
00000100 00000004 00000000 00000002 74657374 000101 35363137 38363530 30303000 0000 0000 0000 00000000 00000100 (Predugo)
Kako to riješiti?
- Osigurajte da je duljina poruke unutar dopuštenih granica (provjerite ograničenja SMSC-a).
- Provjerite kodiranje (npr. UCS2 poruke koriste 2 bajta po znaku).
- Osigurajte pravilno spajanje dugih poruka koristeći
sar_msg_ref_num
,sar_total_segments
, itd. - Provjerite postoje li prazne poruke prije slanja.
- Provjerite format PDU-a kako biste osigurali da je ispravno strukturiran.
Ako problem i dalje postoji, omogućite SMPP debugiranje na vašem klijentu ili SMS pristupniku kako biste pregledali sirove PDU-e koji se šalju.