fix for timer issues

jolly <[email protected]>
Newsgroups gmane.linux.isdn.i4l.user
Message-ID <[email protected]>
hi,

i just found an issue on timer handling with NT mode stack.

when a phone answers (call from application to phone), the child process
for this phone will replace the master process. the timers of that
process still have the master pid. this will cause any timer timeout to
be ignored for that phone until release. my patch changes the pid of
timers also when a child process is selected. additionally it is
required to stop T312 for this instance.

i would like to test it a while. my questions are:

- should we change the pid of timers when process is selected?
- should we stop T312 when process is selected?

another minor issue: i suggest to change T305 to 1 minute, to hear
announcement. this is what carriers seem to do.

regards,

andreass

_______________________________________________
isdn4linux mailing list
[email protected]
https://www.isdn4linux.de/mailman/listinfo/isdn4linux
misdn_timer.patch (text/plain, 908 B)
diff --git a/lib/include/dss1.h b/lib/include/dss1.h
index 3ca075b..5060c11 100644
--- a/lib/include/dss1.h
+++ b/lib/include/dss1.h
@@ -24,7 +24,7 @@
 #define T302	15000
 #define T303	4000
 #define T304	30000
-#define T305	30000
+#define T305	60000
 #define T308	4000
 /* for layer 1 certification T309 < layer1 T3 (e.g. 4000) */
 /* This makes some tests easier and quicker */
diff --git a/lib/layer3/dss1net.c b/lib/layer3/dss1net.c
index cd44b60..21c9be3 100644
--- a/lib/layer3/dss1net.c
+++ b/lib/layer3/dss1net.c
@@ -1743,6 +1752,9 @@ send_proc(l3_process_t *proc, int op, void *arg)
 			}
 			proc->L3->ml3.from_layer3(&proc->L3->ml3, MT_ASSIGN, proc->selpid, NULL);
 			proc->pid = proc->selpid;
+			proc->timer1.pid = proc->pid;
+			proc->timer2.pid = proc->pid;
+			L3DelTimer(&proc->timer2); /* stop T312, if running */
 			proc->l2if = p->l2if;
 			send_proc(p, IMSG_END_PROC, NULL);
 			break;
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.