Hi Nikos,

I am totally confused with MySql DLR part. :-(

Please find the attached kannel configuration. if any mistake please tell me what is wrong.

what is the use of *dlr-storage = internal ?*
what is the use of *dlr**-storage = mysql ?*

I am using dlr-storage = mysql

I have created mysql table as below but when i push messages delivery report is not getting stored in the table.

CREATE TABLE* dlr* (
    *smsc* varchar(40),
   * ts* varchar(40),
    *destination* varchar(40),
    *source* varchar(40),
    *service* varchar(40),
    *url *varchar(255),
    *mask* int(10),
    *status* int(10),
    *boxc* varchar(40)
  )

for this

I added dlr configuration in kannel as below

#--- mysql connection

group = mysql-connection
id = mydlr
host = localhost
port = 3306
username = root
password = xxxxx
database = kannel
max-connections = 1

#---- DLR table structure

group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-source = source
field-service = service
field-url = url
field-mask = mask
field-status = status
field-boxc-id = boxc

**

*

Warm Regards,
Kiran Reddy

*


Nikos Balkanas wrote:
Hi,
DLRs are biding proof of receipt of an SMS. It is generated from the SIM of the destination phone and propagated throughout the chain to reach you. That's what you need to bill your customer. As Jovan mentioned, kannel can process DLRs in memory or using an external DB. This is just for internal processing by kannel and are deleted after SMS delivery or failure. External DB is slower, but preserves DLRs during a server crash, and are necessary if you load balance among various bearerboxes. DLRs are recorded permanenetly in access logs. Kannel gives the option of an additional HTTP API to store them permanently into an externally defined storage. That's what dlr-url does for you. Upon receipt of a DLR kannel will call the dlr-url if defined. Mind you it is your responsibility to provide the external webserver and database for the storage. You can define default dlr-url in group sendsms-user (read user guide). Or you can give it directly in the push URL (must be urlencoded). There are various types of DLRs you can request from the SMSc, i.e. SMS buffered, SMS accepted by SMSc, etc. dlr-mask specifies which of these reports you want. To get all use 63 - in latest CVS. You can give dlr-mask only in the push url of each message. You should read User's guide to learn about the different DLR types and how are defined in dlr-mask. Hope this helps, Happy New Year,
Nikos
    ----- Original Message -----
    *From:* naryam smith <mailto:naryam...@yahoo.com>
    *To:* users@kannel.org <mailto:users@kannel.org>
    *Sent:* Friday, January 01, 2010 12:48 AM
    *Subject:* Re: MySql Script for kannel for storing response from SMPP

    Hi

    I have the same problem as Kiran. I do not understand where to set
    the dlr-url and dlr-mask and what are the formats of these
    parameters. I could not understand from the documentation.

    Also, from Debian (without gnome/kde or similar how do I access a
    URL such as:
    >
    
http://192.168.1.93:13013/cgi-bin/sendsms?username=kiran&password=kiran&to=919036971573&text=This+is+testfor
    
<http://192.168.1.93:13013/cgi-bin/sendsms?username=kiran&password=kiran&to=919036971573&text=This+is+testfor>
    > priority and message response&dlr-mask=31&priority=3
    Where would you use such url?

    Thanks,

    Naryam

    --- On *Wed, 12/30/09, Jovan Kostovski /<chomb...@gmail.com>/* wrote:


        From: Jovan Kostovski <chomb...@gmail.com>
        Subject: Re: MySql Script for kannel for storing response from
        SMPP
        To: "kiran.re...@mpowerglobal.in" <kiran.re...@mpowerglobal.in>
        Cc: users@kannel.org
        Date: Wednesday, December 30, 2009, 10:35 AM

        On Wed, Dec 30, 2009 at 2:07 PM, kiran.re...@mpowerglobal.in
        </mc/compose?to=kiran.re...@mpowerglobal.in>
        <kiran.re...@mpowerglobal.in
        </mc/compose?to=kiran.re...@mpowerglobal.in>> wrote:
        > Hi Jovan,
        >
        > I created Mysql tables a below.And also can any one please
        check my kannel
        > configuration if any mistake is there please let me know
        what is wrong. I
        > want to test message priority and message response (dlr-mask).

        The dlr table is a temporary table used by Kannel to store dlr
        data
        for the message for which it hasn't received delivery status.
        If you want to check the DRL statuses, you should define
        dlr-url and
        dlr-mask for the messages that you are sending.

        >
        > Database name kannel:
        >
        >    CREATE TABLE dlr (
        >      smsc varchar(40),
        >      ts varchar(40),
        >      destination varchar(40),
        >      source varchar(40),
        >      service varchar(40),
        >      url varchar(255),
        >      mask int(10),
        >      status int(10),
        >      boxc varchar(40)
        >    )

        The correct configuration for the dlr table which you have
        created is:

        #---- DLR table structure
        group = dlr-db
        id = mydlr
        table = dlr
        field-smsc = smsc
        field-timestamp = ts
        field-destination = destination
        field-source = source
        field-service = service
        field-url = url
        field-mask = mask
        field-status = status
        field-boxc-id = boxc

        > Send SMS URL
        >
        >
        
http://192.168.1.93:13013/cgi-bin/sendsms?username=kiran&password=kiran&to=919036971573&text=This+is+testfor
        
<http://192.168.1.93:13013/cgi-bin/sendsms?username=kiran&password=kiran&to=919036971573&text=This+is+testfor>
        > priority and message response&dlr-mask=31&priority=3

        The dlr-url is missing in the request.
        This url is called when kannel receives the message status.
        Set the
        parameters of the dlr-url which you are interested in
        and set some messageid. Check the userguide for details ;)

        BR, Jovan


Database name kannel:

CREATE DATABASE kannel;
USE DATABASE kannel;
  CREATE TABLE dlr (
     smsc varchar(40),
     ts varchar(40),
     destination varchar(40),
     source varchar(40),
     service varchar(40),
     url varchar(255),
     mask int(10),
     status int(10),
     boxc varchar(40)
   )



My Kannel.conf

#------ Kannel Box Admin Conf

group = core
admin-port = 13000
smsbox-port = 13001
admin-password = xxxxx
dlr-storage = mysql
log-file = "/var/log/kannel/bearerbox.log"
store-file = "/var/log/kannel/kannel.store"
access-log = "/var/log/kannel/access.log"
log-level = 0

#--- mysql connection

group = mysql-connection
id = mydlr
host = localhost
port = 3306
username = root
password = xxxxx
database = kannel
max-connections = 1
 
#---- DLR table structure

group = dlr-db
id = mydlr
table = dlr
field-smsc = smsc
field-timestamp = ts
field-destination = destination
field-source = source
field-service = service
field-url = url
field-mask = mask
field-status = status
field-boxc-id = boxc

#---- This is connection to smpp simulater
#group = smsc
#smsc = smpp
#smsc-id = testsmsc
#host = <a href="http://test.host.com"; target="_blank">test.host.com</a>
#port = 2775
#receive-port = 2775
#smsc-username = 'smppclient'
#smsc-password = password
#system-type = 'VMA'
#service-type = 'test'
#interface-version = 34
#address-range = ''
#msg-id-type = 0

group = smsc
smsc = fake
smsc-id = test
port = 13005
allowed-prefix = 07
log-file = "/var/log/kannel/fake.log"
log-level = 0
#connect-allow-ip = 127.0.0.1

group = smsbox
bearerbox-host = localhost
sendsms-port = 13013
global-sender = xxxxx
mo-recode=true
log-file = "/var/log/kannel/smsbox.log"
log-level = 0
access-log = "/var/log/kannel/access.log"

group = sendsms-user
username = xxxxx
password = xxxxx
dlr-url = "http://someurl?";
default-smsc = test
concatenation= true
max-messages = 3
forced-smsc = "test"

# SMS SERVICE 'default'
group = sms-service
keyword = nop
text = "You asked nothing and I did it!"
catch-all = true # Catch all incoming messages
                 # regarding the keyword. If you
                 # define other services, remove
                 # this line.
# SMS SERVICE for receiving sms messages
# If you're about to implement service to receive sms messages.
# group = sms-service
# keyword = yourkeyword
# get-url = http://server.domain/moodle/receivesms.php?q=%k&sender=%p&message=%a



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

Reply via email to