D.I.Y. Asterisk Appliances: A Question Of Scale

6. Embedded PC Boards

If you want to go about building a small embedded Asterisk appliance in a little more professional manner you might consider any of a variety of industrial embedded PC platforms. These are sometimes called “single board computers” (aka “SBCs”.) The two most common sources are Soekris Engineering and PC Engines.

I have had great success using both manufacturers hardware in a variety of different applications, including running Asterisk. In fact, there are a number of small commercial Asterisk appliances that are based upon this hardware and a bundle of software created by the reseller.

This type of hardware is surprisingly affordable. The boards itself if often purchased stand-alone, a case being an optional extra. The CPU and memory are often fixed to the board. Some models allow for expansion through the use of mini-PCI cards.

Boards that include multiple network interfaces are especially handy as they can act as edge routers, handling network QoS issues for SIP/IAX2 trunks as well as the VoIP activity.

This type of hardware often doesn’t include a VGA output, keyboard or mouse connections. They tend to rely instead upon a serial console connection for initial configuration.

Some models of SBC have internal IDE interfaces, but most have an internal CF or SD memory slot. My preference has been to set them up to boot to a CF card then use the local IDE or USB interfaces to provide local storage for voice mail and configurations.

The ALIX series from PC Engines are less costly, but Soekris Engineering offer some hardware advantages. For example, the Soekris Net5501 includes a standard 3.3v PCI slot. They also offer cases to accommodate the Net 5501 board and a PCI card. That means that you could use it as the basis of an Asterisk system with analog FXO interfaces (perhaps a Digium TDM-400p) or even a T-1/E-1 interface.

If you were to use a TDM-400p card with a Net5501 you’d need to remember that the TDM card requires an extra power connection to provide ring voltage to FXS interfaces. Some kind of physical hack would be required to provide the extra power. Such is not required in the case of FXO interfaces connected to the analog telco lines.

The Net 5501 also has a pair of mini-PCI slots, IDE and SATA disk interfaces.

One very interesting product that Soekris Engineering offers is a dedicated VPN cryptography accelerator in either PCi or mini-PCI form factor. This card can off-load the burden of common encryption processes from the CPU, allowing for increased throughput when using the SBC as a router with VPN features.

Curiously, these SBC platforms tend to be built around slightly less capable CPUs. The current crop of ALIX and Soekris boards use the 500 Mhz AMD Geode LX processor. Superficially, these might seem like less capable processors, but in fact they are more than adequate to handle the kind of load presented by a SOHO Asterisk appliance.

As far as pricing is concerned SBCs cover a lot of ground. A simple ALIX board with a case & power supply is usually around $200. The more flexible Soekris Net 5501 with a case is around $300.

Incidentally, while this post is specifically considering embedded Asterisk appliances we should keep Freeswitch in mind as well. These embedded PC platforms are nicely suited to running pfsense, and there’s a Freeswitch installable module for pfsense.

6 thoughts on “D.I.Y. Asterisk Appliances: A Question Of Scale”

    1. boerner,

      I’m aware of these devices. However, at the start I made the conscious decision not include commercially available Asterisk appliances. There are many such devices available. I wanted to keep a decidedly D.I.Y. approach in mind. Further, I suspect that all of the commercial offerings are more costly than the platforms I wished to consider.

      I must admit that part of the appeal of the thin clients is that I was recycling hardware that was headed to the dumpster. It was at least a little green-ish.

      I do agree that David Rowe‘s work is awesome. We even had Steven Song from the Shuttleworth Foundation / Village Telco as a guest on a VUC call late last year.

  1. Another plug for the IP0X series, especially the very low cost IP01s & IP02s.
    They are so cheap that they are a good choice for the hobbyist / home enthusiast that wants to try out Asterisk.
    Here in New Zealand, we pay less than NZ$300 for an IP01.
    One nice thing about them is they include everything you need.

    On a related note, I once tried getting Asterisk working on a Linksys SLUG (the NSLU2) It was a royal pain. http://en.wikipedia.org/wiki/NSLU2

    I love the idea of an appliance to run Asterisk – no hard drive and no PC power supply to fail. And no noise and very low power consumption.

    My challenge is that I really like “HD Voice” (G.722) so want to run Asterisk 1.6 on an appliance – that has enough grunt to trasnscode G.722 to G.711 etc. Only need to support 3 or 4 concurrent calls at max though.

    1. Andrew,

      Almost all of the platforms that I described will run Asterisk v1.6 and support the use of G.722. Certainly the last three types described (thin clients, SBCs and net-tops) all have more than enough power to handle such matters.

      I know that the latest release of Astlinux uses Asterisk v1.6 and runs happily on the Fit-PC or and older Soekris Net4801. I’ve done both myself.

  2. Excellent read, I just passed this onto a colleague who was doing a little research on that. And he really bought me lunch simply because I discovered it for him smile So let me rephrase that: Thanks for lunch!

  3. Hey Michael,
    Excellent writeup. As I said, your site’s almost as addictive as Wikipedia. A note on REVO 3610.. I am using it as a media center, running regular Ubuntu Lucid with XBMC, playing Hi-Def content with barely getting into 20% CPU usage (720p). It’s a very powerful platform, that runs very little juice. For a proper office setup, you can easily use the Sangoma USBfxo unit, which (according to a quick ebay check) runs for about $125. The manufacturer offers driver source code for download. I haven’t tried working with it yet, but it’s a very interesting option for a hybrid setup.

Comments are closed.