Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-7224

camel-smpp - fails to correctly send messages that require UCS-2 encoding

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.12.2
    • Fix Version/s: 2.13.4, 2.14.1, 2.15.0
    • Component/s: camel-smpp
    • Labels:
      None
    • Environment:

      any

    • Patch Info:
      Patch Available
    • Estimated Complexity:
      Unknown

      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

        Attachments

        1. determineCharset_fix.patch
          1 kB
          Daniel Pocock

          Activity

            People

            • Assignee:
              njiang Willem Jiang
              Reporter:
              daniel.pocock Daniel Pocock
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: