[Serdev] Re: [Devel] tm bug in t_hooks.c
Federico Giannici
giannici at neomedia.it
Tue Dec 20 14:06:27 CET 2005
Bogdan-Andrei Iancu wrote:
> Hi Federico,
>
> you are right - the root problem is the call of t_lookup_request()
> (which I was suspecting to be from script) - but it's called by TM
> register callback function.
>
> The t_lookup_request() function sets a internal static variable which
> points to the found transaction (if any). t_relay() interprets the set
> variable as duplicated call of the function.
>
> I will have to find a way to solve this.....good catch and thanks for
> the help!!
OK.
And what about the little script code (quoted below) I use to avoid this
problem?
Do you think it can give any problem?
Bye.
> Federico Giannici wrote:
>
>> Bogdan-Andrei Iancu wrote:
>>
>>>
>>> Hi Federico,
>>>
>>> what I'm asking is to remove completely from your script the
>>> retransmission tests (via t_lookup_request() and t_check_trans() )
>>> .... remove them and see if you still get the error...
>>
>>
>>
>> I already replyed to you on 9th (with a private email)...
>>
>> Anyway, if you look at my last email, I have found that the problem is
>> in the uac_replace_from() that calls uac_tmb.register_tmcb() that
>> indirectly calls t_lookup_request()!
>>
>> t_lookup_request() estables a transaction for retrasmissions, so when
>> later I call t_relay... it gives the error!
>>
>> I added the following code just before the t_relay():
>>
>> if( !is_method("ACK|CANCEL") && t_lookup_request() )
>> {
>> log( 1, "Duplicate message, exiting..." );
>> exit;
>> }
>>
>> Do you think is ok?
>>
>> Bye.
--
___________________________________________________
__
|- giannici at neomedia.it
|ederico Giannici http://www.neomedia.it
Presidente del cda - NEOMEDIA srl
___________________________________________________
More information about the Devel
mailing list