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