Hi Byron,
Unfortunately the patches you submit are not in the correct format to be
accepted by kannel. For more info check the site.
Besides, a patch to address the same exact issue has been submitted for
the
case of EMI/UUCP and waits final correction and approval. It could easily
cover CIMD2 as well. Besides, it is wrong to select based on the whole
destination number, since it is mangled by a lot of SMScs.
You are correct that the Oracle driver is currently different and not
aligned with the rest. However, it is still not correct, since it matches
the whole destination number in the query, which is error-prone and
misses
DLRs. This is also addressed in the submitted patch. Patch won't correct
the case that you have a lot of SMS sent to the same receipienet through
the same SMSc at the same second. This requires another fix outside DLR
code.
Indeed SMPP has solved this problem by requiring a unique id in their
spec.
Can you verify whether this happens with all CIMD2 SMScs, or just some of
them?
Since I am ready to submit final patch corrections, your timely answer
would be needed to include CIMD2 support in the patch.
BR,
Nikos
----- Original Message -----
From: "Byron Kiourtzoglou" <[email protected]>
To: <[email protected]>
Cc: <[email protected]>; <[email protected]>;
<[email protected]>;
<[email protected]>
Sent: Tuesday, July 13, 2010 12:21 PM
Subject: Lost DLRs
> Hello all,
>
> We had the same problem with unhandled DLRs in one of our
> installations,
> see
> Thread : http://www.mail-archive.com/[email protected]/msg20441.html
> (the
> second issue)
>
> We use the latest stable version of Kannel (1.4.3) and the CIMD2
> protocol
> to
> communicate with the SMSC.
>
> After investigating the code we figured out that for all MT SMS with
> dlr-url
> specified, Kannel uses the SMSC id and the send time (timestamp in
> seconds
> precision) of the original MT SMS to correlate incoming DLRs with the
> provided dlr-url for callback. Thus If you send more than one MT SMS
> from
> the
> same SMSC within the same second Kannel wont be able to distinguish
> between
> the available dlr-urls to invoke, upon DLR retrieval. What we
> experienced
> is
> wrong drl-url callback and even no drl-url callback at all.
>
> The interesting thing is that the aforementioned behavior is not
> applied
> when
> using Oracle DB for storing DLRs, due to the fact that correlation is
> performed based on the triplet : SMSC id - timestamp - MT SMS receiver
> address (well to be absolutely honest we must state than even for this
> case
> if you send more than one MT SMS to the same recipient within the same
> second
> and from the same SMSC then the problem will still exist).
>
> Furthermore this behavior is not applied when using the SMPP protocol
> because
> the correlation between the MT SMS and the DLR is done based on the
> SMSC
> id
> and a unique number (auto increment number for every MT SMS send).
>
> To correct the problem we have altered all classes that handle DLRs by
> adding
> the MT SMS recipient address to the correlation algorithm. Thus only if
> you
> send more than one SMS to the same recipient within the same second and
> from
> the same SMSC, using the CIMD2 protocol you should experience dlr-url
> callback issues.
>
> We attach all altered files
>
>
> BRs
>
> --
> Byron I. Kiourtzoglou
>
> Electrical & Computer Engineer
> Msc Business Administration
>
> Senior Software Engineer
> Business Support Systems Department, Engineering Unit
>
> INTRACOM TELECOM
> 19.7 km Markopoulou Ave.
> 19002 Peania, Athens, Greece