Menu

ESM_CLASS bug

-]-[
2004-11-02
2013-05-21
  • -]-[

    -]-[ - 2004-11-02

    Hi

    Just discovered this obscure bug.  If you Try to set the esm_class of an outgoing message to include the UDH (bit 6 on, see smpp spec 4.7.12) you get a ESME_RINVESMCLASS error (67).  The error would have occured if you tried to turn on bit 7 too (or both)

    It turns out that the reason for this is that in smpp_base.hrl the deffinition of ESM_CLASS_DOMAIN had a slip of the keyboard in it :)  The max values were less than the min values!

    Here is the fixed deffinition

    -define(ESM_CLASS_DOMAIN,
            ?UNION([?RANGE_INTEGER(1, 2#00000000, 2#00000111),
                    ?RANGE_INTEGER(1, 2#00100000, 2#00100011),
                    ?RANGE_INTEGER(1, 2#00001000, 2#00001011),
                    ?RANGE_INTEGER(1, 2#00010000, 2#00010011),
                    ?RANGE_INTEGER(1, 2#00011000, 2#00011011),
                    ?RANGE_INTEGER(1, 2#01000000, 2#01000111),
                    ?RANGE_INTEGER(1, 2#01100000, 2#01100011),
                    ?RANGE_INTEGER(1, 2#01001000, 2#01001011),
                    ?RANGE_INTEGER(1, 2#01010000, 2#01010011),
                    ?RANGE_INTEGER(1, 2#01011000, 2#01011011),
                    ?RANGE_INTEGER(1, 2#10000000, 2#10000111),
                    ?RANGE_INTEGER(1, 2#10100000, 2#10100011),
                    ?RANGE_INTEGER(1, 2#10001000, 2#10001011),
                    ?RANGE_INTEGER(1, 2#10010000, 2#10010011),
                    ?RANGE_INTEGER(1, 2#11000000, 2#11000111),
                    ?RANGE_INTEGER(1, 2#11100000, 2#11100011),
                    ?RANGE_INTEGER(1, 2#11001000, 2#11001011),
                    ?RANGE_INTEGER(1, 2#11010000, 2#11010011)])).

    Without this it would be impossible to send binary content messages (like ring tones or WAP push)

     
    • Enrique Marcote Peńa

      Thank you very much for your report...and fix, of course ;-)

      smpp_base.hrl revision 1.12 contains the corrected definition you supplied.

      Until the next release, smpp_base.hrl revision 1.12 is available at the CVS:

      http://cvs.sourceforge.net/viewcvs.py/\*checkout*/oserl/oserl/include/smpp_base.hrl?rev=1.12

      Best,

      Quique

       

Log in to post a comment.