[sr-dev] git:4.3:0c6bed87: tm: reset async suspended flag when continuing via failure_route

Daniel-Constantin Mierla miconda at gmail.com
Thu Sep 17 16:27:20 CEST 2015


Module: kamailio
Branch: 4.3
Commit: 0c6bed8779024c0c35a9c1bb82dc24255d8f08e2
URL: https://github.com/kamailio/kamailio/commit/0c6bed8779024c0c35a9c1bb82dc24255d8f08e2

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2015-09-17T13:58:09+02:00

tm: reset async suspended flag when continuing via failure_route

- suspended transaction can be resumed automatically on timeout, without
  t_continue(), ending up in failure_route

(cherry picked from commit 171553ebcac2f00a015191f36f2f228c0d3e483b)

---

Modified: modules/tm/t_reply.c

---

Diff:  https://github.com/kamailio/kamailio/commit/0c6bed8779024c0c35a9c1bb82dc24255d8f08e2.diff
Patch: https://github.com/kamailio/kamailio/commit/0c6bed8779024c0c35a9c1bb82dc24255d8f08e2.patch

---

diff --git a/modules/tm/t_reply.c b/modules/tm/t_reply.c
index 8240ced..0041a4f 100644
--- a/modules/tm/t_reply.c
+++ b/modules/tm/t_reply.c
@@ -982,6 +982,8 @@ int run_failure_handlers(struct cell *t, struct sip_msg *rpl,
 		 * set next failure route, failure_route will not be reentered
 		 * on failure */
 		t->on_failure=0;
+		/* if continuing on timeout of a suspended transaction, reset the flag */
+		t->flags &= ~T_ASYNC_SUSPENDED;
 		if (exec_pre_script_cb(&faked_req, FAILURE_CB_TYPE)>0) {
 			/* run a failure_route action if some was marked */
 			if (run_top_route(failure_rt.rlist[on_failure], &faked_req, 0)<0)




More information about the sr-dev mailing list