FusionPBX for Hotels – Prevent Room Extensions from Calling Each Other

There are a few facts I’d like to lay bare

  1. Freeswitch is Awesome
  2. FusionPBX is extremely enjoyable once you spend time with it.

Hotels are under pressure to stand out and consistently deliver profits even in the midst of the economic hardships, and 6 months ago, I started a project to help make this job easier. An IP PBX with a number of hotel-specific revenue generating and delightful features.

Indeed, most hotels already have an analog or hybrid PBX system, acquired several years ago and humming away in some basement in the hotel premises, but while the technology has advanced over the years, hotels have not bothered to keep up.

I am not saying “keep up for the fun of it,” rather I mean keep up and reap all the benefits of a modern IP telephony system. These include

  1. Increased employee productivity.
  2. Revenue generation and cost savings from using a VoIP Trunk, rather than E1 trunks or GSM gateways.
  3. Advanced features to delight your guests, while contributing to your bottom line.
  4. Improved customer service and marketing.

These are but just a few of the benefits.

For the past 9 months, I’ve been offering a free hosted PBX service to SMEs that want a modern telephone system, without the maintenance overhead and CAPEX.

For the hotel solution (which isn’t the free hosted PBX 🙂 ), I turned to FusionPBX because I did not want to reinvent the wheel plus FusionPBX is proven, battle-tested, constantly being improved and deployed in many many commercial installations.

If you have spent one night in a hotel – with a decent and well configured PBX (Intercom) system, you would have observed that even if you knew (or guessed) what other room extensions were, you would not be able to call them. You are restricted to being able to call security, front-desk, etc.

This feature is called “internal call block”, and you can read about the Panasonic implementation here (Pg. 38). You can also watch how it is configured in Panasonic.

In FusionPBX, you can achieve this using just one line of entry into the dialplan. First there are some things you should know about the FusionPBX/Freeswitch dialplan

  1. Dialplans allow you define what action the switch takes, when an extension is called.
  2. It is executed top-to-bottom; meaning if you have two rules with “similar” conditions, the one at the top would match and get executed.

I am assuming that your numbering looks like this…

Range Description
1XXX Offices
6XXX Rooms
2XXX Others

You will be creating a new dialplan entry ‘app/dialplan/dialplans.php’. Make sure it is just above the “local_extension” dialplan – this is the second to last dialplan executed and is responsible for extensions being able to call each other. What you want to do is trap the “6XXX” extensions (for rooms) before they get to this dialplan.

Inside this new dialplan, you can define any condition and action to your hearts content!

FusionPBX for hotels makes it easy to use and administer a Freeswitch server for your hotel. The power from using FusionPBX as against other rigid and propriety PBXs or IP-PBXs is that it can be customized to meet your exotic needs, no matter what they are.

I should also add that you will not be discarding your entire investment in your current telephone system. FusionPBX only replaces the “dumb” heart of your telephone system, while leveraging on all the cables, MDFs and analog (intercom/desk) phones using an Analog gateway.

Contact me via my contact page to learn how you can leverage on IP Telephony to take your business to the next level.


After speaking with mcrane the lead developer of FusionPBX on IRC, it turns out with Freeswitch (like always), there are different ways to achieve your goals. You could as well have used toll-allow, context or even edited the local_extension dialplan.