Detail:

Process 1: Suspend transaction and get some other process to do some work
Process 2: Receive callback from some other process to continue the transaction (work has been done). In this process we respond (in code) with a reply for example (maybe 401 Auth required), this reply will set kr to REQ_RPLD (for example). Finally, process 2 calls t_continue on the transaction..... which now resets kr to 0. As a result, IMHO, the process is out of sync (truth is not correct). A symptom is that you have a litter of "WARNING: script writer didn't release transaction" in your log file...

Maybe you have another idea to fix, but I don't see a reason to reset kr... at least not to 0?

Cheers
Jason

On Fri Jan 30 2015 at 16:01:49 Jason Penton <jason.penton@gmail.com> wrote:
Hey Daniel, apologies, I actually meant to delete the line and not comment it........ ;) - but I will update

Cheers
Jason

On Fri Jan 30 2015 at 15:15:26 Daniel-Constantin Mierla <miconda@gmail.com> wrote:
Can you detail the situation you ran into and gets fixed with the patch?

Also, better remove than comment, or use C classic comments /* ... */ instead of C++ style //.

Makes sense to keep it in comments when you add some info why it was done. Simply commenting is making the code not very clean over the time.

Cheers,
Daniel

On Fri, Jan 30, 2015 at 1:53 PM, Jason Penton <jason.penton@gmail.com> wrote:
Module: kamailio
Branch: master
Commit: 4ba9ee6bff2fc74188c058f71240f1e128717588
URL: https://github.com/kamailio/kamailio/commit/4ba9ee6bff2fc74188c058f71240f1e128717588

Author: Jason Penton <jason.penton@gmail.com>
Committer: Jason Penton <jason.penton@gmail.com>
Date: 2015-01-30T14:53:18+02:00

modules/tm: no reason to reset KR on continuation of async requests
        - maybe before continuing, a reply has been sent, request forwarded, etc...

---

Modified: modules/tm/t_suspend.c

---

Diff:  https://github.com/kamailio/kamailio/commit/4ba9ee6bff2fc74188c058f71240f1e128717588.diff
Patch: https://github.com/kamailio/kamailio/commit/4ba9ee6bff2fc74188c058f71240f1e128717588.patch

---

diff --git a/modules/tm/t_suspend.c b/modules/tm/t_suspend.c
index f07307d..8838a97 100644
--- a/modules/tm/t_suspend.c
+++ b/modules/tm/t_suspend.c
@@ -221,7 +221,7 @@ int t_continue(unsigned int hash_index, unsigned int label,
                        Not a huge problem, fr timer will fire, but CANCEL
                        will not be sent. last_received will be set to 408. */

-               reset_kr();
+//             reset_kr();

                /* fake the request and the environment, like in failure_route */
                if (!fake_req(&faked_req, t->uas.request, 0 /* extra flags */, uac)) {


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev



_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev