[sr-dev] git:master:171553eb: tm: reset async suspended flag when continuing via failure_route

Daniel-Constantin Mierla miconda at gmail.com
Mon Sep 14 12:55:08 CEST 2015


Module: kamailio
Branch: master
Commit: 171553ebcac2f00a015191f36f2f228c0d3e483b
URL: https://github.com/kamailio/kamailio/commit/171553ebcac2f00a015191f36f2f228c0d3e483b

Author: Daniel-Constantin Mierla <miconda at gmail.com>
Committer: Daniel-Constantin Mierla <miconda at gmail.com>
Date: 2015-09-14T12:53:54+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

---

Modified: modules/tm/t_reply.c

---

Diff:  https://github.com/kamailio/kamailio/commit/171553ebcac2f00a015191f36f2f228c0d3e483b.diff
Patch: https://github.com/kamailio/kamailio/commit/171553ebcac2f00a015191f36f2f228c0d3e483b.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