Hi,

This is a known issue with DLRs. Ts is supposed to be a unique "foreign-id", 
not a timestamp, at least with SMPP. Some time ago a patch was provided to 
include also destination number into DLR matching. However, that clashed with 
existing SMScs, which do not report destination numbers in their DLRs, so i 
guess never made it to CVS.

Maybe this patch needs to be configurable in each SMSc.

BR,
Nikos
  ----- Original Message ----- 
  From: Luis Tiago Rico 
  To: [email protected] 
  Sent: Tuesday, May 04, 2010 9:19 PM
  Subject: EMI DLR uniqueness, smsc-id/timestamp problem


  Hi to all,


  I'm using Kannel 1.4.3 and I'm having this problem with some 
switched/mismatch delivery reports! It happens when I send several MT to the 
same SMSC at the same time, using a EMI connection...


  Well, from what I got, when a DLR arrives, Kannel only takes in account the 
SMSC ID and the Timestamp. This causes a loose of uniqueness, since only 
timestamp and smsc-id are used as unique id (no destination number). 


  2010-05-04 16:54:26 [18405] [12] DEBUG: EMI2[68959-TMN]: emi2 parsing packet: 
<^B02/00368/O/53/68959/962834401/////////////040510165418/1/107/040510165422/3//4120737561206D656E736167656D206461732031363A35343A31382064652031302D30352D3034207061726120303033353139363238333434303120666F69206775617264616461206E6F2043656E74726F206465204D656E736167656E7320646120544D4E2E204D6F7469766F3A2054656C656D6F76656C206465736C696761646F20282020323729/////////////46^C>
  2010-05-04 16:54:26 [18405] [12] DEBUG: DLR[pgsql]: Looking for DLR 
smsc=68959-TMN, ts=040510165418, dst=962834401, type=4
  2010-05-04 16:54:26 [18405] [12] DEBUG: sql: SELECT mask, service, url, 
source, destination, boxc FROM dlr WHERE smsc='68959-TMN' AND ts='040510165418' 
LIMIT 1;


  So, if two or more messages have the same timestamp, it's not guaranteed that 
the arrived DLR's are matched against the correct DLR entry on database (and 
then the problem spreads, as the dlr_url are wrong, etc, etc). 


  Correct me if I'm wrong but from my research on the mailing list I found this 
problem was a old known one and there is/was a patch for it (adding the 
destination number to the queries)! As I was reading a bit more on the mailing 
list, I found that the problem was solved in the "after releases"... Well it 
was a bit wired because in my log files the query only takes in account the 
mentioned parameters... Reading a bit more I found that for some reason the 
patch was not included in the latest release (see 
http://www.mail-archive.com/[email protected]/msg19454.html)!


  Sincerely I got a bit confused here with these patches included/not included 
in the releases.... 


  So my questions are:
  Is this patch the way to solve the problem or there is something that I'm 
missing here?
  Why this patch was not included/forgotten in the latest kannel release 
(1.4.3)?
  Where can I find this patch and how to install it (just copy files / compile 
kannel) ?


  Many thanks in advance,
  Luis Rico

Reply via email to