Hi,

It seems that your SMSc is sending out the wrong DLR format. According to SMPP 
3.4 specs:

“id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done

date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . .”

Several optional fields (sub, dlvrd, err) are missing, but also a required 
field: "Text". Without it kannel cannot understand the DLR.

Contact your SMSc about it. They should comply to the SMPP spec.



BR,

Nikos


----- Original Message ----- 
  From: Latitude Test 
  To: users ; Nikos Balkanas 
  Sent: Monday, October 19, 2009 12:26 PM
  Subject: Re: getting delivery report: delivery failure


  Apologies for not sending the complete PDU before. Kindly review the complete 
PDU and guide.

  Thanks.

  ...
  [7] DEBUG: SMPP[abc1]: Got PDU:
  [7] DEBUG: SMPP PDU 8174bc0 dump:
  [7] DEBUG:   type_name: enquire_link_resp
  [7] DEBUG:   command_id: 2147483669 = 0x80000015
  [7] DEBUG:   command_status: 0 = 0x00000000
  [7] DEBUG:   sequence_number: 201551 = 0x0003134f
  [7] DEBUG: SMPP PDU dump ends.
  [11] DEBUG: SMPP[abc3]: Sending enquire link:
  [11] DEBUG: SMPP PDU 8174bc0 dump:
  [11] DEBUG:   type_name: enquire_link
  [11] DEBUG:   command_id: 21 = 0x00000015
  [11] DEBUG:   command_status: 0 = 0x00000000
  [11] DEBUG:   sequence_number: 201628 = 0x0003139c
  [11] DEBUG: SMPP PDU dump ends.
  [11] DEBUG: SMPP[abc3]: Got PDU:
  [11] DEBUG: SMPP PDU 8174bc0 dump:
  [11] DEBUG:   type_name: enquire_link_resp
  [11] DEBUG:   command_id: 2147483669 = 0x80000015
  [11] DEBUG:   command_status: 0 = 0x00000000
  [11] DEBUG:   sequence_number: 201628 = 0x0003139c
  [11] DEBUG: SMPP PDU dump ends.
  [11] DEBUG: SMPP[abc3]: Got PDU:
  [11] DEBUG: SMPP PDU 8174bc0 dump:
  [11] DEBUG:   type_name: deliver_sm
  [11] DEBUG:   command_id: 5 = 0x00000005
  [11] DEBUG:   command_status: 0 = 0x00000000
  [11] DEBUG:   sequence_number: 2453831019 = 0x92427d6b
  [11] DEBUG:   service_type: NULL
  [11] DEBUG:   source_addr_ton: 1 = 0x00000001
  [11] DEBUG:   source_addr_npi: 1 = 0x00000001
  [11] DEBUG:   source_addr: "989352034309"
  [11] DEBUG:   dest_addr_ton: 0 = 0x00000000
  [11] DEBUG:   dest_addr_npi: 1 = 0x00000001
  [11] DEBUG:   destination_addr: "8601001"
  [11] DEBUG:   esm_class: 4 = 0x00000004
  [11] DEBUG:   protocol_id: 0 = 0x00000000
  [11] DEBUG:   priority_flag: 0 = 0x00000000
  [11] DEBUG:   schedule_delivery_time: NULL
  [11] DEBUG:   validity_period: NULL
  [11] DEBUG:   registered_delivery: 0 = 0x00000000
  [11] DEBUG:   replace_if_present_flag: 0 = 0x00000000
  [11] DEBUG:   data_coding: 0 = 0x00000000
  [11] DEBUG:   sm_default_msg_id: 0 = 0x00000000
  [11] DEBUG:   sm_length: 70 = 0x00000046
  [11] DEBUG:   short_message:
  [11] DEBUG:    Octet string at 8129850:
  [11] DEBUG:      len:  70
  [11] DEBUG:      size: 71
  [11] DEBUG:      immutable: 0
  [11] DEBUG:      data: 69 64 3a 32 34 35 31 37 33 33 31 33 34 20 73 75   
id:2451733134 su
  [11] DEBUG:      data: 62 6d 69 74 20 64 61 74 65 3a 30 39 31 30 31 33   bmit 
date:091013
  [11] DEBUG:      data: 30 37 30 34 20 64 6f 6e 65 20 64 61 74 65 3a 30   0704 
done date:0
  [11] DEBUG:      data: 39 31 30 31 33 30 39 35 31 20 73 74 61 74 3a 44   
910130951 stat:D
  [11] DEBUG:      data: 45 4c 49 56 52 44                                 
ELIVRD
  [11] DEBUG:    Octet string dump ends.
  [11] DEBUG: SMPP PDU dump ends.
  [11] DEBUG: SMPP[abc3] handle_pdu, got DLR
  [11] DEBUG: SMPP[abc3]: Couldnot parse DLR string sscanf way,fallback to old 
way. Please report!
  [11] DEBUG: DLR[internal]: Looking for DLR smsc=abc3, ts=2451733134, 
dst=491733114042, type=2
  [11] DEBUG: DLR[internal]: created DLR message for URL 
<http://192.xxx.xxx.xxx:80/DServlet?dlrStatus=%d&dlrData=%A>
  [11] DEBUG: SMPP[abc3]: Sending PDU:
  [11] DEBUG: SMPP PDU 81772b8 dump:
  [11] DEBUG:   type_name: deliver_sm_resp
  [11] DEBUG:   command_id: 2147483653 = 0x80000005
  [11] DEBUG:   command_status: 0 = 0x00000000
  [11] DEBUG:   sequence_number: 2453831019 = 0x92427d6b
  [11] DEBUG:   message_id: NULL
  [11] DEBUG: SMPP PDU dump ends.
  ...


  2009/10/16 Nikos Balkanas <nbalka...@gmail.com>

    Hmm. Interesting. I misspelled "DLR" to "DKR" and I think this caused the 
problem. When asking for detailed DLR excerpt from bb logs, I didn't have half 
a PDU in mind! Are you trying to save lines on copy and paste? Please resubmit 
the whole PDU entry from bb logs. 

    Nikos
      ----- Original Message ----- 
      From: Latitude Test 
      To: users 
      Sent: Friday, October 16, 2009 11:21 AM
      Subject: getting delivery report: delivery failure






      This is what I see in the log:

      DEBUG: data: 69 64 3a 32 34 35 31 37 33 33 31 33 34 20 73 75 
id:2451733134 su
      DEBUG: data: 62 6d 69 74 20 64 61 74 65 3a 30 39 31 30 31 33 bmit 
date:091013
      DEBUG: data: 30 37 30 34 20 64 6f 6e 65 20 64 61 74 65 3a 30 0704 done 
date:0
      DEBUG: data: 39 31 30 31 33 30 39 35 31 20 73 74 61 74 3a 44 910130951 
stat:D
      DEBUG: data: 45 4c 49 56 52 44 ELIVRD
      DEBUG: Octet string dump ends.
      DEBUG: SMPP PDU dump ends.
      DEBUG: SMPP[abc3] handle_pdu, got DLR
      DEBUG: SMPP[abc3]: Couldnot parse DLR string sscanf way,fallback to old 
way. Please report!
      DEBUG: DLR[internal]: Looking for DLR smsc=abc3, ts=2451733134, 
dst=491733114042, type=2
      DEBUG: DLR[internal]: created DLR message for URL 
<http://192.xxx.xxx.xxx:80/DServlet?dlrStatus=%d&dlrData=%A> 



      2009/10/13 Nikos Balkanas <nbalka...@gmail.com> 


        Hi,

        Please post detailed bb logs with the respond_sm PDU from your SMSc. I 
suspect that your SMSc is sending the wrong DKR.

        BR,
        Nikos
          ----- Original Message ----- 
          From: Latitude Test 
          To: users 
          Sent: Tuesday, October 13, 2009 2:15 PM
          Subject: getting delivery report: delivery failure


          Hi all,

          My kannel is configured to send me delivery reports for the SMS 
messages:

          ?dlrStatus=%d&dlrData=%A&dlr-mask=7

          From Kannel docs:
                1: delivery success
                2: delivery failure
                4: message buffered
                8: smsc submit
                16: smsc reject
                
          I was getting the correct response codes from Kannel but as soon as I 
switched to another SMSC (SMPP), I am always getting status 2 (failure)
          ?dlrStatus=2... even though the message gets delivered to the device. 

          What could be the problem here? How Kannel maps the return codes from 
SMSC to the standard codes?

          Thanks a lot.






Reply via email to