You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2014/11/07 04:14:34 UTC

[jira] [Resolved] (CAMEL-7224) camel-smpp - fails to correctly send messages that require UCS-2 encoding

     [ https://issues.apache.org/jira/browse/CAMEL-7224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Willem Jiang resolved CAMEL-7224.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 2.13.4
                   2.15.0
                   2.14.1

Applied the patch into camel master, camel-2.14.x and camel-2.13.x with thanks to Daniel.

> 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: Willem Jiang
>            Priority: Minor
>             Fix For: 2.14.1, 2.15.0, 2.13.4
>
>         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)