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&timestamp=%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&timestamp=%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&timestamp=%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. 





Reply via email to