In terms of implementing "group" calling via the append_branch feature of both alias_db_lookup followed by lookup_branches, I'm looking for a reliable way to ensure that if the caller happens to be a member of the group (list of branches), the branch that's created to the original caller is dropped.
Originally, I was thinking of comparing $rU and $fU in branch_route, but this would limit the ability for one contact of an AOR to call another contact of the same AOR.
Can anyone offer an example of an efficient method to accomplish this?
On 07 Mar 2015, at 01:32, Anthony Messina amessina@messinet.com wrote:
In terms of implementing "group" calling via the append_branch feature of both alias_db_lookup followed by lookup_branches, I'm looking for a reliable way to ensure that if the caller happens to be a member of the group (list of branches), the branch that's created to the original caller is dropped.
Originally, I was thinking of comparing $rU and $fU in branch_route, but this would limit the ability for one contact of an AOR to call another contact of the same AOR.
Can anyone offer an example of an efficient method to accomplish this?
From reading your e-mail it seems that you propose a possible idea - why not compare contact URI's?
If they have +sip.instance, just compare that. If they have not, try to compare the full SIP URI's in the contacts.
Just brainstorming. /O
On Saturday, March 07, 2015 10:22:32 AM Olle E. Johansson wrote:
On 07 Mar 2015, at 01:32, Anthony Messina amessina@messinet.com wrote:
In terms of implementing "group" calling via the append_branch feature of both alias_db_lookup followed by lookup_branches, I'm looking for a reliable way to ensure that if the caller happens to be a member of the group (list of branches), the branch that's created to the original caller is dropped.
Originally, I was thinking of comparing $rU and $fU in branch_route, but this would limit the ability for one contact of an AOR to call another contact of the same AOR.
Can anyone offer an example of an efficient method to accomplish this?
From reading your e-mail it seems that you propose a possible idea
- why not compare contact URI's?
So far, I've been trying out the following which seems to work OK for online subscribers, but not as well when a "group" call member is a DAHDI phone routed from/to Asterisk. Just didn't know if someone had better/different ideas.
If they have +sip.instance, just compare that. If they have not, try to compare the full SIP URI's in the contacts.
That's a good idea for me since the majority of subscribers are using TLS with CSipSimple which is supposed to have support for +sip.instance.
branch_route[MANAGE_BRANCH] { ... if(@contact.uri.user==@ruri.user && @contact.uri.hostport==@ruri.hostport) { drop(); } ... }
Just brainstorming. /O
Me too ;) Thanks Olle. I'll keep playing with it. -A
On 07 Mar 2015, at 15:20, Anthony Messina amessina@messinet.com wrote:
So far, I've been trying out the following which seems to work OK for online subscribers, but not as well when a "group" call member is a DAHDI phone routed from/to Asterisk.
Yeah, the asterisk usage of contacts is not a good thing here.
/O