Installing FOP2 on multiple servers
Hello,
I have 4 servers strewn across the US each running (nearly) identical versions of Elastix 2.0 build 58, (I believe) and FreePBX 2.8.1.0. There are around 100 extensions, and these change frequently. I paid for and installed FOP2 in each location, but it would greatly benefit us if we could have all 4 locations managed through a single FOP2 install. I did a little bit of custom mangling to buttons files, and I know that you can do some really cool things like transfer calls between PBX's, monitor status on a foreign PBX, etc, but in order for it to be really useful to us, we'd need to have these configs auto-generated from the asterisk configs. I've seen previous posts that say something to the effect of "Multiple servers are supported, but as for configuration, you're on your own."
Has anyone in the community ever tried modifying the scripts so that they can create buttons and users from remote servers? I would think that using the AMI, you'd be able to get all the information you need fairly easily. (Extension numbers, names, statuses, etc.) I also considered a cron job that would run each config script on each individual server, then somehow transfer them all to the "master" server and compile them into a single user/buttons file, but even that's probably slightly beyond my ability as an admin.
Is there any hope that this may find its way into a future release of FOP2? Would anyone be able/interested to do this for a bounty?
I have 4 servers strewn across the US each running (nearly) identical versions of Elastix 2.0 build 58, (I believe) and FreePBX 2.8.1.0. There are around 100 extensions, and these change frequently. I paid for and installed FOP2 in each location, but it would greatly benefit us if we could have all 4 locations managed through a single FOP2 install. I did a little bit of custom mangling to buttons files, and I know that you can do some really cool things like transfer calls between PBX's, monitor status on a foreign PBX, etc, but in order for it to be really useful to us, we'd need to have these configs auto-generated from the asterisk configs. I've seen previous posts that say something to the effect of "Multiple servers are supported, but as for configuration, you're on your own."
Has anyone in the community ever tried modifying the scripts so that they can create buttons and users from remote servers? I would think that using the AMI, you'd be able to get all the information you need fairly easily. (Extension numbers, names, statuses, etc.) I also considered a cron job that would run each config script on each individual server, then somehow transfer them all to the "master" server and compile them into a single user/buttons file, but even that's probably slightly beyond my ability as an admin.
Is there any hope that this may find its way into a future release of FOP2? Would anyone be able/interested to do this for a bounty?
Comments
It is not possible to have a multi server setup working right out of the box, so it won't be added as a feature anytime soon. The AMI is not enough to retrieve configuration.
But it is not that hard to implement either, some hints:
1) passwordless ssh connections between central fop2 and remote boxes
2) install fop2admin in all servers
3) copy autoconfig-buttons-freepbx.sh on remote servers
4) modify autoconfig-buttons-freepbx.sh slithgtly to remove park and trunks in remote boxes
5) modify central autoconfig-buttons-freepbx to execute via ssh the autoconfig-buttons on remote servers
last hint:
There is an option for paid support to implement this or some other funky setups.
Best regards,
Pre requisites: provide ssh access to all servers (with root privileges), have firewalls setup to allow connections to ssh from the central server to the remote servers and also enable access to AMI port tcp/5038 on the remote boxes from the central/primary one.
A word of warning:
multi server setup on remote boxes is troublesome. If the connection to a remote box is slow, lagged, freezes, etc, you will have problems. And it is not a fop2 problem, but a network issue. In this suggestion I am doing, fop2 will execute a script on a remote box via the network every time any of the boxes is reloaded.. if that script fails to execute, then fop2 will block until the script exists because of a network timeout or whatever.
there is also another important issue, this time a limit with fop2 itself, that it cannot monitor same name button/devices, you cannot monitor correctly parking lots from different servers, only the primary one will work and it will "mix/group" parked calls from other servers. Same for any other button type.