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.
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.