Hi Iain,
The internal dlr storage is called "internal" for a reason I dont know,
I assume the developers called it in such way because it keeps
the internal Kannel statuses of the message in the
internal Kannel queue, as SENT, FAILED, QUEUED.
It does not keep the statuses of the message received by Kannel from the SMSC.
Next, the value of dlr-mask,
from the manual:
Optional. Request for delivery reports with the state of the sent message. The
value is a bit mask composed of:
1: Delivered to phone,
2: Non-Delivered to Phone,
4: Queued on SMSC,
8: Delivered to SMSC,
16: Non-Delivered to SMSC.
example:
in case you want Kannel to request from the SMSC for all the above statuses,
you summarize them: dlr-mask=1+2+4+8+16=31
in case you want only Delivered to phone and Non-Delivered to Phone, you set
dlr-mask=1+2=3
so if you set dlr-mask=3, the dlr-url will be called by Kannel only when Kannel
received
the statuses of Delivered to phone and Non-Delivered to Phone from the smsc.
in case your dlr-mask is set to 31, Kannel will call the dlr-url when have them
from the SMSC.
Why Kannel uses the same escape codes for the dlr-url and the get-url ?
Its a question for the developers list i believe :)
But I assume because these escape code are used for the same values.
see the bellow log file from debug mode of the dlr.pgsql.php
the values of the status field are the same as the codes of the statuses uses
to compose the dlr-mask
--------------------------
0.73410400 1166793107
insert into delivery_status
(
msisdn,
shortcode,
answer,
out_ext_sid,
status,
status_date
)
values
(
359885543434,
'1914',
'ACK/',
'f2d3ec042416780cd85d8f2924800315',
8,
from_unix_timestamp(1166793107)
)
0.74020300 1166793107
--------------------------
--------------------------
0.73161000 1166793127
insert into delivery_status
(
msisdn,
shortcode,
answer,
out_ext_sid,
status,
status_date
)
values
(
359885543434,
'1914',
'id:0432301536 sub:001 dlvrd:001 submit date:0612221511 done
date:0612221512 stat:DELIVRD err:000 ',
'f2d3ec042416780cd85d8f2924800315',
1,
from_unix_timestamp(1166793127)
)
0.73698600 1166793127
--------------------------
Regards
seik
-----Original Message-----
From: Iain Dooley [EMAIL PROTECTED]
Sent: 08 Януари 2007 г.
To: seik
Subject:internal dlr storage
> hi seik,
>> In case you want to work with delivery reports,
>> there is no usage of dealing with the internal dlr storage.
> hmm what is internal then? it does'nt say this in the manual
>> Instead, when sending the message, set dlr-mask to something useful value as
>> 31,
>> and set dlr-url value to an accusable by Kannel URL:
> the description of the dlr-mask in the user guide totally perplexed me.
> why is 31 a useful value?
>> example:
>>
>> http://localhost/dlr.pgsql.php?smscID=%i&dlr=%d&answer=%A&to=%p&from=%P&ts=%T&smsID={$mesgid}&charset=%C&kannel_id=%I
>>
>> $mesgid would be the unique external application ID by which you would know
>> what the status of the sent message is.
> that's a great example thanks
>> Kannel will query the URL with the proper values according to the dlr-mask
>> value.
>> It ups to you to set the logic behind the dlr-url
> what do you mean by "according to the dlr-mask value"? how does the
> dlr-mask value affect what is passed to the dlr-url?
>> all the above is in the manual, as usual:
>>
>> http://www.kannel.org/download/kannel-userguide-snapshot/userguide.html
>>
>> Table 6-9. Parameters (Escape Codes)
>> Table 6-12. SendSMS-User Group Variables
>>
>> and especially that one:
>> Table 6-16. SMS Push (send-sms) CGI Variables
> okay, i had looked at all these sections although i glossed over the
> sms-service bit because at the moment i am not aiming to receive any
> messages. the fact that the dlr-url uses the same variables as the
> sms-service was lost on me.
> it would be good if there was an example (or link to one) in the user
> manual under the 'internal dlr storage' seition.
> i'm still baffled as to the meaning of dlr-mask
> cheers
> iain
>> in short, this is the most flexible way of monitoring your
> messages status,
>> as you may set the dlr-url per client account or whatever rule you may have.
>>
>>
>> Regards
>>
>> seik
>>
>>
>>
>> -----Original Message-----
>> From: Iain Dooley [EMAIL PROTECTED]
>> Sent: 07 Януари 2007 г.
>> To: seik
>> Subject:internal dlr storage
>>
>>> hi, i've written a couple of times about how to access internal dlr
>>> storage and there have been no responses. am i missing something very
>>> obviuous here? i can't find anything in the userguide or google which
>>> tells me how to access the delivery reports... is it not possible?
>>
>>> cheers
>>
>>> iain
>>
>>
>>
>>
>>
>>