FreePBX Custom Context Module – Delegating Outbound Routes

8

I stumbled upon this module last night when trying to delimit access to an outbound route per extension. I added a colleague to my PBX who had purchased an account at voip.ms; problem was when he would dial out it would always display my Caller ID and use my trunk (which is bad if he dials international). I guess this is a frequently asked question so I created a video demonstrating the great power of this module – you will be surprised how easy creating permissive contexts can be This video will show you how to install the module and limit access to outbound routes / trunks per extension. The goal is to partition an Asterisk IP PBX in order to host multiple tenants on one system.

The following information is from this site.  Please check it out for download link and changelog / usage.

Possible Uses

  • Restrict access to certain outbound routes or feature codes by a particular extension or group of extensions.
  • Give particular extension(s) priority access to certain outbound routes, such as a particular emergency route associated with their geographic location.
  • Give certain outbound routes top priority for use during “free” or low cost calling periods, while making those same routes lower priority (or disallowing access entirely) during higher cost time periods.
  • Disallow access to outbound routes (with possible exception of Emergency access) to certain (or all) extensions during particular time periods (don’t let night cleaning crew make long distance calls, or disallow outgoing night calls from telephones in children’s rooms, while still allowing emergency number calls).
  • Allow two or more families/companies/organizations to use the same FreePBX box, while still allowing each to have access only to “their” outgoing routes and trunks.
  • If you have a SIP provider that does not send DID (normally a pain to handle because you can’t create a normal Inbound Route), set up a new custom context (call it idiot-provider), give them no access to anything (deny all), and then specify where you want their calls to go in the Failover Destination. Then put context=idiot-provider in that provider’s trunk user details.

Module Description

One feature which was a bit lacking in Asterisk/FreePBX was the ability to easily create multiple tenants.

This module creates custom contexts which can be used to allow limited access to dialplan applications.

Now allows for time restrictions on any dialplan access!

This can be very useful for multi-tenant systems.

Inbound routing can be done using DID or zap channel routing, this module allows for selective outbound routing.

House/public phones can be placed in a restricted context allowing them only internal calls.

Custom contexts can now be used as destinations. An IVR menu, Time Condition, etc. can now send a caller into a custom context. This feature requires FreePBX 2.2.0rc2 (or the latest SVN version if prior to the release of rc2)

(The following are the module author’s comments, “I” refers to the module author, not the original creator of this wiki page).

A number of improvements have been made to freePbx to handle multiple tenants.

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 outbound-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.

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • NewsVine
  • Reddit
  • StumbleUpon
  • YahooMyWeb
  • Google Bookmarks
  • Yahoo! Buzz
  • TwitThis
  • Live
  • LinkedIn
  • Pownce
  • MySpace

Comments

8 Responses to “FreePBX Custom Context Module – Delegating Outbound Routes”
  1. Henry says:

    Thanks, this video has cleared up a lot of confusion I had regarding contexts.
    I was able to change the context for an extension with a private line (DID) and use the same
    incoming DID for outbound calls. Very cool!…..Thanks again

  2. aster1sk says:

    I was pretty confused with contexts as well – glad this helped.

  3. cywol says:

    wondering if someone out there is able to use freepbx’s SPEED DIAL after installing custom context module. it seems that speed dial numbers are dialed from from-internal context, thus custom context are not parsed and this leads to errors

  4. kenn10 says:

    The custom-contexts module is in danger of extinction due to changes if the FreePBX core. This module was orphaned by its orginal creator and it is up to the public domain to keep it updated. The FreePBX folks have estimated that $4,000 US is needed to have somone take on the re-write of the module to make it compliant with FreePBX 2.8. There is a bounty page for this purpose and a drive to get funding at this time.

    Please see this post on the FreePBX site to make a donation:

    http://www.freepbx.org/forum/freepbx/users/time-fund-the-custom-contexts-module-upgrade-1-3-of-the-way-there

    Without the re-write, this module will be dropped from the add-ons repository due to non-compliance with FreePBX.

  5. aster1sk says:

    Whoa thanks for the heads up kenn10. I have recently taken a look at the source and this isn’t a massive project to take on – I will see if I can find some time to communicate with the community to get more feedback.

  6. naftali5 says:

    Your Welcome :)

    While looking for ideas, I ran a Google search for \"FreePBX Module\", and was pleasantly surprised to find mine on the first page.

    Unfortunately, it is apparently broken on the new not-yet-released version of FreePBX, and I don\’t have the time to fix it. Seeing that people still enjoy it now gives me more incentive to bring it up to date. We\’ll see…

  7. aster1sk says:

    Well if it is anything like custom contexts – I believe there is a bounty out for it’s rewrite.

Speak Your Mind

Tell us what you're thinking...
and oh, if you want a pic to show with your comment, go get a gravatar!

Security Code: