[PATCH] BUG on DLR parsing
Alejandro Guerrieri
aguerrieri at kannel.org
Thu Apr 30 15:20:17 CEST 2009
Ok, I definitely could do that, the only problem is how will I test
for it afterwards (not sure if my test binds work with that tlv).
I'll figure out something I guess ;)
Regards,
--
Alejandro Guerrieri
aguerrieri at kannel.org
On 30/04/2009, at 14:18, Alexander Malysh wrote:
> Hi,
>
> +1 for this patch :)
>
> As to the original patch, you should first check for
> network_error_code TLV before going to parse
> message payload. Only of it's not there you should parse payload. So
> in this form -1 for this patch.
>
> Thanks,
> Alex
>
> P.S. Please integrate both patches together.
>
> Am 30.04.2009 um 12:46 schrieb Alejandro Guerrieri:
>
>> Alex,
>>
>> What about something like this (in addition to my former patch):
>>
>> Index: gw/smsc/smsc_smpp.c
>> ===================================================================
>> --- gw/smsc/smsc_smpp.c (revision 29)
>> +++ gw/smsc/smsc_smpp.c (working copy)
>> @@ -1374,11 +1374,16 @@
>> * we found the delivery report in our storage, so recode the
>> * message structure.
>> * The DLR trigger URL is indicated by msg->sms.dlr_url.
>> - * Add the DLR error code as billing identifier.
>> + * Add the DLR error code to meta-data.
>> */
>> dlrmsg->sms.msgdata = octstr_duplicate(respstr);
>> dlrmsg->sms.sms_type = report_mo;
>> - dlrmsg->sms.binfo = octstr_duplicate(err);
>> + if (err != NULL) {
>> + if (dlrmsg->sms.meta_data == NULL) {
>> + dlrmsg->sms.meta_data = octstr_create("");
>> + }
>> + meta_data_set_value(dlrmsg->sms.meta_data, "smpp",
>> octstr_imm("dlr_err"), err, 1);
>> + }
>> } else {
>> error(0,"SMPP[%s]: got DLR but could not find message or was
>> not interested "
>> "in it id<%s> dst<%s>, type<%d>",
>>
>> Regards,
>> --
>> Alejandro Guerrieri
>> aguerrieri at kannel.org
>>
>>
>>
>> On 30/04/2009, at 9:30, Alexander Malysh wrote:
>>
>>> Hi,
>>>
>>> I don't like passing err in binfo field. IMO binfo should be used
>>> for billing identifier but not for smpp error code.
>>> I would prefer to see patch that drop err from binfo and make use
>>> of meta-data (group dlr?).
>>>
>>> Thanks,
>>> Alex
>>>
>>> Am 29.04.2009 um 18:10 schrieb Alejandro Guerrieri:
>>>
>>>> This patch fixes a bug when parsing DLR's:
>>>>
>>>> As the code is now, if a DLR having a receipted_message_id, the
>>>> DLR text is not parsed, so the "err" and "stat" fields are empty.
>>>>
>>>> In particular, the "err" code is being passed on the "binfo"
>>>> field, so this remained empty if a receipted_message_id is
>>>> present (because the sscanf code was not executed).
>>>>
>>>> Attached patch fixes that part, so the "err" parameter is present
>>>> on the binfo field on all cases.
>>>>
>>>> Regards,
>>>> --
>>>> Alejandro Guerrieri
>>>> aguerrieri at kannel.org
>>>>
>>>>
>>>> <kannel-smsc-dlr-err.patch>
>>>>
>>>
>>
>
More information about the devel
mailing list