[sr-dev] git:master:4ba9ee6b: modules/tm: no reason to reset KR on continuation of async requests

Jason Penton jason.penton at gmail.com
Fri Jan 30 15:07:24 CET 2015


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 at 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 at 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 at gmail.com>
>> wrote:
>>
>>> Module: kamailio
>>> Branch: master
>>> Commit: 4ba9ee6bff2fc74188c058f71240f1e128717588
>>> URL: https://github.com/kamailio/kamailio/commit/
>>> 4ba9ee6bff2fc74188c058f71240f1e128717588
>>>
>>> Author: Jason Penton <jason.penton at gmail.com>
>>> Committer: Jason Penton <jason.penton at 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 at lists.sip-router.org
>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>>
>>
>>
>>
>> --
>> Daniel-Constantin Mierla - http://www.asipto.com
>> http://twitter.com/#!/miconda - http://www.linkedin.com/in/micond
>> <http://www.linkedin.com/in/miconda>
>>  _______________________________________________
>> sr-dev mailing list
>> sr-dev at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20150130/cb44746c/attachment.html>


More information about the sr-dev mailing list