[Serdev] Re: [Devel] tm bug in t_hooks.c

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Dec 20 14:54:51 CET 2005


the only issue with your script is that you do not retransmit the reply 
when receiving a request retransmission. so, try:


if( !is_method("ACK|CANCEL") && t_lookup_request() )
    {
    log( 1, "Duplicate message, exiting..." );
    t_retransmit_reply();
    exit;
    }

regards,
bogdan


Federico Giannici wrote:

> 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.
>>
>
>




More information about the Devel mailing list