Jared Busch Just an IT guy wandering through life

Setup Grandstream HandyTone from Command Line

I try to make use of DHCP boot options to have telephony devices automatically reach out to their provisoining server, but it is not always possible.

If you find yourself needing to setup a Grandstream HandyTone (or most of their phones) you do not need to log into the web interface to do it.

Instead they have SSH enabled by default, so it is very easy. Open your preferred terminal application and ssh in as admin to the IP of the device. The defualt password is also admin.

ssh [email protected]
Grandstream HT802 Command Shell Copyright 2006-2018
[email protected]'s password: 
GS>

Here is a list of the available commands for the HT802.

GS> help
Supported commands:
    config  -- Configure the device
    status  -- Show device status
    upgrade -- Upgrade the device
    reboot  -- Reboot the device
    reset 0  -- Factory   reset
    reset 1  -- ISP  Data reset
    reset 2  -- VOIP Data reset
    help    -- Show this help text
    exit    -- Exit this command shell
GS>

Enter configuration mode by entering config. The command help shows you the available commands in config mode.

GS> config
CONFIG> help
Supported commands:
    set name value   -- Set a variable
    set ip dhcp      -- Set WAN DHCP mode
    set ip address   -- Set WAN IP address
    set netmask mask -- Set WAN network mask
    set gw address   -- Set WAN default gateway
    set mac address  -- Set WAN MAC address
    get name         -- Get a variable
    get ip           -- Get WAN IP setting
    get netmask      -- Get WAN network mask setting
    get gw           -- Get WAN default gateway setting
    unset name       -- Unset a variable
    commit           -- Commit the changes to FLASH
    security         -- Write security table or verify
    help             -- Show this help text
    exit             -- Exit this command shell
CONFIG>

As you can see, you set a variable with the set command. The name paramter is a little misleading as Grandstream uses P values and not readable names for all of the parameters. You can get a listing of all the P values from the Grandstream website.

For this guide we will it up to:

  • talk to a provisioning server over HTTPS
    • P212 # Firmware Upgrade and Privisioning. 0 - TFTP Upgrade, 1 - HTTP Upgrade, 2 - HTTPS Upgrade, 3 - FTP Upgrade, 4 - FTPS Upgrade.
    • P237 # Config Server Path
  • with a username
    • P1369 # HTTP/HTTPS User Name
  • and a password
    • P1361 # HTTP/HTTPS Password

Leave off the P when you enter the commands, and you can see it echoes what you enter.

CONFIG> set 212 2
212 = 2
CONFIG> set 237 pbx.domain.com:1443
237 = pbx.domain.com:1443
CONFIG> set 1360 123456abc
1360 = 123456abc
CONFIG> set 1361 hgfedcba9876543
1361 = hgfedcba9876543
CONFIG>

Commit the change to save it to flash, exit config mode, and then reboot.

CONFIG> commit
Changes are commited.
CONFIG> exit
GS> reboot

When the device reboots, it should hit the provisioning server and pull your config file that you have set up. Here is what it looks for, in the order it hits the provisioning server.

[jbusch@pbx ~]$ sudo tail -f /var/log/httpd/access_log | grep Grandstream
10.2.3.45 - - [23/Apr/2020:11:33:26 -0500] "GET /cfg000b82f35db1 HTTP/1.1" 401 381 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"
10.2.3.45 - 123456abc [23/Apr/2020:11:33:26 -0500] "GET /cfg000b82f35db1 HTTP/1.1" 404 213 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"
10.2.3.45 - - [23/Apr/2020:11:33:27 -0500] "GET /cfg000b82f35db1.xml HTTP/1.1" 401 381 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"
10.2.3.45 - 123456abc [23/Apr/2020:11:33:27 -0500] "GET /cfg000b82f35db1.xml HTTP/1.1" 200 1647 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"
10.2.3.45 - - [23/Apr/2020:11:33:43 -0500] "GET /ht802fw.bin_1.0.17.5 HTTP/1.1" 401 381 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"
10.2.3.45 - 123456abc [23/Apr/2020:11:33:43 -0500] "GET /ht802fw.bin_1.0.17.5 HTTP/1.1" 206 648 "-" "Grandstream Model HW HT802 V1.6A SW 1.0.17.5 DevId 000b82f35db1"