Hello Inaki,
On 06/12/08 10:49, Iñaki Baz Castillo wrote: > El Wednesday 11 June 2008 18:47:55 Daniel-Constantin Mierla escribió: > >> The function run_top_route() is called for the local_route. What happens >> if: >> >> route { >> ... >> setsflag(3); >> if(method=="INVITE") >> m_dump(); >> if(issflagset(3)) >> { >> # is it going here? <------------- A >> } >> >> if(issflagset(5)) >> { >> # is it going here? <------------- B >> } >> >> .... >> } >> > > Perhaps I don't understand the example, but, why should flag(5) be set? > Maybe the example you mean is something as the following? > > > > route { > setsflag(3); > if(method=="INVITE") > m_dump(); > if(issflagset(3)) > { > # Is it executed for the incoming INVITE? <-- A > } > } > > > local_route { > if(issflagset(3)) > { > # Is it executed for the dummped MESSAGE? <-- B > } > } > > > In this example I hope "A" is executed for INVITE (as normal) while "B" is > not > executed for the dummped MESSAGE since I expect the flag(3) was just enabled > for the INVITE. Is it? > In your example, neither A or B is not executed. Here is the problem. Script flag 3 is set for the environment of INVITE, local_route is executed, and being a top route, for a new SIP request (the MESSAGE sent by m_dump) the script flags are reset to 0. The condition for B is not met, when returning to 'route' scripts flags are 0, so condition for A is not met as well. In my example, if you set a flag in local_route, that flag will be set in 'route' after the call of m_dump. Cheers, Daniel > > Best regards. > > > > -- http://www.asipto.com _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel