Saturday, October 6, 2007

Red Box


I finally built a red box, not the phone phreak device that generates coin tones for pay phones, but rather a Linux PBX which gives me the power and flexibility of a commercial grade phone system at a fraction of the cost. I call it a red box because the primary VoIP number I chose suggests [1]June 20, 1963-- the day the “red telephone” went live between Washington and Moscow. Once I painted the side panels a nice, shiny red, I decided that in keeping with the metallic network naming I use (cobalt, tungsten, strontium, etc.) the best name for my new PBX would be 'copper'.


After I explained what a PBX is, my neighbor asked me, “Why do you need a $50,000 phone system?” A big factor is that it doesn't cost $50,000 with Open Source software: I purchased $200 in computer parts, a $50 Grandstream GS-386 analog adapter, and a $275 Aastra 480i CT. My total hardware cost for a working PBX was about $525. Add in the cost of new VoIP accounts, transferring numbers, etc. and I spent about 10% of the cost of even a low end commercial PBX.

Fortunately, low end features are not what the Linux PBX offers. The possibilities of Asterisk, perhaps the prime component of a Linux PBX, are limitless because the Open Source license allows any developer the freedom to modify the software as needed. Practically speaking, this means that mature Open Source projects tend to do all the things the users want.

For my PBX, I wanted all the features I grew accustomed to as a Vonage user-- call waiting, forwarding, ring groups, voice mail via phone, web, & e-mail, etc.-- but I also wanted one high end feature not normally available without a costly PBX: Direct Inward Dialing.

Direct Inward Dialing (DID) is a feature which allows virtual phone numbers to be routed directly to extensions while using shared trunks (phone lines). DID has clear advantages when one considers that VoIP lines usually cost $15-$30 per month while auxiliary numbers are only $2-$5 per month. Dedicated fax numbers, home/work numbers, listed/unlisted numbers, even toll free numbers all become reasonable options.

By far the best part of a Linux PBX is the ability to work around problems. I'm using Broadvoice as a primary VoIP provider, in conjunction with CallWithUs for overflow, backup, and cheap rates. The inbound calls come through Broadvoice; unfortunately all calls are routed through the same DID, which is to say that all inbound calls appear to be placed to the same phone number. With a bit of research and experimentation, I was able to use the distinctive ring feature to create my own DID and route the calls as I needed. Open Source to the rescue!


  1. I dumped the number when I got smart;
    it was 206-1963 (20.6.1963). ^

6 comments:

  1. Very interesting! My company has an intertel phone system that they spent $40k not to mention the $2200 maintenance contract I just signed this morning that does not cover ANY programming changes to the system.

    This seems like an awesome system. How long was the implementation?

    ReplyDelete
  2. From bare metal to a working PBX was well under an hour, but I already had a working virtual system (VMWare).

    ReplyDelete
  3. [...] 16, 2007 Posted by Garrison in Command Line, Linux, Telephony. trackback When I wrote about building my own PBX, I mentioned that I set up Direct Inward Dialing (DID), a feature which allows virtual phone [...]

    ReplyDelete
  4. [...] this point I have the PBX sending caller id to MythTV and osd_cat to display the data on screen, but I need a simple way to [...]

    ReplyDelete
  5. [...] in Case Study, Linux, Reviews, Telephony. trackback Like many others, when I set up my first Linux PBX I knew little about VoIP providers and with few sources of reliable, current information, I made a [...]

    ReplyDelete
  6. [...] by Garrison in Case Study, Command Line, HowTo, Telephony. trackback I have a strange issue on my Asterisk box. If I call BroadVoice tech support using one of their trunks, I connect normally and hear the [...]

    ReplyDelete