[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