Note: This review was originally posted on the Michigan Telephone, VoIP and Broadband blog
In yesterday’s installment I explained why, in some cases, IAX is the superior protocol to use for VoIP calls. Of course, having a superior protocol doesn’t count for much if the calls don’t sound good. So, my first goal with the AG-188N (sold in North America by CIGear) was to try and get it up and running to the point that I could test the actual audio quality.
First, a clarification from yesterday’s post – I’ve been told that the unit I received had been previously used on a demo and therefore had been repackaged. Normally the power supply comes in a small white box, not wrapped in bubble wrap. Since I had specifically asked for a unit for review purposes, it doesn’t bother me at all that I received a unit that is new for all intents and purposes, but can’t be sold as new – that’s the perfect unit to send to a reviewer.
After unboxing the unit, I hooked it up to my local network, plugged a phone into the phone port, and connected the power supply and plugged it in. I picked up the phone and heard a distinctly foreign sounding dial tone (I later figured out it was a Chinese dial tone, probably since the unit is manufactured in China). I knew there had to be a web interface, but had no idea what IP address had been assigned to the unit. This is the point at which I might normally have referred to the manual, but there was no printed manual supplied. The only manual was on a small “mini CD” that came with the unit. Unfortunately, my primary computer is a Mac Mini, which has a front-loading DVD drive (where you shove the CD or DVD into a slot, and the Mac Mini sort of sucks it in). I had no idea if that drive could handle a “mini” CD, or if attempting to insert it would jam up the Mac Mini’s drive. Since I didn’t want to chance it, I took the expedient solution of firing up my old Windows box just long enough to read the CD and copy it to a shared drive, where I could peruse it on my Mac.

Mac Mini + Mini Disk? Nah, not gonna try it!
Unfortunately that hit a snag as well – the files on the CD are in .doc (Microsoft Word) format, not the more widely accepted PDF format. I never use .doc format – if I am writing a letter or something I use .rtf (Rich Text Format) which is far more universal. Nevertheless, to its credit, QuickLook on the Mac could display the .doc files (I might have installed a plugin to allow that at some point in the past), albeit in very tiny text. I later discovered that I could download the documentation in PDF format at the manufacturer’s web site, although it actually appears that the documentation on the disk is more complete in some sections.
The documentation revealed that in order to discover which IP address the device was occupying, I needed to pick up the phone and dial #*111#
After doing that, a very North American-sounding male voice read the IP address to me. I entered that address into my web browser, and was greeted by a rather plain but functional Logon page:

Atcom AG-188N Logon screen
Back to the .doc file, which revealed that the default logons are “admin/admin for administrator and guest/guest for user.” So I logged in as an administrator, and got this screen:

Atcom AG-188N first screen after logon
Note that there is a left-hand sidebar and a main window. In the upcoming screenshots I’ll only be showing the main window, so let’s get a closer look at that sidebar now:

Atcom AG-188N sidebar
As you can see, this unit has many pages of options, but fortunately we don’t need to bother with most of them just to get the device working well enough to make a test call.
The first thing you will probably want to check is the WAN config page. By default, it looked like this (I have deliberately blurred portions of a few items that probably shouldn’t be shown):

Atcom AG-188N WAN configuration screen
For the majority of users, the main thing to check here is that it is using the DHCP server on your network to get its address – with the “DHCP” button selected and “Obtain DNS server automatically” checked, you can probably ignore the other text boxes. One thing the documentation is strangely silent on is the use of the “Mac Authenticating Code” field – I would ASSUME that’s so you can “clone” a Mac address, if you happen to be so unlucky as to be served by one of those providers that still actually cares what your router’s MAC address is, and you plan to plug the AG-188N directly into your cable or DSL modem rather than a router.
After that I decided to skip ahead a bit and get the IAX setup working. I clicked on “IAX2 Config” and the following screen came up:

Atcom AG-188N IAX2 configuration screen
This is super easy to set up. You only need edit the following fields for use with Asterisk or FreePBX:
After you make the above changes, be sure to click the “Apply” button at the bottom. That saves your changes, as long as the unit is not rebooted or powered down. So now I must bring up this important point:
IMPORTANT: After you make changes on any page, you must press the Apply button at the bottom of the page. But then, after you have made all the changes you plan to make, in order to save them pernamently you MUST click on “Save Config” in the left-hand menu, after which you will see:

IMPORTANT! You MUST click this SAVE button to save your changes!
CLICK THE SAVE BUTTON!!! If you forget this step, you get to enter all your changes again after the next reboot of the unit!
At this point, I tried making a test call to the unit. The phone rang (a short ring by North American standards) but it was perfectly usable, although to my ear the receiver volume was low (people on the other end could hear me just fine, but I had a bit of trouble hearing them). But I quickly found the fix for those things. Click on “Audio Settings” in the left-hand menu and you will see this screen (if you have the older firmware — the newer firmware has additional CODEC options, as explained below):

Atcom AG-188N Audio configuration screen
As you can see, unless you happen to live in China there are probably a few things you’ll want to change there! So I started by changing these:
I didn’t touch any of the other settings on this page. Remember to click “Apply”, and then don’t forget to save your configuration! EDIT: After originally posting this article, I was informed that there are now additional CODEC settings on the page that are in the newest firmware, so I went and grabbed that firmware from Atcom’s web site, uploaded it, and this is what the page looks like after configuration and with the additional CODEC settings:

Atcom AG-188N Audio configuration screen - updated firmware
Now I could receive incoming calls, and I could place some outgoing calls. I say “some” because I still needed to make some adjustments for dialing out (those will be covered next).
So, how did it work? Wonderfully! Calls are at least as clear as any other adapter I’ve used. I have a friend who calls me frequently, and he just happened to call while I was setting this up, so when I got it configured I transferred his call to this adapter and he said that I sounded better than on the original connection (which was another phone that’s connected to a Linksys PAP2). On my end, once I had turned up the volume a bit as shown above, he sounded great as well – certainly as good as any other VoIP or landline connection I’ve ever used, and perhaps even a bit better. My friend also said that he didn’t notice the little bit of echo “tail” that he occasionally hears from my end when we use the other phone and adapter – granted, that may be a configuration issue on the PAP2, but it’s worth noting that this unit seems to be performing better in that regard right out of the box. I would certainly have no reservations about recommending this unit to someone based on audio quality.
EDIT: After a recent upgrade to Asterisk, I found that the AG-188N could no longer register with the Asterisk box using IAX2 protocol, though SIP continued to work great. Turns out that Asterisk has made a change to the IAX2 protocol to help mitigate denial of service attacks. If this is what is preventing your device from registering, you may see a message similar to this in your Asterisk log:
ERROR[12598] chan_iax2.c: Call rejected, CallToken Support required. If unexpected, resolve by placing address 192.168.0.111 in the calltokenoptional list or setting user 1155 requirecalltoken=no
The error message actually suggests a couple ways to work around the problem. If you are using FreePBX, then the easiest way is to open the file /etc/asterisk/iax_general_custom.conf in a text editor and add the following lines to restore the former mode of operation (I do not suggest this as a permanent solution, but you can do it temporarily to see if this is the problem):
calltokenoptional = 0.0.0.0/0.0.0.0
maxcallnumbers = 16382
If using Asterisk without FreePBX, the above lines would go in the [general] section of /etc/asterisk/iax.conf. After making this change, enter iax2 reload in the CLI, or restart Asterisk. If you find this works, then if possible change it to something more restrictive. For example, if your device will always have an IP address in the 192.168.0.x address range, then change the value of calltokenoptional to 192.168.0.0/255.255.255.0, and you might also want to change the maxcallnumbers value to something much smaller that makes sense for your IAX calling volume, such as 16 (see this page for an explanation of this value, as well as ways to allow different limits for different IAX2 endpoints). Now back to the original article text…
So you may be asking, have I found anything not to like so far? Well, only one very minor thing, maybe. The “wall wart” power supply that comes with the unit has the following specifications:
It’s a rather small unit, typical of a “wall wart” except for one thing – when connected to the AG-188N and plugged in, it gets a little bit warmer than I’d expect – sometimes. Yesterday, it seemed to be running a little warm, not “burn your hand” warm or anything like that, but definitely the warmest of the dozen or so “wall warts” in my immediate vicinity. I then unplugged it overnight, and after reconnecting it this morning (and leaving it plugged into the wall but not connected to the adapter for an hour or so, during which time it ran cool as a cucumber), today it seems to be only about as warm as some of the others, maybe even not quite as warm as a couple of them. So what changed – my sense of touch, or did the actual amount of heat produced decrease? Is the AG-188N drawing less current today? Did the fact that I plugged it into a different outlet on my UPS make some difference? Was I just oversensitive to temperature last night? I dunno, and it may remain one of the mysteries of life.
Anyway, it’s not something I’m really concerned about.
EDIT: In hindsight, perhaps I should have been concerned. About seven months after I wrote this review — on the day after Christmas (a.k.a. Boxing Day), to be exact — I noticed that none of the LED’s were lit on the adapter, that the phone that was plugged into it was dead, and that the “wall wart” was now stone cold. I grabbed another, similar power supply that I happened to have lying around, except this one is rated for 1 A instead of 0.5 A, and connected it up and the adapter sprang back to life. I note that the 1 A unit runs at about the same temperature as other “wall warts” nearby (a bit warm, but much cooler than the original unit), so that makes me suspect that the 0.5 A supply might be just a bit undersized, although it’s also quite possible that I just got a defective one. By the way, the replacement “wall wart” came from a VoIP adapter someone had given me that was useless to him because it was “locked” to a particular provider (and unlockable, as far as anyone knows). I always tell people, if you are ever going to throw out a piece of electronic equipment, at least hang onto things like power supplies and cables – you just never know when they might come in handy!
Next up, we take on outbound dial plans, and maybe more… stay tuned!
Disclosure: CIGear provided me with an Atcom AG-188N for review purposes, and allowed me to keep it after I was finished writing this series, and for that I am most grateful.
Previous Installment | Next Installment
Part 1 – The unboxing
Part 2 – Initial setup using IAX
Part 3 – Setting the time and configuring outbound dialing
Part 4 – Setting up SIP, and securing the adapter
Part 5 – Networking and Internal Router
Part 6 – Final Thoughts and Summary Review
Part 7 – Addendum