Open Source Training Seminar FreePBX Paid Support

FreePBX Cluster Data Sharing

This is a way for a FreepbxCluster to share extension/destinations information.

Each system should have a URL where it lists available extensions, IVRs, and whatever else is accessable remotely.

Destinations

The cluster module will then provide all the remote extensions/etc as local destinations (listed along with the name of the system they're on) so ,eg, you could route a call to a DID on system1 to an IVR on system2.

Extensions

Similarly, the extensions from the remote systems should show up locally, so you can dial 2004, not caring it's on a remote system, and you'll get connected. This is not based on ranges - extensions can be arbitrarily assigned on any system, it doesn't matter where they are.

When creating a new extension, the system should check local extensions AND remote extensions for conflicts. Local extensions should always take precidence, but there should be a screen somewhere that shows any conflicts (if, for examlpe, a system is added to a cluster after extensions are defined, and some of them conflict).

The extensions could be populated on a periodic basis (by polling all the remote systems for their extension list), or a 'ping' could be sent to all the other clustered systems whenever one is added, telling them they need to re-fetch the extension list. This could also just be a manual thing, or something that gets run when the admin user uses the web interface.

It would probably be beneficial to use AsteriskRealtime in this situation, as then when the extensions are added, they are available right away. Otherwise, you'd have to grab the list, and do a reload periodically, which may cause problems (and just isn't an ideal solution).

Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads