Akom's Tech Ruminations

Various tech outbursts - code and solutions to practical problems

My Not So Great Experience with Grandstream HT-502 ATA

Posted by Admin • Friday, March 13. 2009 • Category: Asterisk

I got 3 of these Grandstream HT-502's for a client's Asterisk setup, and I picked Grandstream basically because they were cheap (client on a budget) and I found no bad reviews. They were ordered February 2009.

First impressions: They are tiny, like two EZ-Passes stacked on top of each other. They are cute, and have all the features you'd expect or even desire in such a device: Dual WAN (routed or bridged, with port forwarding), two FXS ports, some status LEDs, remote configuration and pull provisioning, syslog support, etc.

Well that was the good news...

Server-Based Configuration

  • Configuring using DHCP Option 66: Seems to only work if you use a TFTP server. I could not come up with a way to pass them the HTTP URL no matter what I tried, so I gave up and just set the HTTP host and path manually. I can deal with that on 3 devices. If I had 50, I'd be upset.
  • Server Config Files need to be generated (each time) by an odd java-based utility from text templates that you edit. I may be spoiled by my Aastra phones, but not only is this an extra step I didn't want to have to deal with, but on top of this the templates are only readable because of the comments. The actual settings are not named logically (like "log server ip: bla"), but are cryptic keys like "P190 = bla". On top of this, I am not too keen on installing java on production servers just to update device configs, so I wound up doing this on my laptop.
  • To give them credit, once you deal with the above, server configuration does work. One caveat: If you don't change the config server hostname/path in the config files, the default setting will overwrite your device at the first configuration, and you'll be wondering why resetting it doesn't actually pull configuration from your server any more.


Once configured, they worked. The ever worked well. For a while.

  • Gradually one, then two, and then all 3 started to exhibit a strange and debilitating issue: After a few hours (sooner if used heavily), the device will go into a "overloaded audio" state. In this state you mostly are just hearing noise at the handset, even when not on a call, and you can just barely make out the dial tone behind the static/noise/hum.
  • Resetting the device fixes the issue. There is again a caveat. You can reset it remotely by hitting /cgi-bin/rs with curl/links/wget whatever. I did this with a nightly cronjob:
    for foo in `/usr/sbin/asterisk -rx "sip show peers" | grep "^232" | awk '{print $2}' | uniq` ; do wget -O - "http://$foo/cgi-bin/rs" ; done # (My grandstream extensions start with 232)
    Unfortunately, there are two issues: nightly isn't enough. The devices go crazy every 5 hours or so. Also, if you do not reset it soon, it sometimes goes black completely, stops working and does not respond to anything but pulling power - something I cannot do remotely.

Setup details

It is very possible that my deployment scenario is contributing to the issue. I've attempted to contact Grandstream but so far I have yet to hear back (over a week). The following describes the setup:

  • Product Model: HT-502 V1.1B Software Version: Program-- Bootloader-- Core-- Base-- (latest firmware at this time)
  • Asterisk
  • Ubuntu Server (8.10)
  • Two SIP accounts each, no NAT, SIP INFO DTMF
  • All local features and call waiting disabled
  • Connected via a D-Link 8 port Gigabit Switch. (Note: Aastra phones are also on this switch and this Asterisk, and are having no issues)

I am now considering swapping them out for a Linksys SPA-8000, though I am concerned that there again are not a lot of reviews with actual usage experiences.

Update on the Linksys (Cisco) SPA-8000

It is an awesome replacement. Config had some quirks but nothing excessive - but most importantly - it works. Once you get it set up, it works the first day, then it works the second day, and - you guessed it, it works the third day. What a relief.

0 Trackbacks

  1. No Trackbacks


Display comments as (Linear | Threaded)
  1. No comments

Add Comment

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
Markdown format allowed

Submitted comments will be subject to moderation before being displayed.