I would suggest against it. If you change the code, you are branching off,
and afterwards any updates may need manual merging. I suspect that you
didn't understand correctly your SMSc. Maybe he is just asking not to
request intermediates. Have you tried with dlr-mask = 31 and failed? Anyway,
any SMSc that doesn't support a particular type of DLR (I.e. buffered)
should simply ignore that type, not err all DLRs.

BTW userguide is absolutely correct on dlr-mask.

BR,
Nikos

On Tue, Sep 13, 2011 at 11:08 PM, Mario Noboa <[email protected]> wrote:

>
> Thanks guys! I figured that. I going to patch the code.
>
>
> That should be some like this?
>
>     /* ask for the delivery reports if needed */
>     if (DLR_IS_SUCCESS_OR_FAIL(msg->sms.dlr_mask))
>         pdu->u.submit_sm.registered_delivery = 1;
>     else if (DLR_IS_FAIL(msg->sms.dlr_mask) &&
> !DLR_IS_SUCCESS(msg->sms.dlr_mask))
>         pdu->u.submit_sm.registered_delivery = 2;
>     else if (DLR_IS_NOT_FINAL(msg->sms.dlr_mask) )
>         pdu->u.submit_sm.registered_delivery = 5;
>
>
> Regards,
>
>
> Mario
>
>
> 2011/9/13 Alejandro Guerrieri <[email protected]>
>
>> SMPP's registered_delivery and the dlr-mask parameters are not correlated
>> at all. Setting 5 in dlr-mask won't send a 5 to the carrier, but a 1.
>>
>> Keep in mind that Kannel's parameters are usually an abstraction on top of
>> many different protocols and not just an SMPP gateway alone.
>>
>> Also, dlr-mask handles different scenarios that are not directly related
>> to getting a deliver_sm DLR message (for example, a submit_sm_resp would
>> trigger a DLR on Kannel side).
>>
>> Right now, Kannel only supports value 1/2 (for final success and failure
>> respectively) and 17/18 (for intermediate dlr's support, it'd add 16 to the
>> parameter).
>>
>> There's no way to send a "5" without patching the code. If you want to do
>> it, you should start looking at gw/smsc/smsc_smpp.c around this lines:
>>
>>     /* ask for the delivery reports if needed */
>>     if (DLR_IS_SUCCESS_OR_FAIL(msg->sms.dlr_mask))
>>         pdu->u.submit_sm.registered_delivery = 1;
>>     else if (DLR_IS_FAIL(msg->sms.dlr_mask) &&
>> !DLR_IS_SUCCESS(msg->sms.dlr_mask))
>>         pdu->u.submit_sm.registered_delivery = 2;
>>
>>     if (DLR_IS_INTERMEDIATE(msg->sms.dlr_mask))
>>         pdu->u.submit_sm.registered_delivery += 16;
>>
>> Hope it helps,
>>
>> Alex
>>
>> On Tuesday, September 13, 2011, Nikos Balkanas wrote:
>>
>>> I don't think so. Either dlr-mask doesn't correspond to bits set
>>> directly, or bits requested are contradicting text description. For example
>>> dlr-mask = 5 reports delivery success and smsc buffered, but no delivery
>>> failure, which is requested. One could argue if SMSc buffered is asked or
>>> rather SMSc ACK (and I assume NACK). Obviously the latter. In either case,
>>> Mario can always try both values, and see what works.
>>>
>>> BR,
>>> Nikos
>>>
>>> On Tue, Sep 13, 2011 at 9:08 PM, Milan P. Stanic <[email protected]>wrote:
>>>
>>>> On Tue, 2011-09-13 at 20:45, Nikos Balkanas wrote:
>>>> > Sorry, for that dlr-mask should be 27...
>>>>
>>>> If the OP must set dlr-mask to binary 00101 that is 5 in decimal. So
>>>> your previous post was correct.
>>>>
>>>> > On Tue, Sep 13, 2011 at 8:41 PM, Nikos Balkanas <[email protected]>
>>>> wrote:
>>>> >
>>>> > > Hi,
>>>> > >
>>>> > > Have you tried setting dlr-mask to 5?
>>>> > >
>>>> > > BR,
>>>> > > Nikos
>>>> > >
>>>> > > On Tue, Sep 13, 2011 at 7:32 PM, Mario Noboa <[email protected]>
>>>> wrote:
>>>> > >
>>>> > >> hi list,
>>>> > >>
>>>> > >> I glad to write you. The operator ask me send the submit_sm with
>>>> > >> register_deliver parameter in this way:
>>>> > >>
>>>> > >> .... ..01 = Delivery receipt  : Delivery receipt requested (for
>>>> success or
>>>> > >> failure) (0x01)
>>>> > >> .... 01.. = Message type      : SME delivery acknowledgement
>>>> requested
>>>> > >> (0x01)
>>>> > >> ...0 .... = Intermediate notif: No intermediate notification
>>>> requested
>>>> > >> (0x00)
>>>> > >>
>>>> > >> Thats mean to this parameter must be 5 (hexa) equivalent 0000 0101.
>>>> > >>
>>>> > >> In my logs always register_deliver is in 1 (sendsms with dlr-mask
>>>> and
>>>> > >> dlr-url of course)
>>>> > >>
>>>> > >> there are any way to do it without modify the code?
>>>> > >>
>>>> > >> Thanks for your help!
>>>> > >>
>>>> > >> Mario
>>>> > >>
>>>> > >>
>>>> > >
>>>>
>>>> --
>>>> Kind regards,  Milan
>>>> --------------------------------------------------
>>>> Arvanta, IT Security        http://www.arvanta.net
>>>> Please do not send me e-mail containing HTML code.
>>>>
>>>>
>>>
>

Reply via email to