[
https://issues.apache.org/jira/browse/CAMEL-7224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Pocock updated CAMEL-7224:
---------------------------------
Description:
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
was:
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
Patch Info: Patch Available
Fix Version/s: (was: 2.14.0)
> camel-smpp - fails to correctly send messages that require UCS-2 encoding
> -------------------------------------------------------------------------
>
> Key: CAMEL-7224
> URL: https://issues.apache.org/jira/browse/CAMEL-7224
> Project: Camel
> Issue Type: Bug
> Components: camel-smpp
> Affects Versions: 2.12.2
> Environment: any
> Reporter: Daniel Pocock
> Assignee: Claus Ibsen
> Priority: Minor
> Attachments: determineCharset_fix.patch
>
>
> 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
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)