This is a known problem to Kannel.

Kannel, using EMI connection, cannot guarantee DLR matching of messages sent at 
the same timestamp.

 

Why? 

Because it does not compare the MSISDN! It only queries DLR ‘database’, with 
the timestamp (even that is not in milliseconds) and SMSC.

I think there is a patch for this problem (don’t know where). Or if you manage, 
you can change the Kannel source code, and add the MSISDN to the database 
query…. Some of these days I will have to do it for myself.

 

And why this haven’t been included in the last release? 

Because this does not work for all SMSC. Not all of them send back the MSISDN…

 

Hope my explanation was correct!

 

Best Regards,

Tiago Rico

 

From: [email protected] [mailto:[email protected]] On Behalf Of 
Konstantin Vayner
Sent: segunda-feira, 14 de Junho de 2010 09:04
To: Kannel Users
Subject: DLR matches wrong message

 

Hi everyone,

 

I'm using emi/ucp smsc under kannel 1.4.3. Here's smsc group configuration 
(sensitive information masked):

 

group = smsc 

smsc = emi

smsc-id = ucp_smsc

log-file = "/var/log/kannel/ucp_smsc.log"

log-level = 0

host = 1.2.3.4

port = 1234

smsc-username = "678"

smsc-password = XYZPWZYX

keepalive = 50

idle-timeout = 60

source-addr-autodetect = yes

allowed-smsc-id = ucp_smsc

flow-control = 1

throughput = 8

 

The problem is: messages sent on same timestamp mix up in DLRs even though they 
are sent to different destinations. E.g. sending to X and Y at the same time 
makes kannel send both DLRs to a dlr-url supplied for X.

 

Here's the log:

 

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 parsing packet: < 
04/00043/R/51/A//0541234567:130610111626/43 >

2010-06-13 11:15:33 [8444] [16] DEBUG: DLR[internal]: Adding DLR smsc=ucp_smsc, 
ts=130610111626, src=031111111, dst=0541234567, mask=31, boxc=

2010-06-13 11:15:33 [8444] [16] DEBUG: SMSC[ucp_smsc]: creating DLR message

2010-06-13 11:15:33 [8444] [16] DEBUG: SMSC[ucp_smsc]: DLR = 
http://127.0.0.1/imsc/interfaces/kannel_http/dlr.php?msg_id=32490951&dlr=%d&reason=%A

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: Got packet from the main 
socket

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 parsing packet: < 
73/00239/O/53/678/0541234567/////////////130610111626/1/107/130610111626/3//4D65737361676520666F7220303534343937363830352C2077697468206964656E74696669636174696F6E2031303036313331313136323620686173206265656E206275666665726564/////////////F4
 >

2010-06-13 11:15:33 [8444] [16] DEBUG: DLR[internal]: Looking for DLR 
smsc=ucp_smsc, ts=130610111626, dst=0541234567, type=4

2010-06-13 11:15:33 [8444] [16] DEBUG: DLR[internal]: created DLR message for 
URL 
<http://127.0.0.1/imsc/interfaces/kannel_http/dlr.php?msg_id=32490951&dlr=%d&reason=%A>

2010-06-13 11:15:33 [8444] [16] DEBUG: DLR[internal]: DLR not destroyed, still 
waiting for other delivery report

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 sending packet: < 
73/00020/R/53/A///A0 >

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 sending packet: < 
05/00376/O/51/0549988770/036532407//1//7///////1306102100//////4/1072/005400530054002D0042005A003A000A05D905EA05E805EA002005E405D905E705D305D505E005D505EA000A05D105E105DA000A0032002C003400330036002C003000350036002E00320032002005E905D7000A00310033002F00300036002000310031003A00310033002000680074007400700073003A002F002F007700770077002E0070////1//////0106050003030201020108///3F
 >

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: Got packet from the main 
socket

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 parsing packet: < 
05/00043/R/51/A//0549988770:130610111626/46 >

2010-06-13 11:15:33 [8444] [16] DEBUG: DLR[internal]: Adding DLR smsc=ucp_smsc, 
ts=130610111626, src=032222222, dst=0549988770, mask=31, boxc=

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 sending packet: < 
06/00182/O/51/0549988770/036532407///////////1306102100//////4/0304/006100790070006F0061006C0069006D002E0063006F002E0069006C002F00620061006E006B////1//////0106050003030202020108///B4
 >

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: Got packet from the main 
socket

2010-06-13 11:15:33 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 parsing packet: < 
06/00043/R/51/A//0549988770:130610111627/48 >

2010-06-13 11:15:33 [8444] [16] DEBUG: SMSC[ucp_smsc]: creating DLR message

2010-06-13 11:15:33 [8444] [16] DEBUG: SMSC[ucp_smsc]: DLR = 
http://127.0.0.1/imsc/interfaces/kannel_http/dlr.php?msg_id=32490499&dlr=%d&reason=%A

**this one is still correct**

 

... and then, a few seconds later ...

 

2010-06-13 11:15:46 [8444] [16] DEBUG: EMI2[ucp_smsc]: emi2 parsing packet: < 
89/00295/O/53/678/0549988770/////////////130610111626/0/000/130610111638/3//4D65737361676520666F7220303534343937333538352C2077697468206964656E74696669636174696F6E2031303036313331313136323620686173206265656E2064656C697665726564206F6E20323031302D30362D31332061742031313A31363A33382E/////////////A0
 >

2010-06-13 11:15:46 [8444] [16] DEBUG: DLR[internal]: Looking for DLR 
smsc=ucp_smsc, ts=130610111626, dst=0549988770, type=1

2010-06-13 11:15:46 [8444] [16] DEBUG: DLR[internal]: created DLR message for 
URL 
<http://127.0.0.1/imsc/interfaces/kannel_http/dlr.php?msg_id=32490951&dlr=%d&reason=%A>

**this one went out to a dlr-url of wrong message**

 

Reply via email to