[Users] Context of flags - flag visibility - in openser

Klaus Darilion klaus.mailinglists at pernau.at
Fri Dec 23 14:57:47 CET 2005


Joachim Fabini wrote:
> Hi,
> 
> Again a question regarding the OpenSER documentation,
> specifically the usage of flags:
> What is the context and visibility scope of flags in 
> openser? What is their lifetime? 

The visability is the transaction: Thus the flags are valid in the reply 
route and also in the failure route (honestly I've never used them in 
reply route but it AFAIK it should work).

> 
> Maybe some piece of code to clarify things:
> 
> route
> {
>    if (method=="REGISTER")
>    {
>       setflag(10);
>       # do some processing
>    }
> 
>    if ((method=="INVITE")||(method=="BYE"))
>    {
>       setflag(11);
>    }
> 
>    # do some more processing
>    t_relay();
> }
> 
> onreply_route()
> {
>    if (isflagset(10))
>    {
>       # received a reply on register, process it
>    }
>    if (isflagset(11))
>    {
>       # reply on invite or bye
>    }
> }
> 
> a) Can we expect the flags 10/11 to be identical for 
>    route and onreply_route - i.e. in the example above,
>    are the flags in status "set" when processing the 
>    onreply_route? I.e. isflagset(10) returns true if 
>    we process the 200 OK in reply to a REGISTER?

yes

> b) Do we need to explicitely reset the flag or is it
>    automatically cleared? Specifically: If an INVITE
>    and the matching OK are processed, is it required
>    to reset the flag afterwards in onreply_route?
>    I.e., if after the 200OK to INVITE a 200 OK reply 
>    to a SUBSCRIBE is processed by onreply_route and 
>    we did _not_ reset the flag 11, does isflagset(11) 
>    return true or false on the 200 OK for SUBSCRIBE?

Once the transaction (eg INVITE) is over, the transaction will be 
deleted from memory with all flags belonging to this transaction
> 
> Finally another question: must onreply_route be explicitely
> triggered (like for onreply_route[1] using t_on_reply("1")) 
> or is the default onreply_route anyhow executed 
> automatically on any stateful reply?

the default on_reply route will be executed automatically if present.

klaus




More information about the Users mailing list