If you have dlr-mask=24, to only receive ACK or NACK, then foreign_id is not set on the dlr-url for %F when receiving ACK from the operator.
This small patch should set it. Arne -- -------------------------------- Arne K. Haaje | www.drx.no T: 69 51 15 52 | M: 92 88 44 66 --------------------------------
--- smsc_smpp.c~ 2009-02-19 15:12:14.000000000 +0100 +++ smsc_smpp.c 2009-02-19 15:12:14.000000000 +0100 @@ -1533,6 +1533,9 @@ /* SMSC ACK.. now we have the message id. */ if (DLR_IS_ENABLED_DEVICE(msg->sms.dlr_mask)) dlr_add(smpp->conn->id, tmp, msg); + else if (DLR_IS_ENABLED_SMSC(msg->sms.dlr_mask)) { + msg->sms.foreign_id = octstr_duplicate(tmp); + } octstr_destroy(tmp); bb_smscconn_sent(smpp->conn, msg, NULL);