I was looking at the openser config generated using the online
sipwise wizard. They implement conditional call forwarding using:
if($avp(s:cfc) != NULL)
{
avp_pushto("$ru", "$avp(s:cfc)");
setflag(29);
append_branch();
t_on_branch("1");
xlog("L_INFO", "CFC detected - M=$rm RURI=$ru F=$fu
T=$tu IP=$si ID=$ci\n");
route(13);
}
branch_route[1]
{
if(is_domain_local("$rd"))
{
xlog("L_INFO", "Dropping local branch - M=$rm RURI=
$ru F=$fu T=$tu IP=$si ID=$ci\n");
drop();
}
}
Suppose an invite gets to this point and ruri is changed to another
local user. does this drop() in branch_route prevents that invite to
be relayed? does it still go through route(13) ?
I'm still a newbie trying to better understand the working of openser
functions. I'll greatly appreciate if someone can briefly describe
when it makes sense to use "append_branch()"
Thanks in advance for your help.
--
Zahid