Hi,
The config is designed to never relay a request to itself, but instead
do recursive route processing. So if you do a CFC to a local user, the
config will take care to do a lookup before a relay, which will change
the request uri to the IP of the CF target.
Andreas
Zahid Mehmood wrote:
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.