News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

World’s smallest VoIP PBX?

Oct 14, 2005 — by LinuxDevices Staff — from the LinuxDevices Archive — 70 views

A project to create an embedded Linux distribution around Asterisk, an open source PBX (private branch exchange) software package, is demonstrating a VoIP PBX system running on a tiny Gumstix SBC (single board computer) at the AstriCon trade show this week in Anaheim, Calif. The AstLinux project's demo may be the smallest PBX system ever created.

The AstLinux project was founded about a year ago by Kristian Kielhofner, a 21-year old hacker who runs KrisCompanies, a consulting firm based in Lake Geneva, Wis. The project aims to create a minimal embedded Linux distribution that makes it easy to install and experiment with Asterisk.

The AstLinux project currently maintains several CD images, which can be used to install AstLinux and Asterisk onto CompactFlash cards, using an existing Linux or Windows system. An image is also available for users of the popular Soekris Net4801 and PC Engines WRAP boards, Geode-based boards that run an embedded BSD distribution oriented toward network routers. “The images include everything from bootloader to partition table to first partition,” Kielhofner says.

Additionally, the project offers a downloadable live CD version, which can be used to quickly get going with Asterisk, using any 586 (Pentium MMX) or better x86 system, and SIP phones or softphones. “You'd need to add some hardware if you want to interface with the PSTN,” Kielhofner notes.

Kielhofner says it took about three hours to port AstLinux to the XScale-based (ARM) Gumstix board, thanks to buildroot tools developed by Eric Andersen and distributed with the board. The tools can be used to quickly set up a cross-platform development environment. “I had to change a couple of variables in the Asterisk source. I wouldn't say it was easy, if you don't know what you're doing, but it didn't really take very long at all,” he said.

Asked why he chose such a small board as a demonstration platform for AstLinux, Kielhofner said that he simply wanted to see if it would work. “Almost everything I've ever done has started out, 'I wonder if I could do that?'” he adds.

PBXs are typically run on powerful hardware platforms, because they often have to translate voice streams from one compression scheme to another. However, platforms such as the Gumstix board — as well as the Geode-based Soekris and WRAP boards — have plenty of resources to simply route VoIP calls, as long as the compression scheme is not changed. “Routing is just moving chunks of memory around,” Kielhofner explains.

Kielhofner explains, “Say you have a SIP phone using G.729 compression, which is actually quite processor-intensive. As long as the call goes out on UDP in the same codec, it's actually pretty easy to route.”

In his demonstration, Kielhofner shows the Gumstix board set up as a SIP-to-IAX router. SIP (session initiation protocol) is an open network protocol, similar to HTTP or FTP, that is used to set up and tear down VoIP connections. IAX (inter-Asterisk exchange) is a simple, NAT-friendly UDP protocol created by Asterisk founder Mark Spencer to handle media transmission and signaling on the same port. Kielhofner says his Gumstix-based SIP-to-IAX proxy server can route about 40 calls concurrently.

AstLinux has a flash footprint as small as 7MB, including Asterisk, busybox, and a few other essentials. Kielhofer says his Gumstix implementation has a footprint of 11MB, because it includes advanced kernel routing features, such QoS, netfilter, and iproute2 for traffic shaping. It also includes Bluetooth drivers to support for the Gumstix 400XM's Bluetooth radio, along with OpenSSH. Yet, it still fits easily within the 16MB of flash onboard the Gumstix board.

The 400XM Gumstix board used also supports a CompactFlash card, which Kielhofner formated with ext2 and uses, via a symlink, for voicemail storage.

Asterisk is maintained by Digium, which makes telephony boards and offers support services around Asterisk. Digum sponsored Kielhofner's booth at AstriCon, after Kielhofner gave a presentation on embedded Asterisk at an earlier AstriCon held in Madrid. Kielhofner says several visitors to the booth came up with interesting potential applications for his tiny Asterisk server.

What are Kielhofner's eventual plans for AstLinux? “In about a year or so, I'd like to be able to sell various boards pre-flashed, and supported, similar to the Digium model.”

Kielhofner recommends that those interested in a quick, fun weekend project with Asterisk download the live AstLinux CD image, and see if they can get it working with SIP softphones, such as X-Lite from CounterPath (formerly X-10), which is available for Linux, Windows, and Mac PCs.

More details about AstLinux can be found here. A picture of Kielhofner's Gumstix SIP-to-IAX proxy can be found here.

Digium announced a pair of partner programs, for resellers and component vendors, earlier this week.


 
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.



Comments are closed.