The Grandstream BudgeTone 100 VOIP and GX2000 telephones are telephones
that do VOIP, from a company called Grandstream.

The company's java configuration tool (which creates tftp files)
is available at http://www.grandstream.com/y-configurationtool.htm;
the company's firmware download page is at
http://grandstream.com/y-firmware.htm

GsUtil is a short program I wrote to dump and restore the data
from these phones.  Since a reboot is required to make the
configuration change effective, this program does that too.

It's written in Perl, tested on Fedora Core 4, and provided as
tarball and rpm files.  Only perl and perl-libwww-perl were
used, and they came with the operating system, so you probably
won't have to download any perl modules.

Version 1.x was done for the 1.0.5.11 firmware, and
Version 2.x is for the current 1.1.0.16 firmware on the GXP2000,
  and 1.0.8.23 on the BT-101.
Version 3.x is for the same firmware, but it's been rewritten
  almost from scratch: cut-and-paste helped.

Help message:
  Version 3.1 of GSutil, a GrandStream BudgeTone phone backup, restore
  and reboot utility.  Written by Charles Howes (gsutil@ch.pkts.ca).
  http://www.pkts.ca/gsutil.shtml
  Usage: gsutil -[b|d|e|h|r] [-w] [-n] [-o] [-p password] address..
    -b : reboot
    -d : dump to stdout
    -e : show phone firmware versions
    -r : restore from stdin
    -w : wait for device to be free (moves busy devices to end of list)
    -n : don't wait for reboot to finish
    -o : don't translate configuration values
    -p : password (default: admin)
    -h, --help : print this help
    --version : print the version of gsutil

Examples:

  gsutil -d 10.10.13.5 > phone1.conf   - dump configuration
  gsutil -do 10.10.13.5 > phone1.conf  - dump in GS compatible style
  gsutil -r 10.10.13.5 < phone1.conf   - restore configuration
  gsutil -b 10.10.13.5           - reboot phone and wait for it
  gsutil -bn 10.10.13.5          - reboot phone and don't wait
  gsutil -e 10.10.13.5           - show firmware version number

  gsutil -deboner -p admin 10.10.13.5 < new.conf > old.conf
	    - everything at once

  gsutil -d 10.10.13.2 10.10.13.3 10.10.13.4 > out.conf - dump phones
  gsutil -r 10.10.13.2 10.10.13.3 10.10.13.4 < in.conf - restore phones
  gsutil -bn 10.10.13.2 10.10.13.3 10.10.13.4  - boot phones

More than one phone can be specified at once; the configurations are
appended when dumping, and separated when restoring.

The default password for gsutil is the default password for
the phones: 'admin'.

Only the settings listed in the input file will be changed on the phone.
This allows you to change a single setting on all of your phones at
once without having to download, edit and upload each phone's
settings.  Make a configuration file containing only the parameter
to change, and use that as input:

  gsutil -rbn 10.10.13.2 < input
  gsutil -rbn 10.10.13.3 < input

Note: if restoring multiple phones at once, the command line ip
addresses should be in the same order as they were when they were
dumped, or else the configurations will go to different phones.
This may be desirable, or it might upset your users when
their phone number and voicemail get assigned to someone
else's phone.  You have been warned... :-)

Charles Howes -- gsutil@ch.pkts.ca
