I will contact my SMSC but I need to know exactly which fields are really
being used by Kannel to return the DLR status?. Seems to me that Kannel is
using *optional fields* like "sub" and "dlvrd". If thats true, then isn't is
a bug?


Quoting Nokos


> 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
>
---------- Forwarded message ----------
From: Latitude Test <latitude...@googlemail.com>
Date: Mon, Oct 19, 2009 at 3:29 PM
Subject: Re: getting delivery report: delivery failure
To: Nikos Balkanas <n...@amdtelecom.net>
Cc: users <users@kannel.org>


Are you saying "dlvrd" and "sub" are mandatory for Kannel?


2009/10/19 Nikos Balkanas <n...@amdtelecom.net>

>  Yes, but it is required to be there. I am not making the spec.
>
> Nikos
>
> ----- Original Message -----
>  *From:* Latitude Test <latitude...@googlemail.com>
> *To:* users <users@kannel.org> ; Nikos Balkanas <nbalka...@gmail.com>
>  *Sent:* Monday, October 19, 2009 2:49 PM
> *Subject:* Fwd: getting delivery report: delivery failure
>
> Adding to it, I saw Kannel sending me correct DLRs with another SMSC and in
> the logs I saw the following:
>
> dlvrd:001
> sub:001
> Text:.
>
> The mendatory field Text does not contain any useful info here. How kannel
> knows the status of the message then? Seems it uses the optional fields
> which are "sub" and "dlvrd".
>
> Please confirm.
>
> Thanks.
> ---------- Forwarded message ----------
> From: Latitude Test <latitude.de@ <latitude...@googlemail.com>
> googlemail.com>
> Date: Mon, Oct 19, 2009 at 1:31 PM
> Subject: Re: getting delivery report: delivery failure
> To: users <users@kannel.org>, Nikos Balkanas <nbalka...@gmail.com>
>
>
>
> Thanks Nikos. But I do get "stat" field which contains some useful info.
> Also I felt that the format is vendor specific and the missing fields are
> not mandatory.
>
> Quote from
> http://www.nowsms.com/discus/messages/1/SMPP_v3_4_Issue1_2-24857.pdf:
>
> The informational content of an SMSC Delivery Receipt may be inserted into
> the
> short_message parameter of the deliver_sm operation. The format for this
> Delivery Receipt
> message is SMSC* vendor specific* but following is a typical example of
> Delivery Receipt report.
> “id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm done
> date:YYMMDDhhmm stat:DDDDDDD err:E Text: . . . . . . . . .”
>
> Regards.
>
> 2009/10/19 Nikos Balkanas <n...@amdtelecom.net>
>
>  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 <latitude...@googlemail.com>
>> *To:* users <users@kannel.org> ; Nikos Balkanas <nbalka...@gmail.com>
>> *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 <latitude...@googlemail.com>
>>> *To:* users <users@kannel.org>
>>>   *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 <latitude...@googlemail.com>
>>>> *To:* users <users@kannel.org>
>>>> *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