Hi, So you should be getting DLRs in all cases, even if indicating a failure. I imagine that the failed DLR is logged correctly as a failure in your dlr-url.
With respect to address-range, as explained in the documentation, it doesn't work right. You may want to open a ticket about it, and even talk to your smsc about not using it. The fact that it works with the simulator, but not with the real smsc, could be that it is rather poorly specified in the SMPP protocol and each SMSc implements it differently. If this is the case, kannel cannot do anything about it, it cannot implement it differently for each provider, and you should discuss it with your SMSc about either correcting it to spec, or removing it altogether. On the other hand if it is not implemented at all in kannel, from what I see in the source code, and the simulator just ignores it, whereas your SMSc demands it, it is a time for a ticket. A packet dump of what is send to the simulator with and without address-range should discriminate between those 2 cases. BR, Nikos ----- Original Message ----- From: Nguyen Hai Chau To: [email protected] Sent: Saturday, August 22, 2009 11:57 AM Subject: Re: Kannel address-range make trouble to dlr report? Hi Nikos, I set address-range to 1x00, for example and send SMS with sendsms: - If Sender is set to 1000 then I will not get DLR either from the real SMSC and the Selenium SMPP Sim - If Sender is set to 1x00 then I get successful DLR from simulated Selenium SMPP Sim, and I get failed DLR from the real SMSC saying "Invalid source address" (of course). Source address should be one of the 1000, 1100, 1200 etc. Here is the log item with the real SMSC: 2009-08-22 15:28:38 Receive DLR [SMSC:xxx] [SVC:SVVN] [ACT:] [BINF:] [FID:] [from:1x00] [to:......] [flags:-1:-1:-1:-1:16] [msg:30:NACK/10/Invalid Source Address] [udh:0:] and here is the log items with the Selenium: 2009-08-22 15:39:43 Receive DLR [SMSC:xxx] [SVC:SVVN] [ACT:] [BINF:000] [FID:37] [from:1x00] [to:....] [flags:-1:-1:-1:-1:1] [msg:114:id:37 sub:001 dlvrd:001 submit date:0908221545 done date:0908221545 stat:DELIVRD err:000 Text:Polling from 6x08: 2] [udh:0:] In my thoughts, failed comparison of 1x00 (address-range) and 1000 (sender) maybe the cause of no working DLR report. BR, Chau On 08/22/2009 02:48 PM, Nikos Balkanas wrote: Hi, According to the documentation, address_range is not working right. In the logs do you get dlrs from the smsc when using address-range? BR, Nikos ----- Original Message ----- From: Nguyen Hai Chau To: [email protected] Sent: Saturday, August 22, 2009 8:51 AM Subject: Kannel address-range make trouble to dlr report? Hi all, I am using Kannel 1.4.3 and testing SMPP connections, SMS delivery report etc with Selenium SMPP Sim (http://www.seleniumsoftware.com/). I use MySQL for DLR storage type. Please see my configuration below for reference. If I do not declare 'address-range' then DLR report of outgoing SMS from Kannel works well with dlr-mask set to 3 (1 +2 = delivery of the SMS to mobile is YES or NO). In this case, Kannel writes a record for each outgoing SMS in 'dlr' table. When the SMS is delivered, the record is deleted and my PHP script dlr.php is invoked. If I declare address-range = 1xxx, for example, then DLR report of outgoing SMS from Kannel does not work (dlr-mask is set to 3): Kannel writes a record for each outgoing SMS in the 'dlr' table; but when the SMS is delived, the record is NOT deleted and my PHP script 'dlr.php' is NOT invoked either. Today I am testing Kannel with a real SMSC. The SMSC requires declaration of address-range. Kannel delivery report is not working :( I also set dlr-mask to 3. Please help me making the delivery report works. Thanks a lot. Chau ------- ############################################### group = core admin-port = 25100 smsbox-port = 25101 admin-password = xyz status-password = abc store-type = mysql store-location = xxx.queue access-log-time = local dlr-storage = mysql log-level = 1 log-file = /home/chau/xxx/tmp/xxxbearer.log access-log = /home/chau/xxx/tmp/xxxbeareraccess.log ################################################ group = smsc smsc = smpp smsc-id = xx throughput = 40 host = 1.2.3.4 port = 3000 smsc-username = smppclient smsc-password = password address-range = 1x01 system-type = VMA transceiver-mode = true ################################################ group = smsbox bearerbox-host = 127.0.0.1 bearerbox-port = 25101 sendsms-port = 25102 sendsms-url = /sendsms sendota-url = /sendota sendsms-chars = "0123456789 +-" log-level = 1 log-file = /home/chau/xxx/tmp/xxxsms.log access-log = /home/chau/xxx/tmp/xxxsmsaccess.log ################################################ group = sendsms-user username = usr password = passwd name = USERNAME ################################################ group = sms-service keyword = news name = "Return 3 latest news headlines to users" get-url = "http://localhost/~chau/xxx/smsnews.php?smstext=%r&sender=%p&recipient=%P×tamp=%t&service=%k&bill=%b&msgid=%F&err=0" omit-empty = true max-messages = 0 ################################################ group = sms-service keyword = default text = "Wrong service" get-url = "http://localhost/~chau/xxx/logsms.php?smstext=%r&sender=%p&recipient=%P×tamp=%t&service=%k&bill=%b&msgid=%F&err=1" max-messages = 1 ######################################################################## group = mysql-connection id = mydlr host = localhost username = xxx password = yyy database = xxx # max count of connections that will be opened for dbpool # default is 1 max-connections = 1 ################################################ 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 An example of a URL for sending SMS in my system: http://localhost:25102/sendsms?username=usr&password=passwd&charset=UCS&coding=1&from=6008&to=84903405040&dlr-mask=3&dlr-url=http://localhost/~chau/xxx/dlr.php?sender=%p&recipient=%P×tamp=%t&dlr=%d&bill=%A&&msgid=%F&outgoid=10&text=Test+Send+SMS+with+DLR+report My dlr.php is just save parameters return from Kannel to a table in my MySQL database.
