2010/1/1 kiran.re...@mpowerglobal.in <kiran.re...@mpowerglobal.in>
> I am totally confused with MySql DLR part. :-(

DLRs are used for tracking the status of the sent messages.

A proper http get request for sending sms and requesting dlr report would be:

http://localhost:13000/cgi-bin/sendsms?from=12334&to=3455&text=A%20message%20from%20me%20to%you&dlr-mask=3&dlr-url=http%3A%2F%2Flocalhost%2Fkannel%2Fdlr-handler.php%3Ftype%3D%25d%26msgid%3D1234

This means:
Send message from 12334 to 3455 with text "A message from me to you"
and when you receive one of the delivery statuses defined by the
dlr-mask (3 means successful delivery or failure) call the url defined
with dlr-url parameter
(http://localhost/kannel/dlr-hanlder.php?type=%d&msgid=1234 in this
case)

The message text and the dlr-url have to be url encoded.
In the dlr-url:
type=%d   -   delivery report value will be stored sent to the
requested dlr-url as  parameter type
msgid=1234   -  an ID of the message that is sent. This is generated
by the sender (the application which generates the http request)

This free parameter (you can call it whatever you like and its value
is alphanumeric) is sent with the delivery report.
To store delivery reports your application should generate the sendsms
request and write the msgid in a db table. When you receive the
delivery report the dlr-url script should find the proper message (by
its id which was sent in the sendsms request) and update it's status.

As me and Nikos alredy wrote, the DLR table mentioned in the user
guide is for kannel internal use, it is used to store delivery report
temporary data for the sent messages until the delivery report is
received. When the delivery report is received the record is deleted
from this table. If you want to  store the DLRs you should create
separate db/table.

> what is the use of dlr-storage = internal ?

this means that the temporary data for delivery reports is stored in
the bearerbox's memory space

> what is the use of dlr-storage = mysql ?

this means that the temporary data for the delivery report is stored
in mysql database.

> group = sendsms-user
> dlr-url = "http://someurl?";

> Send SMS URL

> http://192.168.1.93:13013/cgi-bin/sendsms?username=xxxxx&password=xxxxx&to=919xxxxxxxxxx&text=This
>  Txt message&dlr-mask=31&priority=3

If you are not sending the dlr-url in the sendsms request, you should
define the dlr-url parameter in the sendsms-user group to point to a
valid url. To be able to receive DLRs you mus define both drl-mask and
dlr-url.


BR, Jovan

Reply via email to