Like every other website on the planet, SmallNetBuilder uses cookies. Our cookies track login status, but we only allow admins to log in anyway, so those don't apply to you. Any other cookies you pick up during your visit come from advertisers, which we don't control.
If you continue to use the site, you agree to tolerate our use of cookies. Thank you!

{mospagebreak toctitle=Introduction, Design, Routing}

Introduction

Jazinga MGA120

At a Glance
Product Jazinga VoIP PBX Appliance (MGA120)
Summary Asterisk-based small business PBX in a box
Pros • One box solution with wireless router and IP-PBX
• Very easy to set up
• Strong telephony features
• Onboard ATA with analog "lifeline"
• Slick auto-provisioning of common IP phones
• WMM support for VoWi-Fi
Cons • Weak wireless range
• No WPA2 encryption
• No PoE in switch
• "Wizards" still a work in progress

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.

Design Details

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.

Jazinga board
Click to enlarge image

Figure 1: Jazinga board

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

Jazinga rear panel

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

Routing Features

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

Setting Up

The Jazinga system arrived with minimal printed documentation—just a two-sided, single-sheet quick setup guide. This described physical setup and installation through to the end of the initial setup wizard.

Happily, the on-board help system is fairly comprehensive. It was useful in clearing up many of the questions I had when examining the advanced system menus. Although the basic information is there, the help details are sometimes a little thin, lacking reference to underlying principles. A little more depth might prove useful.

Jazinga provides two layers of administration. The wizards make basic processes very simple for inexperienced users. The rest of the "advanced" menus expose more of the internal details of the system.

In fact, while there are multiple wizards, they are really still a work in progress, with some more useful than others. However, both approaches are dramatically easier and more intuitive than administering Asterisk at the command line, or even some other web-based administrative overlays that I have used.

The most involved wizard is the one that runs at initial startup to get the system's network and VoIP parameters defined. Beyond that, there are other wizards that can be used to achieve specific tasks such as:

  • Add / edit / remove a user profile
  • Create an auto-attendant menu (IVR)
  • Manage VoIP service provider accounts
  • Add /edit / delete a new route in the system (inbound calling)

I started by attaching the various devices I was going to use with Jazinga. This included a couple of Polycom phones, a Panasonic cordless phone on one of the analog FXS ports and a laptop for administration. Lastly, I made the connection from the systems WAN port to a Comcast cable modem.

At initial power-on, the system beeps once then starts to boot and run various applications. After a pause of a few minutes, it sounds three beeps in quick succession. This indicates that the system has booted successfully.

The boot process seems a little long at first and gives little indication of what is actually happening. On a larger Asterisk server I would normally be logged in via SSH and watching the console to monitor boot progress. With Jazinga, I just listened for the beeps and watched the front panel light for periodic drive activity.

Once fully booted you are ready to go through the initial setup of the system using the web interface. The system assumes a default IP address of 192.168.50.1. Pointing a web browser at that address or more simply http://jazinga.local/ brings up the initial login screen.

Setup Wizard

The very first time you access the web interface you are met by the Setup Wizard (Figure 3).

Setup Wizard start

Figure 3: Setup Wizard start

The wizard takes you through the initial setup in about twenty steps as follows:

  • Welcome screen
  • Emergency dialing (911) notice
  • License agreement
  • Establishing an admin password
  • Establish WAN connection type & related settings
  • Enable Wifi, establish encryption type and passphrase or passkey
  • Select analog line or a VoIP account for default use
  • Enter VoIP account details
  • Enter initial user profile
  • Assign user an extension number & voicemail
  • Assign user a phone
  • Optionally establish “Team” aka ring groups
  • Optionally establish an auto attendant menu
  • Create auto attendant script, select text to speech or record your own voice
  • Setup routing for each auto attendant selection
  • Auto attendant graphic summary
  • Setup Wizard summary

The initial setup process is quick and took me less than 30 minutes to have the system up and running with a couple of users and extensions.

Check out the slideshow See the slideshow for Setup Wizard tour and other admin screens

The auto-attendant portion of the setup was interesting in that it offered two ways to create the menu announcements. Presuming that one phone is already set up and working, you can record the announcements in your own voice. This is very much like configuring a voice mailbox, a process that should be familiar to everyone by now.

Alternatively, you can type in the auto attendant script and choose to have the system use a text-to-speech feature read the announcement for you. Text-to-speech programs have been around for awhile but have never been as easily accessible as this. The program used a female voice to read the IVR script. While it stumbled with some words, it was in fact better than I had expected. Most people, especially businesses, will probably choose to record their own menu prompts so that they flow well and sound as natural as possible.


Feature Tour

At the end of the setup wizard, I was a little surprised to find that the system was not completely ready to make and receive calls. I later found this was due to a minor problem in configuring the VoIP account credentials. This caused me to examine the admin menus in greater detail, going beyond the automation the wizards offered on the main web screen.

Navigating to the Internet tab on the web GUI, I found all of settings that I would expect to have on a wireless router. These will be completely obvious to anyone with any amount of networking experience. Figure 4 shows the Internet > Connectivity screen where you set up the router WAN connection. I have included screenshots of other router setup screens in the slideshow.

Advanced Menu - Internet Connectivity (WAN)
Click to enlarge image

Figure 4: Advanced Menu - Internet Connectivity (WAN)

Moving on to the Telephony tab of the web GUI reveals all of the various settings relative to the Asterisk portion of the system. Figure 5 shows the Phone configuration screen.

Advanced Menu - Phone configuration
Click to enlarge image

Figure 5: Advanced Menu - Phone configuration

As old school Asterisk users will surely point out, the convenience of the GUI is almost always paired with constraints on the end-user. It presumes that you will use the system in a manner common to a large number of users and may not readily accommodate esoteric configurations.

While this is true, Jazinga targets a user that is not likely facing exotic requirements. I was able to use the advanced menus to configure users, phones and VoIP accounts easily, and much faster than I would have on my old Astlinux server.

The PBX market has traditionally suffered a sort of “feature frenzy.” Vendors adding a bewildering array of features not because they were necessary, but because they were on someone’s marketing checklist.

Jazinga delivers the full feature set of a nicely configured small business Asterisk system, such as:

  • Blind transfer
  • Attended transfer
  • Music-on-Hold
  • Voicemail with message forwarding to e-mail
  • Call park & pickup
  • Conference rooms (2)
  • Multiple auto-attendants
  • Teams (aka ring groups)
  • User directory
  • Paging
  • Schedule-based call routing
  • Auto Callback
  • Remote SIP access
  • Remote admin access

Some of these functions may sound like IP phone tasks and not PBX functions.  But remember that Jazinga provides two analog station (FXS) interfaces. So these features also need to be exposed in the PBX dial plan and made available to extensions via * codes.

For example, *69 invokes a last number redial function, or *00 which is an “all page” causing all phones on the system to ring. The “Teams” feature lets you establish ring groups so that multiple phones ring when a call get routed to a specific department.

The music-on-hold feature (Figure 6) makes it very easy to upload music files right from the web interface. Once uploaded, the file is automatically transcoded into G.711 format for storage. This conversion takes under a minute for an average length song. Tracks listed as available for music-on-hold can be marked active, disabled or deleted as necessary.

Music On Hold
Click to enlarge image

Figure 6: Music On Hold

Jazinga claims that there is a “unified communications” angle to their voicemail implementation. When email integration is set up using IMAP, not only are messages forwarded to the user via email. But when the email is opened and/or deleted, such actions are reflected in the status and availability of the original voicemail on the Jazinga system. While very interesting, this was not something that I was able to test during my time using the system.

The onboard analog interfaces support two extensions and one trunk line. That could be enough for a very small home system but a few more extensions are often required in real-world installations. You have the option of adding a supported external ATA device to add a few more analog extensions. But the better approach is to add a few inexpensive IP phones.


IP Phone Auto-Provisioning

A significant part of the setup of any IP phone system is provisioning the phones themselves. “Provisioning” is essentially the creation and management of the configuration files that define phone settings. Every phone’s setup will be just a little different, reflecting each as a unique extension, referencing a specific user's voicemail, contact list, etc. Provisioning is a very detail-oriented task and typically the domain of a consultant or installer.

Every manufacturer uses a slightly different provisioning scheme. Some use a TFTP server to dole out text-based configuration files, while others use FTP or HTTP to serve XML-based configuration files. Phone firmware is also typically distributed via the provisioning server, making it a simple matter to upgrade the firmware on a number of phones at once.

Auto-provisioning one aspect of the Jazinga system software that really stands out. The box is a very capable provisioning server. It uses its vantage point on the network as DHCP server to automatically create and distribute provisioning details to the phones.

In my case, I plugged a couple of Polycom SoundPoint IP430 desk phones into the system and gave each one a reset keystroke (1, 3, 5 & 7) to restore it to factory fresh status. On reboot, each phone took an IP address from the DHCP server then automatically loaded new Boot ROM and firmware images from the Jazinga server.

Finally, the Jazinga system handed out the operational configuration for each phone. When the process was completed, the phones had extensions and were ready to be assigned to users. It was truly slick and utterly painless.

The system supports auto-provisioning of phones from a number of leading manufacturers including;

  • Aastra
  • Linksys SPA-94x, SPA-92x
  • Polycom SoundPoint IP Series
  • Snom 3x0 Series
  • Snom m3 SIP/DECT Cordless
  • Sipura/Linksys SPA-2xxx series ATA’s
  • Vtech

If you have an IP phone that is not directly supported, you simply assign it to be the “soft phone” type while setting up the device. This defeats any kind of provisioning for that phone.

While Jazinga isn't the only Asterisk-based system to support auto-provisioning, I was very impressed that the process worked as smoothly as it did. This eliminates a major headache for the non-technical user.

It would have been nice if the system had included power-over-ethernet (POE) capability in its switch to support IP phones. In combination with a good UPS, this would ensure that Jazinga could ride out minor power outages. Of course, a larger switch will be required in many installations, so PoE could be added externally if required.

Other Features

From its vantage point as the network router, Jazinga is able to support VoIP not only as the Asterisk host, but also by ensuring quality of service (QoS) for VoIP traffic passed to remote ITSPs. In fact, QoS for VoIP traffic is automatic and cannot be defeated.

Prioritization of other network traffic can be established using the Internet> QoS menu on the web interface (Figure 7). The minimum setup requires only that you define the measured maximum upload and download data rates provided by your ISP.

QoS
Click to enlarge image

Figure 7: QoS

Jazinga's one analog line interface (FXO) provides local Telco line access for local calling or as a failover line should IP connectivity be lost. Access to a local analog line can be critically important as a means of accessing 911 and 411 services.

The two built-in analog station interfaces (FXS) provide support for two analog extensions. These are often used to support FAX capability and cordless phones.

With only the one analog trunk interface Jazinga is clearly intended to leverage IP trunks from VoIP services providers. Since it’s Asterisk at its core, Jazinga supports IP trunks using either SIP or IAX2 protocols. Both types are easily set up, although since Jazinga is its own firewall, there may be little incentive to choose IAX2 over SIP.

Jazinga has made no special effort to provide fax capabilities. That said, a fax machine connected to one of the FXS ports would work perfectly fine as long as it used the analog trunk for all its calling.

Fax over a VoIP trunk can be hit or miss. Some people report good results when using G.711 encoded calls, while others have nothing but problems. In truth, newer standards for sending Fax-over-IP (T.38) have evolved. But hardware support for this is still somewhat limited.

If fax is a concern to anyone considering Jazinga, the simplest and most reliable thing to do is provide a dedicated analog line for the fax machine, or use a fax-to-email gateway service. That could eliminate the need for a fax machine entirely.

In Use

By happy coincidence, a new Wi-Fi SIP handset arrived just days before I set up the Jazinga system. This gave me a testbed with which to revisit voice-over-wifi (VoWifi or VoWLAN), something that I’d pretty much given up in favor of DECT cordless phones.

The pair worked reasonably well in cursory testing, although with considerably shorter range than my DECT cordless phones. The WMM feature of the Jazinga Wi-Fi interface seemed to work. Calls from the Wi-Fi phone did not suffer breakup even as I downloaded a large suite of files via FTP over the Wi-Fi.

At no point in my use of Jazinga did the term “codec” ever come up. So I asked the manufacturer and confirmed that the system operates exclusively in G.711. This is good from the standpoint of call quality and maximizing the number of concurrent calls supported by the hardware. With no possible transcoding between codecs, the CPU load is light.

However, the higher bandwidth requirements of G.711 may limit the number of calls that you can pass over a limited bandwidth connection. This is typically a function of the maximum allowable upload speed, emphasis on the “Asymmetrical” in ADSL. At 80 Kbps per call, some lower speed (256 K) DSL connections will support only a couple of simultaneous calls.

When asked about broader codec support, the manufacturer responded that it could be possible in the future if they see enough demand from their users. They expressed some concern about the possible cost and complexity of licensing patent-protected low bit-rate codecs like G.729a.

As was described in my earlier Astlinux article, transcoding to and from compressed codecs is processor intensive. The 500 MHz Geode in the Jazinga device could likely handle only five or six simultaneous transcodes. So the bandwidth savings might not yield much real-world benefit.

Technical minutiae aside, it’s easy to see how Jazinga could easily support a small office with perhaps a dozen phones and four to six trunks. The only issue would be ensuring adequate bandwidth to sustain the IP trunking. Six active trunks would need roughly 512 Kbps in each direction, well within the capabilities of mid-range DSL or cable modem service.

I encountered a couple of minor issues during set up and contacted Jazinga for help. They were immediately able to access the box remotely and provide assistance. And while they were accessing the system, performed a software update as well. The problem I faced turned out to be at the provider end of a VoIP account. Jazinga’s support staff were clear and helpful, making the whole experience painless.

In many ways Jazinga is the ideal customer premises equipment (CPE) for a VoIP service provider or reseller targeting small businesses. It’s entirely self-contained and can be used stand-alone, yet could also be the platform for various services. For example, an online reseller or ITSP might sell a 24/7 technical extended support knowing that they have secure yet convenient remote access to standardized on-site equipment.


Conclusion

Jazinga has targeted an interesting niche with the MGA-120. Not long ago, the prospect of an inexpensive, easy-to-use IP PBX with big business features was essentially fantasy. By leveraging Linux and Asterisk on custom hardware, Jazinga has delivered an exceptional combination of value & capability with middleware that makes it simple to use.

The Jazinga system is definitely the easiest to set up IP PBX that I have ever encountered. But while it works well, it still requires some knowledge on the part of the person doing the configuration. For the moment, at least, that makes it the perfect complement to smaller VARs, IT consultants, and even ITSPs who can support inexperienced or indifferent end-users.

As a wireless router, Jazinga is definitely middle-of-the-road. But the synergy of routing and IP telephony functions in a single, reasonably-priced device is truly compelling for a new installation. In my case, I already have an draft 802.11n AP. So while I’ll probably use Jazinga as my primary router, I will simply disable the Wi-Fi.

At $1095, the Jazinga system is perhaps more expensive than assembling comparable hardware pieces. But the combined hardware and software approach ultimately saves a lot of time. If your time is valuable, then Jazinga is a bargain.

But should you consider spending that much on a product from a relatively unknown company that is just coming out with its first product, especially during these troubled times? You'll have to decide that for yourself, but here is a little info to help:

  • The company was founded in February 2007
  • 10 employees
  • VC funded and solid until Q3 2009
  • Product was introduced at ITXPO East in January 2008
  • Shipments began September 2008
  • Just closed a US distribution deal and will be available from the major online vendors (including VoIP Supply) in the next few weeks.
  • Primary support will be from retailer, not Jazinga.

As an Asterisk user since 2003, my approach has been to “roll my own” systems. I started out using a spare desktop PC, the eventually migrated to the Soekris Net4801 embedded hardware described in my January 2006 article. From that point, I moved to a recycled HP T5700 thin client, which has been in service for two years.

I’m not afraid to DIY, but I am not as compelled to tinker as I once was. Since I now depend daily on my Asterisk PBX, the prospect of rebuilding it was something I just kept putting off. Further, some of the new smaller Asterisk appliances finally addressed my desire for quiet, low power hardware.

Jazinga set out to create a one-box solution to SOHO networking and telephony. Their intent was that it should be simple enough to be installed by a complete beginner. Have they achieved that goal?  I don't think that Jazinga is totally there yet, but they are well on the way, and I like where they are going with the product.

My bottom line is that I have decided to keep the Jazinga system and will put it into production very soon. If Iam lucky, I may eventually forget the vi skills that I had to learn when I first tried Asterisk many years ago.

Check out the slideshow See the slideshow for Setup Wizard tour and other admin screens

Discuss this in the Forums