Hello,

 Here is a patch against 1.4.3 to fix the detection of non-acked
messages sent through EMI/UCP. The problem arise when the window
parameter is set to a non-default value. In this case the loop in 
emi2_idleprocessing which search for unacked messages only examine
the first "window" messages of the ring-buffer and thus misses any
unacked message with a trn higher then "window".

Cheers,

                                Olivier

-- 
______________________________________________________________________
MNC Mobile News Channel SA              Direct phone: +41 21 317 50 25
Olivier Dormond                         Central:      +41 21 317 50 20
Av. de la Gare 10                       Fax:          +41 21 317 50 21
1003 Lausanne                           Email:          [email protected]
diff -rubB kannel-1.4.3/gw/smsc/smsc_emi.c kannel-1.4.3-emi-windowing-fix/gw/smsc/smsc_emi.c
--- kannel-1.4.3/gw/smsc/smsc_emi.c	2009-01-12 17:46:50.000000000 +0100
+++ kannel-1.4.3-emi-windowing-fix/gw/smsc/smsc_emi.c	2010-07-08 10:35:06.000000000 +0200
@@ -1199,7 +1199,7 @@
     
     if (PRIVDATA(conn)->unacked && (current_time > (PRIVDATA(conn)->check_time + 30))) {
 	PRIVDATA(conn)->check_time = current_time;
-        for (i = 0; i < PRIVDATA(conn)->window; i++) {
+        for (i = 0; i < EMI2_MAX_TRN; i++) {
 	    if (SLOTBUSY(conn,i)
 		&& PRIVDATA(conn)->slots[i].sendtime < (current_time - PRIVDATA(conn)->waitack)) {
 

Reply via email to