TechHome Giving technology a good home
   Home      About us      Links     |     Electrical    Entertainment    HVAC    Networking    Plumbing    Security    VoIP    Wireless   

One of the first things we did after setting up our phone system was to experiment with the different ways that you could extend its capabilities. By using Asterisk we have relatively easy access to the internals of the system and can tweak the behaviour without totally rewriting the software. The easiest way to extend the system is by using the basic functions built into Asterisk itself. However, if you want to get really fancy you need to think outside the box. Asterisk makes this easy too. It includes a feature known as AGI scripts which allow you to write other programs or scripts to interact with Asterisk.

The Weather Channel

Being a weather freak I decided to experiment with getting the weather by dialing an extension on our new phone system. I started by writing up a quick shell script to download the weather from the internet and parse it. Basically I just strip out all the formatting and leave the basic forecast. That was easy and works well but how do we transfer this information to us over the phone.

Speak to me

While looking into how to get the system to read the weather to us we had a quick look at text to speech software. As it turns out there is a free text-to-speech system available for use with Asterisk. Cool! The Festival text-to-speech engine is relatively easy to setup and seems to work reasonably well. You feed it a text file and it spits out an audio file (wav). In the end it makes for a really slick system. You dial an extension and the phone reads you the current forecast. Of course the next obvious step is to extend the same concept to read you anything else you can imagine.

The script

If you want to try the script out for yourself feel free. You will most likely need to make some adjustments to get it to work for your environment / location.

Download the script and give it a whirl.


Voice over IP (VoIP) is the new digital phone technology that is revolutionizing the telecommunications industry. By digitizing voice communications companies can compress the data and send a lot more data over the same connections. They can also reduce signal degredation over long distances since the signal can be verified along the way and reproduced exactly. By linking the calls to computers more directly it is also possible to achieve a much higher level of systems integration than you could with analog phone systems. Add to that one of the major players in the field being an open source software solution and you get virtually limitless possibilities.

In our case we have completely eliminated analog phones except one emergency phone for backup purposes. All of our phones are interconnected including our cell-phones. We have a single voice-messaging system that will email us our messages or call us with them if we are out.


One of the key factors in being able to setup and experiment with Voice over IP is the availability of a free server platform. In the traditional PBX model you would have a proprietary box sitting in your office somewhere which would connect to (you guessed it) proprietary phones which only work with that one PBX box. Ah the joys of vendor lock in. Well with the advent of VoIP and the SIP protocol we now have an open playing field. Add Asterisk, an open source VoIP PBX implementation, and you also have an open server platform to build off of. So what does all this mean?



Well... First off now anyone with a spare PC can setup a VoIP PBX and connect up a few soft phones and have a phone system. You can then go and add any number of hardware phones from any number of vendors (no vendor lock in here) and place calls between them. If you shell out a few bucks you can even tie that new phone system into the rest of the world. This can be done either over the interent to a VoIP provider which will sell you a phone number (pretty much anywhere in the world) or by adding a special card to your server and plugging it directly into the public phone system. Special devices even exist to attach your phone system directly to the cell network. Basically now anything can talk to anything else all using a common language (SIP). Not bad eh?

Hardware Line Cards

Your best and most reliable bet if you want to connect your server directly to the public phone network (PSTN) is to purchase a hardware line card. While there are a number of vendors who supply such cards we would recommend sticking with those supplied by Digium if you are using Asterisk. We did try some of the cards (both analog and digital) made by Sangoma and had nothing but trouble from them. The drivers were buggy and constantly out of date. If you called them you could get beta driver but even they didn't work reliably. Crashes, lines vanishing, problems even getting the things to compile and install. In the end we said enough is enough and decided to stick with Digium. Their stuff just works. No muss no fuss.

In our home PBX we use a TDM400P PCI based card to connect up our analog phone line as a backup for our internet based primary line. This card provides up to four ports for either internal analog phones or external phone lines. You can configure the card however you want by purchasing the appropriate modules for each port.


A good idea in theory. In practice these things just don't cut it. WiFi simply requires more power than they have figured out how to cram into such a small space. Sure it works for devices that are only sometimes connected to the network (iPhone for example). But for a device that has to be connected continuously there is just too much power drain. These devices tend to have standby times of less than 24 hours and talk times of an hour or two. We found these two particular devices to be very difficult to setup and extremely buggy. If you must use a wireless phone get a DECT based one. We are personally looking forward to trying out the Polycom SoundPoint IP 200w if it ever gets released.


Like the CISCO 7960 this is the standard by which all other SIP based softphones are judged. Supporting pretty much all standard SIP features it even allows you to attach webcam to your system and make video calls. X-Lite is the free version of the eyeBeam softphone. Available for Windows, Mac and Linux this is the simplest and best solution for quickly and cheaply setting up a SIP based phone.


One of the first affordable SIP based video phones on the market. Despite our poor experiences with our other Grandstream phone we held out hope that this one would be better. While not as bad as the other one this phone still has a really cheap feel to it. We didn't use it a lot but the sound quality seemed to be alright. Obviously the real selling feature of this phone is the video phone support. This part of the device does appear to work well. There are lots of settings that can be tweaked to get a good image over whatever connection you may have available. The big thing to remember is to switch the video codec to h264 instead of h263. This will get you a much better picture. The phone can also be hooked up to a television or projector via an RCA output jack. As a cheap occasional use video conferencing unit this is a good buy. As a day to day use desk phone we wouldn't recommend it.


Grandstream has targetted the budget oriented SIP phone market. These phone feel cheap. The buttons lack nice tactile feedback and feel squishy. The phone is too light and sometime will go flying across (or even off of) your desk. The phone does have a backlit display (which many don't) but the user interface is a real pain. You have to go through lots of menus to get to features and you can't see much at a time on the small display. The really big problem with this phone though is that it often has voice quality issues. Despite upgrading the firmware a number of times we continuously had problems with one way audio or robot voice. The GSM implementation on the phone is so bad as to be unusable - but even uLaw sounded bad. In the end we ditched this phone. It just didn't work reliably and when you are standing next to it and the phone rings you would run to pickup another phone instead of using it.


This phone was and probably still is the standard by which all other Voice over IP phones are judged. As one of the first players in the VoIP market CISCO took heft and threw it at creating a very solid platform. While the original CISCO architecture for VoIP was based on a proprietary protocol they have since largely switched to the open SIP standard. On the materials and construction side of things this phone is a built like a tank. It has serious mass - so much so that it feels a bit clunky sometimes. That said you don't worry about it breaking and it doesn't feel cheap. The buttons have a nice feel to them and the display is big and clear. Sound quality is excellent.

Brendan likes this phone a lot more than Mary does. Mary finds the interface confusing and it requires that you go through a lot of rather obscure menus to do things like turning off the ringer. We used this phone in our bedroom for quite a while, and it is directly responsible for a total ban on phones in our bedroom. The CISCO tended to make random clicking noises in the middle of the night, especially if you accidentally left it in any menu other than the default. The tiny buttons and illegible menus probably would work well in an office setting, but when you are half asleep and just need an ordinary phone, this is not a good choice.


The Polycom SoundPoint IP 500 was one of the first high quality "affordable" SIP based VoIP phones on the market. It supports a wide range of features. Configuration is done using an XML based template system that allows you to reconfigure virtually every aspect of the phone. From what buttons do what to how information is displayed on the screen to how the phone reacts to events, it can all be configured. The build quality is solid and the phone has a nice refined feel to it. Sound quality is excellent as is the display. There were a rash of bad 500/501s that made it to market and all died about a year later. Both older and newer phones seem to be fine though. The default user interface is quite intuitive and friendly.

There are now quite a number of phones all based off of this model.
  • 300 / 400 series - Cheaper but the smaller screens really make these phones a pain to use
  • 500 series - Basically just updates to the IP 500 - All quite good
  • 600 series - These have more lines and are able to accept add on modules to display even more lines - These are aimed squarely at receptionists
    The original 600 had issues with only being able to monitor 7 lines or something which really made them kind of useless.
    Polycom did eventually address this issue in a later firmware update.
Polycom support is not great. They seem to suffer from too many levels of management and tend to get their signals crossed. They also tend to take forever to fix bugs in their firmware. Luckily these days their firmware seems to be quite good making these some of the best phones on the market from both a feature and price standpoint.


As time progressed, and the WAF factor on the kitchen computer had time to slowly inch its way up, we slowly but surely upgraded the system.

We added a custom power button for the computer on the under side of the range hood tucked nicely into the corner. This was actually super easy to do. We just grabbed an old PC, ripped out the power button, extended the wires and pushed the button in place.

With the death of the second motherboard used for this system (an ASUS A7N8X-Deluxe which served very nicely for many years) we decided that we needed to add some better air filtration to the system. The problem was that the greasy kitchen air was being sucked into the cabinet by the exhaust fan we had cut into the top of the cabinet (needed to keep the system from overheating). By sealing off around the cupboard doors with some foam tape from our local Home Depot we made the cabinet more or less air tight. Adding a second cuttout in the top of the cabinet with a filter (a piece of a green scrubbing pad for doing dishes cut to size) made a new source for cool air which won't let all that grease into the cupboard.

We finally found good speaker set that had an adjustable sub. This way we could turn down the sub and get a nice well rounded sound from it all.

We added a TV tuner card (ATI All In Wonder Radeon 7500) which added the ability to watch TV on the system. The ATI software has a really neat feature which lets you have a thumbnail view of all of the channels at once.

We changed the motherboard mounting system to attach it directly to the back of the cabinet with screws in order to prevent it from moving around and added a large heat-sink to the top of the hard drive to help it dissipate heat.

Current parts include:
  • ASUS P4P800 ATX motherboard
  • Intel Pentium 4 2.6 GHz processor
  • Gyration cordless desktop mouse and compact keyboard
    This is by far the best wireless mouse / keyboard set there is.
    The mouse can even be used in the air which is perfect for a kitchen.
    The keyboard is tiny and can easily be tucked away in a drawer (where ours lives)
  • Cambridge SoundWorks 4.1 speaker set with adjustable sub
  • Samsung SyncMaster 712N 17" LCD monitor
  • Creative Labs WebCam Live! Pro
    An interesting aside about webcams: In order for a webcam to work with Vista (or other modern OSes) it must be a USB video class device. This one is not...
  • Seagate 200 GB SATA hard drive (ST3200822AS)
  • ASUS DVD drive (DVD-E616P2)
  • Tripp-lite SMART 750 UPS


 Previous Posts /  Following Posts

Recent posts:
May 27, 2012
October 30, 2010
March 20, 2009
March 13, 2009
February 20, 2009
February 16, 2009
February 11, 2009
February 10, 2009
February 9, 2009
February 8, 2009


Photos / Videos:
May 27 - (16)

October 30 - (23)

March 20 - (13)

February 11 - (1)

February 10 - (2)

February 9 - (10)

February 8 - (2)

February 7 - (1)

February 3 - (7)

February 2 - (3)

January 23 - (1)
January 22 - (2)
January 21 - (2)
January 20 - (1)
January 19 - (1)
January 18 - (1)
January 17 - (1)
January 16 - (1)
January 15 - (9)

October 2 - (1)

July 4 - (8)

October 2 - (2)

June 15 - (1)

July 16 - (2)

June 5 - (1)

October 10 - (12)

September 25 - (2)

Copyright © 2024     Disclaimer