Alternative call waiting service with Perl



If you can’t get through to your home number, a script can check the line status and send a signal to you via the Web to tell you when the line is free.

You’re trying to call home, but somebody is hogging the line. Of course, you could always ask your telco to enable call waiting. The service lets marathon phone users know that a call is waiting by beeping every couple of seconds. On the other hand, the service costs money, and the beep can get on your nerves. This is what prompted me to buy a small phone amplifier, and put together a handy application. The Smart Phone Recorder Control grabs the signal off the phone line and feeds it to the sound card in my Linux computer. Linux can access the signal via the /dev/dsp device, and the Perl Audio::DSP module from CPAN will read it. The script uses a couple of heuristic tricks to determine whether the line is busy, and if so, it keeps on trying until the line is free, before notifying the user via a hidden CGI script on a website.