Analog remix part 1: a VoIP manual service exchange

Recently, I decided to revisit the analog side of my home Asterisk VoIP system, specifically, the Northern Electric 302 that I keep hooked up and on display. It’s a conversation piece, for when folks spot the rotary-dial phone, they ask, “Does that thing work?” At that point I explain that I can answer calls on it, but because of the rotary dial (and because I haven’t fashioned or purchased a rotary-to-DTMF converter) I can’t place a call from it.

Until now. With a little tweaking of the analog adapter, a fresh rediscovery of VoiceXML through the Tropo application platform, and some straightforward CGI programming, I have a robotic operator ready to connect me to whatever number I tell her. No dialing necessary!
Speech recognition is not new technology, but I think that using it here is a clever way to get around the limitations of my old technology (the rotary dial) by using the computerized equivalent of even-older “technology” (the human operator). So this discussion on implementing a manual service exchange in VoIP is dedicated to Almon Strowger, inventor of the automatic telephone switch.
There are three components to this:
  • configuring the analog adapter as an automatic ringdown (hot-line) or warm-line
  • programming the speech-to-text “operator” service on Tropo
  • programming the call-back CGI on a web server that can connect to the Asterisk Manager and perform call-handling functions
listed in order of difficulty.
Part 1: the automatic ringdown
Most VoIP-analog adapters (and probably most IP phones for that matter) have the ability to act as a hot-line, which rings a set destination when the phone goes off-hook, or a warm-line, which does the same after a timeout period (for example, six seconds without any digits entered). If you’ve got your vintage analog gear on a dedicated ATA, go for the hot-line, because you’ll never actually be “dialing” anything. As for me, I’ve got my 302 bridged with a Panasonic cordless system, so I need to maintain the ability to dial. But after six seconds of no dialing, the ATA assumes I want the operator and connects the call appropriately.
The hot-line/warm-line is configured in the endpoint’s dial plan. Refer to your device’s manual. The common Cisco/Linksys/Sipura SPA adapters all seem to have the same dial plan syntax, documented here. Here are the key items from that document:

The following implements a Hot Line phone, which automatically calls 1 212 5551234.

The following provides a Warm Line to a local office operator (1000) after five seconds, unless a four-digit extension is dialed by the user.

In my case, my “operator” extension is going to be 1100, so part of my dial plan will contain | P6 <:1100> |, which tells the ATA to automatically connect the call to extension 1100 after six seconds of no input.
Now that the need to dial has been eliminated, we’ll need something useful at extension 1100, which will be the Tropo-powered speech synthesis and recognition system, discussed in a future post.

3 thoughts on “Analog remix part 1: a VoIP manual service exchange”

  1. I asked the eBay seller about the adapters and he wrote, “These items are locked by a service provider.”

    You wrote, “some of those are unlockable,” but $20 is too much of a gamble to maybe get a locked-firmware paper weight, in my opinion.

  2. Some of the UTStarcom adapters , specifically the model iAN-02EX support pulse dialing. I know I had some old rotary phones connected to VoIP using this device. They seemed a little intolerant on the pulse frequency but seemed to be reliable on about 9 of 10 of the antique phone I tested with. Also be cautious of the ringer load with antique phones on any ATA.

    These adapters were used on Lingo and some of those are unlockable. Mine had the unlocked Lingo firmware but I dont think the firmware caused this functionality. It is probably a feature of the generic firmware.

Comments are closed.