Jim Van Meggelen from Core Telecom Innovations introduced a number of VoIP hackers to today's audience at eTel in San Francisco. Many coders are out there building front-ends for Asterisk, but they aren't hacks - they're spendy, glossy, and preconfigured. Here's some of the cooler projects discussed at show-and-tell:
Cool Hack #1: Performance Tuning for Asterisk VoIP
Kristian Kielhofner, the creator of AstLinux, showed the crowd his embedded Linux distribution for running Asterisk. This hack is important if you need your VoIP tuned for performance. First: Heavily loaded servers interfere with sound quality - but while you don't care if a web page downloads slightly slower, you may be annoyed if it happens during a phone conversation. Second: High availability. Larger-scale PBXs have redundant CPU cores, so users don't notice if one goes down. This redundant coverage is very difficult to achieve in Asterisk.
There's now an AstLinux virtual machine built with VMWare Workstation 5. This allows you to experiement with Linux and Asterisk without leaving your typical environment. This application has found a niche with people doing demos, training, or user groups.
Heartbeatd is a server daemon that checks for a "heartbeat" on other servers; if another heartbeat stops, then heartbeatd instructs its host machine to take over for the failed server. This works over both Ethernet and serial interfaces, and is supported by AstLinux. Unfortunately, if Asterisk were to crash, the daemon can't report that its own self has failed.
AstLinux-HA is most useful for VoIP-only applications, since it doesn't yet support routing.
Other limitations include Asterisk's native sounds. Christian had his pal Allison re-record all of the Asterisk sounds in the highest-quality format she could. They then converted directly into every Asterisk format. This eliminated some of the problems of transcoding into loss-based compression formats. These improved files will be publicly available in a couple of weeks.
Cool Hack #2: Playing Zork with IVR
This developer (send me his name if you know it, and I'll insert it here) is using Sphinx to develop an interactive voice response (IVR) version of Zork. You remember Zork...open the mailbox, pick up the leaflet, etc. Sphinx still has trouble with interference and clipping. (Clipping is when you lose the ends of a word, a common problem in IVR devices.)
Clipping aside...adventuring in Zork would sure be better than Muzak for killing time while in a customer support queue.
Cool Hack #3: Integrating Speech into Browsers
Ralf Muehlen stepped up with his VoIP Click2Dial. This hack begs the question...why should this application be so hard? There's plenty of multimedia integrated into browsers. VoIP Click2Dial allows browser users to drop directly into a customer service call queue, rather than having to call in separately from a telephone. This was built using Firefox, GreaseMonkey, and a web-enabled VoIP application.
Klipper is a related hack built using KDE. This could be extended to other browsers, and could also be extended beyond VoIP. If you had an interface to other telephone routing protocols, the API could be extended to include it.
Cool Hack #4: Analyzing User Navigation
Quinn Weaver stepped up from the audience to talk about Dido, a hack for analyzing user behavior and navigation through IVR or other telephony tree systems. This was actually built using XML + Perl rather than Ruby.
There were other cool hacks discussed, but the simplicity of these was pretty appealing. Check them out, and don't forget to tip your server.