Note: this should be integrated to core, #1690
One feature which was a bit lacking in asterisk/freePbx was the ability to easily create multiple tennants.
A number of improvements have been made.
1) inbound routing based on zap channel - i used to have to hack it by putting each zap channel in its own context.
2) authtype = database allows for dividing extension ranges
the main problem for me was outbound routing...
I wanted some extensions to dial out one route, and others out another route.
I had to create a custom context for each, then place each in their own custom context, then include all of the contexts which they should have access to. This became a nuisance as each module added its own context to from-internal-additional which could not be included as it also contains outbuond-allroutes.
The purpose of this module is to dynamically list all contexts included in any contexts you choose, and allow you to create custom contexts which can include any of these all without config editing.
As an added bonus, I added a select list to the devices/extensions page to allow you to easily select any of your custom contexts to place the device in.
I left this as minor just because I don't want anyone getting upset at me, but for me, at least, this is a major relief. :)