Telephone  Overview
Server Hardware
PSTN Interface
VOIP Phones




Home Telephone System Overview

The area where my home differs from most is the telephone system, all phones in the house use Voice Over Internet Protocol (VOIP) which is then interfaced with the Public Switched Telephone Network (PSTN) over a BT analogue phone line. The architecture of my VOIP system is described here.

Before we moved into the house, I had the opportunity to flood wire the house with Cat6 network cable. My thoughts were that this wiring would be suitable for a range of applications in addition to supporting the Local Area Network (LAN).

One obvious use for this cabling was for the internal phone lines. Normal BT lines are limited to a Ring Equivalence Number (REN) of 4, and with handsets having typical RENs of 1, this limits the number of devices that you can, or at least should, connect to a single phone line. With a requirement to install phones in at least two public rooms, one bedroom, two office/studies, the loft and garage as well as the need to connect two satellite receiver boxes, this was going to present a problem. My initial solution was to install a Private Branch Exchange (PBX) - it sounds grand, but you can pick these up new for a reasonable sum on eBay. I chose a 19" rack mount unit which supported 4 PSTN lines and 16 internal extensions, although only one PSTN line was ever connected. The Cat6 cable from each room is terminated in a patch panel in the loft and the PBX was installed there. Although this system worked reasonably well, it wasn't my ideal solution, so I have just migrated to using a Voice Over Internet Protocol (VOIP) based system.

The networking infrastructure in the house is pretty comprehensive and the addition of a VOIP system seemed like a natural progression, particularly as PC based VOIP solutions are now freely available. In fact, "freely" is a good description. A number of free systems are available, including the open source Asterisk ( telephony project which is available free to all under the terms of the GNU General Public License (GPL).

However, the system that I chose was FreeSwitch ( FreeSwitch is another Open Source project, headed up by one of the original Asterisk developers, (Anthony Minessale). An interesting article on Anthony's motivation behind developing FreeSwitch can be found here.

So, what actually is FreeSwitch ? Well, quoting from the FreeSwitch home page . . .

"FreeSWITCH is an open source telephony platform designed to facilitate the creation of voice and chat driven products scaling from a soft-phone up to a soft-switch. It can be used as a simple switching engine, a PBX, a media gateway or a media server to host IVR applications using simple scripts or XML to control the callflow."

FreeSwitch is available as either source code or as precompiled binaries for a range of platforms including Windows, Linux and Mac OS. I believe that the majority of users and developers are running it under various flavours of Linux. Although I may head down this road in the future, I wanted to quickly evaluate FreeSwitch under Windows, so I am currently running the precompiled Windows package.

I started by downloading the binary and installing it under WindowsXP on a 500 MHz Pentium 3 with 512MB of RAM. I knew that this was not going to be a powerful enough machine for actual use, but it gave me a good appreciation of what FreeSwitch could do and confirmed that it would meet my needs. Before I went ahead and bought any hardware VOIP phones, I used the excellent X-Lite softphone from CounterPath Corporation for initial testing. These tests quickly confirmed what a great system FreeSwitch is and inspired me to source a higher spec PC to run it on. I picked up a new Dell Optiplex 755 with a 2.4 GHz Quad Core Q6600 and 2GB of RAM for 200 from eBay.

The side bar contains links to installation of the "production" system and how it is configured in my application. The one area where FreeSwitch may be a little lacking at the moment is in the documentation but there is a great Wiki which is developing all the time and contains a wealth of useful information. There is also a very active user conference with a mailing list and presence on IRC.

Disclaimer !

Most, if not all, of the information on these pages is at a very basic level. For anyone with a telecoms or IP Telephony background, the information presented will no doubt appear overly simplistic or maybe even wrong. However, it is my best attempt to describe what I've done, along with the mistakes that I've made along the way - hopefully, others will find it useful. Please bring any glaring errors to my attention though and I'll correct them.



mailto: Webmaster

 Terms & Conditions

Page last modified