I’m using 2 FreePBX version 15 using one database server (3 servers overall). This is more on load balanced setup where users can log in to any of the FreePBX and make outbound calls / receive inbound calls.
The issue I am encountering is, whenever I create an extension to the first FreePBX, it does not take effect on the secondary FreePBX (agent cannot log in with Forbidden error), but it can log in to the first FreePBX. I need to do fwconsole reload on the secondary FreePBX in order for the extension to take effect and go online on the secondary FreePBX, BUT, after doing the fwconsole command, the public IP of the primary FreePBX is being copied to the secondary FreePBX overwriting the network settings.
My question is, what would I need to do in order to just create the extension and save it to both the primary and secondary FreePBX without overwriting its network settings. Note that all other settings such as the creation of inbound route, call queues, outbound route, trunks, etc (other than the network settings) should take effect on both FreePBX since it is sharing one database.
How are you doing load balancing now? Because FreePBX has nothing for that. Advanced Recovery keeps two FreePBX boxes in sync with each other for failover.
Then you’re writing your own solution for this that includes your load balancing. Why would you want to load balance between the two servers? How much traffic are you going to be doing that it needs load balancing? These users aren’t expecting to use things like BLF or other features where having them living on two different servers is going to require workarounds to avoid things being broken or not working right?
OK so this is a company PBX. How much traffic (calls) is this going to be actually handling. So far nothing has stood out that requires load balancing. You’re also not considering how you will track states between two systems when doing this, it seems.
Define “large traffic” because large is subjective. As well, when I was referring to states I was talking about the device/MWI states. See if you have PBX A and B which are complete mirrors of themselves that means you have 100, 101, etc on both systems. Now when user 100 ends up on PBX A and user 101 ends up on PBX B you now have a problem of their states being out of sync. PBX A does not see 101 as an endpoint with a registered contact. It sees an endpoint with no contact. Any attempts by PBX A to send requests/notifies/updates to 101 will fail. The same goes for 100 on PBX B and when these two extensions try to call each other there will be problems. 100 on PBX A trying to call 101 will have PBX A looking locally for 101 and it will see 101 has no contacts and thus fail to send the call to 101. Meaning the call will end up in 101’s voicemail and then 101 will not get MWI notices because PBX A can’t send them.
This also begs the question of how you are handling your calls from the providers. Are those being load balanced too? How will 101 get a call if it lands on PBX A and 101 is registered on PBX B?
So how are you going to address phones being on two different PBX’s with the same configuration being able to call each other, transfer to each other, get MWI properly or deal with being in ring groups, etc? If you plan on using queues you’re going to make even more problems trying to make this work right.
Finally, how are you actually doing the load balancing? Because SIP load balancing can be done in numerous methods and if you aren’t careful you could end up sending each new request to different PBX systems and that will really cause some issues.
So far this seems like an over complicated solution when none is needed.
Not sure yet on the exact count maybe over 300 and counting. They have different public IPs. The agent should log only to one PBX at a time to prevent conflict. For example, agent A (ie. extension 100) registered to PBXA (ie. 10.10.10.1) so it will be 100@ 10.10.10.1.
For the inbound calls, the carrier or SBC will then look where the user is active either on PBX1 or PBX2 connects that particular call.
We can define the sip domain as either PBX1 or PBX2 in the user’s softphone. Manual load balancing is done on the users in the PBXs.