[OpenSER-Devel] discussion: issues with local_route

Iñaki Baz Castillo ibc at in.ilimit.es
Thu Jun 12 10:14:24 CEST 2008


El Thursday 12 June 2008 09:59:56 Daniel-Constantin Mierla escribió:
> > 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.

Ok, I understand the problem. And what about Message flags?


route {
   setflag(3);
   if(method=="INVITE")
       m_dump();
   if(isflagset(3))
   {
         # Is it executed for the incoming INVITE?      <-- A
   } 
}


local_route {
   if(isflagset(3))
   {
         # Is it executed for the dummped MESSAGE?  <-- B
   } 
}


In this case (using message flags instead of script flags) is the behaviour 
the expected? This is:
- A is executed for the incoming INVITE.
- B is NOT executed for the dummped MESSAGE.


Thanks a lot for your explanation.




-- 
Iñaki Baz Castillo
ibc at in.ilimit.es



More information about the Devel mailing list