On Mon, 2009-10-19 at 17:04, Alejandro Guerrieri wrote:
> There's not a "standarized" format... how could this be a bug?

Obviously, it _is_ bug if the format is not standardized and kannel
fails. If kannel parses non-standard text it should not fail in case the
text is not in the format it expects.

> Kannel relies on what's considered  "a typical example" and in fact it's
> being used by the vast majority of SMSC's out there (Believe me, I've
> connected with over 50 different SMSC's all over the world and never
> experienced an issue).

I didn't yet seen a different format than "a typical example" (except
one null terminated), too.

> If you need to deal with a different format and the SMSC can't/don't want to
> change their format, you'll need to patch kannel to use a different sscanf
> string (it's a simple patch if you know where to touch).

I can patch (and adapt source for my needs) but there are a lot of
people who can't do that. They will see that as bug.

> Regards,
> 
> Alejandro

<flame on> 
> PS: Please keep your views about the top/bottom posting for yourself.
> Posting off-topic and breaking the former email reading order is far more
> annoying than top-posting (which it seems to be the norm for a lot of people
> nowadays, either you like it or not).

You are wrong here. Top-posting in mailing list is always wrong.

<flame off>

> On Mon, Oct 19, 2009 at 4:48 PM, Milan P. Stanic <m...@arvanta.net> wrote:
> 
> > Hi,
> >
> > A: Because it messes up the order in which people normally read text.
> > Q: Why is top-posting such a bad thing?
> > A: Top-posting.
> > Q: What is the most annoying thing in e-mail?
> >
> > On Mon, 2009-10-19 at 16:29, Alejandro Guerrieri wrote:
> > > As you can confirm by reading the 3.4 spec (Appendix B), the format is
> > far
> > > from an established standard:
> > >
> > > *Delivery Receipt Format*
> > >
> > >
> > > SMPP provides for return of an SMSC delivery receipt via the *deliver_sm*
> > or
> > > *data_sm* PDU, which indicates the delivery status of the message.
> > >
> > > 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: . . . . . . . . .”*
> > >
> > > Kannel expects that format, a missing field will definitely confuse
> > sscanf.
> >
> > If the kannel relies on not standardized format then that _is_ the bug
> > in kannel.
> >
> > > Regards,
> > >
> > > Alejandro
> > >
> > > 2009/10/19 Nikos Balkanas <n...@amdtelecom.net>
> > >
> > > >  Hi,
> > > >
> > > > You seem to have the spec. Just read which fields are mandatory from
> > there.
> > > > Kannel requires mandatory fields. Kannel will use optional fields, if
> > they
> > > > exist, but it doesn't reuire them. Optional fields are: sub, dlvrd &
> > err.
> > > > Read 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 4:59 PM
> > > > *Subject:* Fwd: getting delivery report: delivery failure
> > > >
> > > > 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.
> > > >>>>>
> > > >>>>>
> > > >>>>
> > > >>>>
> > > >>>
> > > >>
> > > >>
> > > >
> > > >
> >
> > --
> > Kind regards,  Milan
> > --------------------------------------------------
> > Arvanta, IT Security        http://www.arvanta.net
> > phone: +38122478204,  +38163429022
> > Please do not send me e-mail containing HTML code.
> >
> >

-- 
Kind regards,  Milan
--------------------------------------------------
Arvanta, IT Security        http://www.arvanta.net
phone: +38122478204,  +38163429022
Please do not send me e-mail containing HTML code.

Reply via email to