Dear all,

My name is Andi and this is my first post here. I hope I'm doing this correctly.

I have a question about Kannel that I hope one of you can help me with. Basically, I'm not quite sure yet on the common practices on handling the delivery report (DLR) on Kannel.

I believe I've configured the mysql DLR external storage correctly by inserting the appropriate entries on the config file. When I push an SMS by using the http command (http://xxx.xxx.xxx.xxx:yyyyy/cgi-bin/sendsms?username=xxx&password=xxx&from=xxx&to=xxx&text=xxx&dlr-mask=31&dlr-url=xxx), I could see that a DLR entry is inserted into the database along with the timestamp, status, etc.

Based on what I've read on the documentation and discussion on the internet, I assume that when the SMSC has delivered the SMS successfully, Kannel will do an http request to the dlr-url that I supplied (for example: http://xx.xx.xx.xx/cgi/dlrHandling.php?smsc-id=%i&status=%d&answer=%A&to=%P&from=%p&ts=%t). Then on the script, I would have to write my own code to manually process the DLR individually and do other required tasks such as deleting the DLR entry and others.

My questions:
1. Is this the common practice on handling the DLR and confirming that the recipients have received the SMS? Am I doing this correctly by processing the DLR entry manually? Is there any other way (more efficient way) of doing this? 2. Why does the timestamp only consist of 2 digit number? Is my database definition wrong? (I used VARCHAR(40) as stated on the example) 3. Is using the timestamp and the "to" number is enough to uniquely identify which DLR that I want to process? Because what happens when there is a same phone number having the same timestamp? Is there a unique ID for each DLR that I should use instead of relying on the ts and the phone number?

I would appreciate any help or hints that any of you can give me.

Many thanks and best regards,

-Andi



Reply via email to