This question raised too many times here..

Here are couple of ways to resolve what you need:

1. Set up trigger (as Rene already suggested) to update tables you need or
update records in sent_sms based on the information coming from the DLR
from your upstream SMSC operators.

2. Modify sent_sms table, add status column and modify sqlbox code to
UPDATE MT records right after DLR comes to the kannel setting the status
from dlr_mask. I'd also suggest auto-generating dlr_url based on the
current time so you would match correct entry.

3. You can use sqlbox with smsbox and set up a dlr_url hook to the external
script.

Currently sqlbox gets 1 record per query from send_sms (check
gw/sqlbox_mysql.h there is a LIMIT 0,1). You can use patch by Alejandro
Guerrierri which provides sqlbox an ability to get multiple records per
once, the only problem it deletes from the database so if kannel/machine
crashes you'd lose queue inside the kannel.

Here is a link to the patch -
http://www.kannel.org/pipermail/devel/2008-February/001597.html


2013/7/18 Rene Kluwen <rene.klu...@chimit.nl>

> (sorry, forgot to copy the list)****
>
> ** **
>
> The way you are using dlr’s and matching is, usually is the correct way.**
> **
>
> You should profile your application if the load gets too high. If it is a
> database issue, maybe an index on dlr_url will help.****
>
> ** **
>
> Alternativly you can use a MySQL trigger. See
> http://dev.mysql.com/doc/refman/5.0/en/triggers.html****
>
> ** **
>
> == Rene****
>
> ** **
>
> ** **
>
> *From:* users [mailto:users-boun...@kannel.org <users-boun...@kannel.org>]
> *On Behalf Of *Alok Srivastava
> *Sent:* donderdag 18 juli 2013 6:23
> *To:* users@kannel.org
> *Subject:* For tracking delivery report****
>
> ** **
>
> DEar****
>
> Please help me, i am making an application on kannel and using only
> bearerbox and sqlbox. problem is that when i submit message in send_sms
> table, my application has a trackid for every message, which i have to use
> for collecting delivery report from sent_sms table but i have no option to
> insert the record in send_sms table with this trackid and collecting
> delivery report on the basis of this trackid from sent_sms table. Is there
> any other way to do this. presently i am inserting a trackid variable in
> dlr_url field of the send_sms table. but when i get this in sent_sms table
> it is encoded. and when i collect deliery report from sent_sms table, first
> it decodes dlr_url and fetch trackid field then match it , it is taking too
> much time and increasing load of the server too much.****
>
> Is there any other way to do it or can i hit any API to update my database
> when delivery report updated in sent_sms table.****
>
> Please help, thanks.****
>
> abhi****
>

Reply via email to