-
Type:
Bug
-
Status: Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 2.12.2
-
Component/s: camel-smpp
-
Labels:None
-
Environment:
any
-
Patch Info:Patch Available
-
Estimated Complexity:Unknown
If I try to send a string without any config options or headers to indicate alphabet/data coding/encoding, it appears to be sent using an 8 bit character set even if a 16 bit UCS-2 encoding is required.
If I try to set CamelSmppAlphabet=-1 (for unknown) as a header, an invalid message is sent to the SMPP peer and it is rejected with SMPP error code 00000401
If I try to set alphabet=-1 in the endpoint config though and if I also set CamelSmppDataCoding=8 then it correctly sends a UCS-2 message.
Looking at the code (particularly the method SmppSmCommand.determineCharset()), it seems that it can ONLY send UCS-2 if alphabet == UNKNOWN_ALPHABET. Using the value UNKNOWN_ALPHABET (-1) as a header triggers the problem with the SMPP peer so I can only set that value in the endpoint config. This determineCharset() method should also recognise alphabet == ALPHA_UCS2