Re: Re[2]: Fwd: DLR sync issues with EMI

"Tom Sommer" <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Message-ID <[email protected]>
On Tue, November 28, 2006 10:29, Thomas Göttgens wrote:
> Tuesday, November 28, 2006, 8:47:06 AM, you wrote:
>
>
> TS> .. or any other storage for that matter - the only thing used to
> match in TS> internal (mem), mysql and pgsql is 'ts' and 'smsc'
>
>
> I'm seeing the same erratic behaviour here running a pool of 5
> symmetric UCP connections to a single SMSC. My problem is that DLR's often
> come down a different link than the original SMS was sent to, so i had to
> nake all SMSC's in the pool the same, in order for them to use a common
> storage.
>
> Now, with only checking smsc and ts, and a throughput of 5 sms/s per
> link, i often get false DLR reports and URL calls from kannel. Can this
> behaviour be modified to include at least the destination number or is
> there another solution to 'pool' connections like I require?

Attached is a simple patch I just made, it only works if your dlr storage
is set to "internal" (or nothing), but it pretty much solves all the
problems.

If you use a different storage method, you'd need to apply the same
functionality to that, depending on which storage.

// Tom Sommer
// http://www.tomsommer.dk
dlr_mem.c.patch (text/x-patch, 593 B)
--- org/gateway-1.4.1/gw/dlr_mem.c      2005-02-11 16:35:48.000000000 +0100
+++ gateway-1.4.1/gw/dlr_mem.c  2006-11-28 09:24:24.000000000 +0100
@@ -125,7 +125,7 @@
     /* XXX: check destination addr too, because e.g. for UCP is not enough to check only
      *          smsc and timestamp (timestamp is even without milliseconds)
      */
-    if(octstr_compare(dlr->smsc,smsc) == 0 && octstr_compare(dlr->timestamp,ts) == 0)
+    if(octstr_compare(dlr->smsc,smsc) == 0 && octstr_compare(dlr->timestamp,ts) == 0 && octstr_compare(dlr->destination,dst) == 0)
         return 0;

     return 1;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.