I've observed some oddities sending messages to SMPP that require UCS-2
(16 bit / Unicode) encoding

To make it work, I have to explicitly set:
   alphabet=-1   in the endpoint config
   CamelSmppDataCoding=8   in the exchange headers

and leave other headers and config settings empty/default

Automatic detection of encoding doesn't seem to work, so I have to scan
each message myself and then make those settings when necessary on a
per-message basis.

Given alphabet=-1 in the endpoint config, I also have to explicitly set
CamelSmppAlphabet= ALPHA_DEFAULT for those messages that don't require
UCS-2 treatment

I made a quick review of the code and various things caught my eye:

- the header Exchange.CHARSET_NAME is never checked, it could be more
useful than the "encoding" param in the endpoint config perhaps?

- in SmppSmCommand:

    why does determineCharset() only return UCS2_ENCODING for
UNKNOWN_ALPHABET and not for ALPHA_UCS2?

    why does determineAlphabet() only use the charset configured in the
endpoint?  This seems like a good place to use Exchange.CHARSET_NAME


Reply via email to