Hi Arne,

maybe changing dlr_add function would be better?

change dlr_add to check:
    /* check if delivery receipt requested */
    if (!DLR_IS_ENABLED_DEVICE(msg->sms.dlr_mask))
        return;

and then all smsc modules can just call dlr_add without a check?

Or can someone imagine that we want save dlr in store for DLR_SMSC_[SUCCESS|FAIL] ?

Thanks,
Alex

Am 25.02.2009 um 14:43 schrieb Arne K. Haaje:

message_id is set to NULL for DLR_SMSC_FAIL, so foreign id would not be set
then.

For success the patch ensures the foreign id is logged to access log and sent
to the dlr-url.

I used create_dlr_from_msg instead of dlr_add, as dlr_add would create a DLR
which would not be removed by receiving a final DLR.

We have been running with the patch on a couple high-volume connections for 6
days now, and I have noticed no issues.

Hi,

Only in the case of DLR_SMSC_SUCCESS, not in DLR_SMSC_FAIL. I would still prefer not to create DLRs all over the place but have a single dlr_add for
all.

Nevertheless this has nothing to do with your patch. +1.

BR,
Nikos
----- Original Message -----
From: "Arne K. Haaje" <[email protected]>
To: "Nikos Balkanas" <[email protected]>
Cc: <[email protected]>
Sent: Thursday, February 19, 2009 5:20 PM
Subject: Re: [PATCH] SMPP: With dlr-mask=24, foreign_id is not set

Yes,

bb_smscconn_sent(smpp->conn, msg, NULL) (just outside context in the
patch)
sends this using create_dlr_from_msg, so avoids creating a dlr with
dlr_add.

On Torsdag 19 februar 2009 16:11:47 Nikos Balkanas wrote:
Hi,

I am not sure I understand this. With dlr-mask=24 you are asking DLRs
only
for SMSC_SUCCESS or SMSC_FAIL. You are not asking DLRs for overall
success
or fail. To get even dlr-url called, you need to have a dlr. Yet for all other cases (0x07) code calls dlr_add but not for 0x18 (24). Are
you getting a DLR at all?

BR,
Nikos
----- Original Message -----
From: "Arne K. Haaje" <[email protected]>
To: <[email protected]>
Sent: Thursday, February 19, 2009 4:51 PM
Subject: [PATCH] SMPP: With dlr-mask=24, foreign_id is not set

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

--
--------------------------------
Arne K. Haaje | www.drx.no
T: 69 51 15 52 | M: 92 88 44 66
--------------------------------

--
--------------------------------
Arne K. Haaje   | www.drx.no
T: 69 51 15 52  | M: 92 88 44 66
--------------------------------



Reply via email to