Re: [PATCH] SMPP: With dlr-mask=24, foreign_id is not set
Alexander Malysh <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
Am 25.02.2009 um 17:33 schrieb Nikos Balkanas: > Hi Alex, > > I think that in such case it would be an extra function call and the > architecture would be less obvious. Pros: handling at one place in dlr_add and killing of if(dlr_enabled) in each smsc module + works for all modules without extra code Cons: function call (but how much costs a function call? ;) ) > > > Nikos > ----- Original Message ----- From: "Alexander Malysh" <[email protected] > > > To: "Arne K. Haaje" <[email protected]> > Cc: <[email protected]> > Sent: Wednesday, February 25, 2009 3:51 PM > Subject: Re: [PATCH] SMPP: With dlr-mask=24, foreign_id is not set > > >> 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 >>> -------------------------------- >>> >> >