I don't use Fusion provisioning at present, but use a bunch of HT802 devices with FusionPBX and they all work fine. I have seen the config paths not save when the firmware is old, or the device needs a reboot. Grandstream does not lock these addresses down that I have ever seen, neither on the phones nor the gateways. If you want to do it the manual way, you could try:
1. If you have any doubts about the configuration being messed up, do a factory reset. Methods to do this are listed in the manual:
2. Recommend you upgrade to the latest firmware if you haven't already -- there have been some nasty security and other bugs fixed in recent versions:
Firmware updates and more.
www.grandstream.com
2a. To update the firmware manually, download the firmware from the above, then on the HT802 menus navigate to Advanced Settings, scroll all the way near the bottom, and choose Upload Firmware from local directory.
3. After the device has rebooted and you have confirmed it has the new firmware, set it up just like a phone:
3a. If you haven't already configure a normal extension in FusionPBX you want to use.
3b. On the HT802 navigate to the FXS port1 or port2 menus.
3c. Put in the Primary SIP Server address. If you have Fusion set up with a domain name, you must use that instead of the IP address.
3d. For the SIP User ID and Authenticate ID put the Fusion Extension you created, and the Fusion Extension password under Authenticate Password.
4. Scroll the bottom of the page and Apply. After a few moments check the Status page of the HT802 -- it should show Registered.
There are a bunch of other settings you can adjust, but the above are the most essential to make it work at least at a basic level. I've got the HT802's in use for analog phones, elevators, etc. Also tested them using analog fax machines (may be SIP provider dependent), and have only had trouble getting them to work with certain fire alarm systems so far. Oh if I remember correctly, I did have trouble with one elevator not hanging up properly and had to adjust the Loop Current Disconnect Duration to 500ms from the default 200ms.