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.


--
___________________________________________________
    __
   |-                      [EMAIL PROTECTED]
   |ederico Giannici      http://www.neomedia.it

        Presidente del cda - NEOMEDIA srl
___________________________________________________

_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to