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!
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)
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