Conference Room Routing Issue - Multiple Servers

Status
Not open for further replies.

Mikey

New Member
Feb 10, 2020
15
1
3
54
In a clustered 2 server fusionpbx setup where both servers share the same database and using DNS for load balancing; how can I make a conference room "sticky" so all callers attempting to enter the conference room are guaranteed to be on the same server to talk to each other. So for example CallerA doesnt enter the same conference room number on Server1 when CallerB is waiting on the same conference room on Server2

Let me know how you recommend to solve this. I am not looking to put a proxy in-front of the cluster like Opensips or others. I have some ideas but don't know how to implement them. Here are some ideas if you can point me in the right direction;

1) Have a dial plan for all the conference rooms check if any users are already in the conference. If so check what server they are on. Then forward the call to that server.

2) Assign ranges of conference rooms to specific servers like 100-200 on Server1 and 200-300 on Server 2. Have a dialplan forward the call to the correct server.


If #1 or #2 are possible then how can I check which server a caller is on in a conference room? Also how can I specify a server to forward the call do when both servers share the same domain? (Almost like specifying a proxy (the specific server domain in addition to the PBX domain). Thank you
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
Why don't you just use active/passive then all your problems are gone?

You are currently asking about conferences. When you have solved this, you will also find that queueing doesn't work either. When you have solved that you will find that transfers, hold, parking etc,etc,etc do not work correctly either.
 

Mikey

New Member
Feb 10, 2020
15
1
3
54
Having multiple servers active in a SRV setup seems more scalable and could even do routing based on DNS response times so users get the closest server. Even with a SRV setup weighted so its more Active/Passive it's not guaranteed, meaning any blip in someones internet connection could cause them to land on the "passive" server with the rest of the world on the active server.

Following this thread https://www.pbxforums.com/threads/experimenting-with-a-full-load-sharing-cluster.867/

I tested Queueing in mod_callcenter and it worked fine. My understanding was that setting fs_path to true plus creating the "cluster-in" context (discussed in that thread) solved everything except conferencing. Inter cluster calling works for example despite being on different servers. In the examples you named above are those not smart enough to take fs_path into account? I understand how the conference room isn't able to use fs_path.
 

DigitalDaz

Administrator
Staff member
Sep 29, 2016
3,038
556
113
I haven't really looked at this thread because a bunch of us never managed to solve it. People with far more knowledge than me concluded that load balancing would not work with active/active without the freeswitch source code itself being modified. If this thread were to have been successful I would have expected it to be one of the busiest on the board. Now you have referenced it again, I'll take a closer look today.
 

Mikey

New Member
Feb 10, 2020
15
1
3
54
Thanks DigitalDaz. Just to clarify. The Conferencing works when dialing an outside phone number that routes to the PBX. Reason being is the "apply-inbound-acl" maps the trusted IP's to the new context "cluster-in".

However dialing the conference extension from the softphone directly doesn't work as the softphone IP would not be in the ACL and thus not get mapped to the cluster-in context.

It would seem the solution may be to override the context to "cluster-in" for auth calls in the internal profile so they are processed same as the ACL. Cant find any settings to override the context. Also is that even a good idea routing all auth calls through this cluster-in context first or does that Action Transfer in the dialplan add some unnecessary overhead?
 

Xtc_Voip

New Member
Jul 28, 2021
15
0
1
59
I have the same issue on a Multi node active/active setup. Internal users call the conference extension, and are routed to their local node where their phone is registered . External callers seem to land on a different node when calling which makes the Conference on multiple servers at once . If our internal users dial out to the DID , they get routed to the correct conference... very frustrating !
 
Status
Not open for further replies.