[BUG] SMPP setting esm_class

Nisan Bloch <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
Hi

following bug in SMPP code in msg_to_pdu:

     /*
      * set the esm_class field
      * default is store and forward, plus udh and rpi if requested
      */
     pdu->u.submit_sm.esm_class = ESM_CLASS_STORE_AND_FORWARD_MODE;
     if (octstr_len(msg->sms.udhdata))
         pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class &
             ESM_CLASS_UDH_INDICATOR;
     if (msg->sms.rpi)
         pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class &
             ESM_CLASS_RPI;


surely this should be
......
         pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class |
             ESM_CLASS_UDH_INDICATOR;
.....
         pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class |
             ESM_CLASS_RPI;


Here is the patch:
--- ../cvs/gateway/gw/smsc/smsc_smpp.c  Thu Aug 15 21:02:40 2002
+++ ./smsc_smpp.c       Mon Aug 19 16:08:43 2002
@@ -335,10 +335,10 @@
       */
      pdu->u.submit_sm.esm_class = ESM_CLASS_STORE_AND_FORWARD_MODE;
      if (octstr_len(msg->sms.udhdata))
-        pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class &
+        pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class |
              ESM_CLASS_UDH_INDICATOR;
      if (msg->sms.rpi)
-        pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class &
+        pdu->u.submit_sm.esm_class = pdu->u.submit_sm.esm_class |
              ESM_CLASS_RPI;

      /*



Nisan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.