Originally published in December 2008 at Small Net Builder.
It has been nearly three years since I first published an article detailing my experience setting up an Asterisk server on an embedded PC platform. That turned out to be just the start of a wave of interest in the embedded system or “appliance” approach to Asterisk. Since then, a number of companies have offered ready-to-roll Asterisk appliances.
Many of these Asterisk “appliances” are really just pre-configured servers running a bundle of software built around Asterisk. To meet my definition of “appliance” the system should have no moving parts. That means diskless, fanless, silent and reliable.
Preconfigured servers are very capable but they often have much of the administrative overhead of an old-school Asterisk installation. They usually require someone with Asterisk or telecom experience to plan and implement a working system.
I have deferred upgrading my own Astlinux server a very long time. I knew it had to be done, but also knew that it would be essentially rebuilding the system from scratch. When Jazinga offered to let me evaluate their new Asterisk appliance, I saw the possibility of deploying something simpler, with less administrative overhead.
In their flagship MGA120 PBX appliance, Jazinga set out to build a device that could be installed in a typical small business, home or home office by someone with minimal IT skills. It combines common networking and IP telephony functions with software designed to make installation and administration truly easy.
Jazinga is actually the company name. While the device is officially known by its model designation, MGA120, it is more commonly known as “The Jazinga Box” or simply “Jazinga”.
The system is intended to be the core of a small office network. At its heart it is a custom single board computer running an embedded Linux system that also functions as a router. Various other supporting applications, most notably Asterisk, also run on the system as necessary.
Figure 1 is a photo of the box’s board. It is based on an AMD Geode 800 (500 MHz) CPU, with 256 MB of DDR-333 RAM in one DIMM slot and a 2 GB Intel SSD.
My old Astlinux system was designed to eliminate writes to disk to safeguard the CF media. Jazinga takes advantage of newer technology, using a 2 GB Intel SSD as both boot media and file storage for VM, music-on-hold, configs, etc. Modern SSDs don’t have near the trouble with write wearing that early systems encountered using common CF cards or USB keys.
Figure 1. Jazinga Mainboard
An IC+ IP175C is behind the four-port 10/100 switch and 10/100 WAN port. The board also has two USB 1.1 ports an FXO analog line interface and two FX2 analog station interfaces (Figure 2).
Figure 2: Jazinga rear panel
The 802.11b/g Engenius EMP-8602 PLUS-S mini-PCI radio provides the WLAN. This Atheros-based radio supports 802.11b/g wireless networks and includes support for 802.11e, aka Wireless Multi-Media (WMM) extensions for wireless QoS. This should be especially useful if you wish to deploy any Wi-Fi-based cordless phones in conjunction with Jazinga.
Jazinga runs a somewhat stripped-down version of Linux derived from Ubuntu. The status page in the advanced menus shows a v2.6.20 kernel and Asterisk v126.96.36.199.
If we set aside the VoIP application and just consider its features as a router and access point, Jazinga seems to be typical of most SOHO/SMB products. The basic routing features of the system are listed below.
- Firewall / NAT router based upon netfilter
- DHCP server w/ MAC reservations and “next server” support for provisioning IP phones
- DNS Server
- Dynamic DNS client
- VPN pass-through
- QoS management including auto QoS for VoIP and assignable QoS for other applications
- Port forwarding
- UPnP Service
- TFTP server
- 802.11B/G Wifi Access Point w/ Single detachable antenna, WEP and WPA encryption and MAC address client filtering