Sunday, July 29, 2007

The GrandStream BudgetTone-200 (part 2)

The Firmware Update

I am pleased to say that this was painless and was quite simple to do. I was a little worried about it, but GrandStream seems to have done an excellent job of making it simple to perform.

Defining Simple
If you have the right setup, the update is painless
The requirements for this seem simple enough. You need:
  1. a working dhcp server
  2. a working tftp (or http) server
  3. the ability to configure both
The dhcp server is not strictly necessary as long as the phone is configured with an IP address, subnet, etc.

If you have a working setup already, the firmware update is easy. If you do not have a working setup, you need to start there.

  1. Download the latest firmware update
  2. Unzip the files to the root of the tftp server
  3. login to the phone's web interface (default admin password)
  4. update the Firmware Upgrade and Provisioning to be Upgrade Via tftp
  5. Set the Firmware Server Path to the tftp server ip address
  6. Set the Config Server Path to tftp server ip address
  7. Save settings via Update button
  8. Click Reboot
That's it! The phone will reboot two or three times and at the end (not really evident) you can login to the phone's web site and check the Software Version on the Status tab.


I have not tried the http update of the firmware but I suspect that replacing tftp with http in the instructions above should make it possible.

Friday, July 27, 2007

The GrandStream BudgetTone-200 (part 1)

The purchase:

I recently purchased two GrandStream BudgetTone-200's from This was an amazing experience and I cannot hesitate to recommend I placed the order Wednesday at 10:21 AM and the package was delivered to my door Thursday at 10:19 AM. A couple of things makes that impressive:
  1. It was less than 24 hours
  2. They are located in Mississauga, Ontario
  3. I am located in Moncton, New Brunswick
  4. Google tells me that it is 1,544 km – about 16 hours 2 mins to drive
Granted, they gained an hour in the time zone but I sill had my order in less than 24 hours.

The GrandStream BT-200; First Impressions:

The phone itself seems to be sturdy and well designed with large buttons. I plugged in the parts, the manual says to connect all the parts and the network before the power and that makes sense.

As soon as the power is supplied the following occurs:
  1. a red light appears
  2. you hear a little noise (like a speaker)
  3. No IP appears on the display
  4. The default date and time 1900-01-01 0:00 AM appears on the display
  5. The correct date and time (more or less) appears
At this point, there is a dial tone and if you left the receiver and press the MENU button you find the IP Address of the phone.

The GrandStream BT-200; Initial Configuration:

The first thing I noticed was that the time was off by an hour or two. It was just an annoyance but it was the first thing I tackled. Pressing the menu butting displayed a number of configurable items but nothing related to time and I also noted there did not seem to be any SIP configuration available.

Upon reviewing the manual I noted that the phone has a web server that is used for configuration. More experience with VOIP would have probably made that obvious but it was not. I opened Firfox and entered (the IP address revealed by lifting the receiver and pressing MENU).

That brought me to the Grandstream Device Configuration page and yet another review of the manual told me that "123" was the user password.

Logging in, I set the Time Zone and enabled Daylight Savings Time. Upon applying the setting it explained that a reboot was necessary. Rebooting caused my IP address to change (DHCP is the default) so I need to discover it again (Lift Receiver press MENU) to continue exploring the config.

The GrandStream BT-200; Exploring the Configuration:

Logging in as an "End User" (the default 123 password) allows you access to the Status and Basic Settings tabs. I clicked on the Advanced Settings and Account but received a rather unhelpful message: Access Denied Content-Type: text/html;charset=iso-8859-1 Server: Grandstream/1.10. It took some time to realize that you need to login as the "Admin" (the default admin password) on the initial login page. You cannot login as an End User and then escalate to the Admin. A nice "You need to login as the Admin" page would have been helpful.

Accessing the "Status" tab displays some information about the phone. In particular, it displays the Software Version. In my case, the installed Program-- and Bootloader-- versions seemed well behind the current version of the firmware displayed in the site ( It seems that one of the first tasks will be to upgrade the firmware.

The GrandStream BT-200; Initial Tests:

Browsing through the manual, I noticed that it is possible to make IP to IP calls if you have multiple devices on the same network (subnet). To place a direct IP to IP call, first off-hook, then press the “MENU” key, then enter a 12-digit target IP address to make the call and press the SEND button.

This is where having multiple devices really has advantages when you are trying to understand VOIP and you want to verify that the phones actually work. With this out of the way (and a nice conversation with my 2 year old with the new phones) I was ready to look at the firmware upgrade.

Saturday, July 21, 2007

Migrating Evolution Contacts to Gmail

Evolution exports its contacts in a VCard format. You can simply select all contacts that you want to export and save a VCard. All VCards a saved in the same file.

Getting the contacts out of VCard format and into something that is usable for GMail takes a little Perl code. The following code creates a comma separated value format file in GMails native format. It currently only supports two sections Personal and Work.

The inspiration for this was is was based on the Linux Journal article at it was completely rewritten (well some cut and paste and editing) to take advantage of the GMail csv format that allows you to import your information into named sections. In addition, it properly formats the address (Canadian Standards)

No doubt you may need to modify it for your own use. That is fine, but this code is licensed under the terms of the GNU General Public Licence

You can download the code from:

You should note that an issue in GMail results in being unable to view some imported contacts. The work around is to clear your cache and restart the browser.

I have updated the script recently to use alternative email addresses if they are available...