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)) {