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