If bearerbox sends a report_mo, then it should include a status (dlr type) as 
well.
Or am I wrong?

== Rene

-----Original Message-----
From: Victor Luchitz [mailto:vluch...@gmail.com] 
Sent: vrijdag 9 juli 2010 14:24
To: devel@kannel.org; Rene Kluwen
Subject: Re: smppbox code questions

Unfortunately there's currently no way to add a SMSC_SUCCESS or
SMSC_FAIL DLR in smppbox so I have/need to do that in bearerbox. But
oh, well, I'll just go with boxc_id as smsc-id and live with this
fact.

2010/7/9 Rene Kluwen <rene.klu...@chimit.nl>:
> But bearerbox inserts it's own dlr's. As does smppbox.
> So bearerbox will find their dlr's. And smppbox will do also.
>
> == Rene
>
> -----Original Message-----
> From: Victor Luchitz [mailto:vluch...@gmail.com]
> Sent: vrijdag 9 juli 2010 13:55
> To: Rene Kluwen
> Subject: Re: smppbox code questions
>
> Well, this is going against the logic in bearerbox. For example, if
> you pass a DLR via standard Kannel HTTP protocol, bearerbox will try
> to find a matching DLR using its own smsc-id, upon failing to do, it
> won't pass the DLR to smppbox either.
>
> 2010/7/9 Rene Kluwen <rene.klu...@chimit.nl>:
>> The first parameter (smsc_id) is to determine "who's" dlr it is to begin 
>> with. So in short: To which smsc it belongs.
>> Because smppbox does things the other way around, it passes the boxc_id 
>> variable. So if two boxes happen to have the same "ts" (which can in theory 
>> happen) the value is used to distinguish to which box_id it belongs.
>>
>> == Rene
>>
>> -----Original Message-----
>> From: Victor Luchitz [mailto:vluch...@gmail.com]
>> Sent: vrijdag 9 juli 2010 11:12
>> To: devel@kannel.org; Rene Kluwen
>> Subject: Re: smppbox code questions
>>
>> On a side note, why does smppbox use boxc_id as the first parameter
>> passed to dlr_add and dlr_find? Both functions take smsc_id as the
>> first argument and boxc_id value is obtained from the sms struct.
>>
>> 2010/7/8 Rene Kluwen <rene.klu...@chimit.nl>:
>>> Done.
>>> Current revision is 17.
>>>
>>> -----Original Message-----
>>> From: devel-boun...@kannel.org [mailto:devel-boun...@kannel.org] On Behalf 
>>> Of Victor Luchitz
>>> Sent: donderdag 8 juli 2010 15:06
>>> To: devel@kannel.org
>>> Subject: Re: smppbox code questions
>>>
>>> Yeah, you committed the proposed change to boxc->boxc_id in revision
>>> 15. What I'm asking about is the suggestion and patch I posted here:
>>> http://www.kannel.org/pipermail/devel/2010-July/003653.html
>>>
>>> 2010/7/8 Rene Kluwen <rene.klu...@chimit.nl>:
>>>> It's already in the code.
>>>> Current revision is 16.
>>>>
>>>> == Rene
>>>>
>>>> -----Original Message-----
>>>> From: devel-boun...@kannel.org [mailto:devel-boun...@kannel.org] On Behalf 
>>>> Of Victor Luchitz
>>>> Sent: donderdag 8 juli 2010 7:52
>>>> To: devel@kannel.org
>>>> Subject: Re: smppbox code questions
>>>>
>>>> Any hope this will be reviewed and committed?
>>>>
>>>> I'm also working on a patch that adds TLV support to smppbox but I'd
>>>> like to get this one included first.
>>>>
>>>> 2010/7/6 Victor Luchitz <vluch...@gmail.com>:
>>>>> Yup, it's working fine now. Noticed there's another memleak though:
>>>>>
>>>>> another octstr_destroy(msgid); call is needed right after the:
>>>>> /* we could not find a corresponding dlr; nothing to send */
>>>>> line.
>>>>>
>>>>> I'm also attaching another patch which allows transmission of custom
>>>>> error codes in DLR's in the same manner as the message text bit.
>>>>>
>>>>> 2010/7/6 Rene Kluwen <rene.klu...@chimit.nl>:
>>>>>> I have no way of testing this here. But since either way cannot harm I 
>>>>>> changed it.
>>>>>> Current smppbox revision is now 15.
>>>>>> Could you please check out and see if this fixes your problem?
>>>>>>
>>>>>> == Rene
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: devel-boun...@kannel.org [mailto:devel-boun...@kannel.org] On 
>>>>>> Behalf Of Victor Luchitz
>>>>>> Sent: dinsdag 6 juli 2010 14:53
>>>>>> To: devel@kannel.org
>>>>>> Subject: Re: smppbox code questions
>>>>>>
>>>>>> 1) I think this assumption is incorrect. I have the routing set up
>>>>>> this way in bearerbox:
>>>>>> group = smsbox-route
>>>>>> smsbox-id = vma
>>>>>> smsc-id = HTTP
>>>>>>
>>>>>> So all messages on the 'HTTP' smsc get routed to smppbox. However, the
>>>>>> custom HTTP protocol in the above layer does not use dlr_find to route
>>>>>> messages to a specific box for two reasons:
>>>>>>
>>>>>> a) wrong smsc-id is used in the query (bearerbox doesn't know that
>>>>>> smppbox overrides the smsc id with system-type) so dlr_find always
>>>>>> fails
>>>>>> b) dlr_find removes DLR from the table and then subsequently readds
>>>>>> it, which is rather stressful on the DB for no sane reason
>>>>>>
>>>>>> What it does instead is simply setting the sms_type to report_mo,
>>>>>> leaving box_id empty as in regular MO messages.
>>>>>>
>>>>>> 2010/7/6 Rene Kluwen <rene.klu...@chimit.nl>:
>>>>>>> To start with the last thing:
>>>>>>>
>>>>>>> 2) You are right. It should use the msgid's in the dlr_url from the dlr 
>>>>>>> instance. I changed it.
>>>>>>>
>>>>>>> About 1): We assume msg->boxc_id and box->boxc_id are the same in this 
>>>>>>> case. Otherwise the message wouldn't have ended up there.
>>>>>>>
>>>>>>> == Rene
>>>>>>>
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: devel-boun...@kannel.org [mailto:devel-boun...@kannel.org] On 
>>>>>>> Behalf Of Victor Luchitz
>>>>>>> Sent: maandag 5 juli 2010 20:36
>>>>>>> To: devel@kannel.org
>>>>>>> Subject: smppbox code questions
>>>>>>>
>>>>>>> Hello,
>>>>>>>
>>>>>>> I have a few questions for you regarding the handling of DLR's by
>>>>>>> smppbox, which might also turn out to be bugs.
>>>>>>>
>>>>>>> 1)
>>>>>>> In msg_to_pdu function there's a line which reads:
>>>>>>> dlr = dlr_find(msg->sms.boxc_id, msgid, msg->sms.receiver, dlrtype);
>>>>>>>
>>>>>>> I think it's incorrect because when a DLR is stored by smppbox in
>>>>>>> handle_pdu, the boxc_id it uses is that from smpp_logins file
>>>>>>> (system_type). That in turn may cause dlr_find to always fail. So in
>>>>>>> my opinion the correct dlr_find call is this:
>>>>>>> dlr = dlr_find(box->boxc_id, msgid, msg->sms.receiver, dlrtype);
>>>>>>>
>>>>>>> 2) another thing I find not quite correct is the way smppbox splits
>>>>>>> message ids for concatenated DLR's. Basically, what smppbox does is
>>>>>>> this:
>>>>>>>
>>>>>>> parts = octstr_split(msg->sms.dlr_url, octstr_imm(";"));
>>>>>>> msgid = gwlist_extract_first(parts);
>>>>>>> ...
>>>>>>> Then it loops through all elements of the 'parts' list and here is
>>>>>>> where the potential problem lies. smppbox assumes that msgid for the
>>>>>>> concatenated DLR is always equal to dlr_url which is not always true.
>>>>>>> In fact, I think it's never true for concatenated DLR's stored by the
>>>>>>> dlr_add call in handle_pdu. Also, for example, the 'msgid' and
>>>>>>> 'dlrurls' columns in the storage table can have different maxiumum
>>>>>>> lengths, allowing truncation of the msgid. Here's my proposed fix -
>>>>>>> add the following bit of code to msg_to_pdu:
>>>>>>>
>>>>>>> gwlist_destroy(parts, octstr_destroy_item);
>>>>>>> parts = octstr_split(dlr->sms.dlr_url, octstr_imm(";"));
>>>>>>> gwlist_extract_first(parts);
>>>>>>>
>>>>>>> right above the following bit:
>>>>>>> if (gwlist_len(parts) > 0) {
>>>>>>>    while ((msgid2 = gwlist_extract_first(parts)) != NULL) {
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>>  Victor Luchitz
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Best regards,
>>>>>>  Victor Luchitz
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Best regards,
>>>>>  Victor Luchitz
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>>  Victor Luchitz
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Best regards,
>>>  Victor Luchitz
>>>
>>>
>>>
>>>
>>
>>
>>
>> --
>> Best regards,
>>  Victor Luchitz
>>
>>
>>
>>
>
>
>
> --
> Best regards,
>  Victor Luchitz
>
>
>
>



-- 
Best regards,
 Victor Luchitz




Reply via email to