From eaaf745f14937fedce05fe1ae4ecd63e99950447 Mon Sep 17 00:00:00 2001 From: Maximilian Fridrich Date: Tue, 9 Jul 2024 09:09:44 +0200 Subject: [PATCH] sipsess/reply: terminate session if no (PR)ACK received after 64*T1 --- src/sipsess/reply.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/sipsess/reply.c b/src/sipsess/reply.c index 3f1d47104..30d98ff16 100644 --- a/src/sipsess/reply.c +++ b/src/sipsess/reply.c @@ -51,10 +51,6 @@ static void tmr_handler(void *arg) struct sipsess_reply *reply = arg; struct sipsess *sess = reply->sess; - /* wait for all pending ACKs */ - if (sess->replyl.head) - goto out; - /* we want to send bye */ if (!sess->terminated) { @@ -64,14 +60,15 @@ static void tmr_handler(void *arg) } else { sess->established = true; + mem_deref(reply); sipsess_terminate(sess, ETIMEDOUT, NULL); + return; } } else { mem_deref(sess); } -out: mem_deref(reply); }