We are recently seeing issues caused by the current 3CX/Grandstream firmware version. The workaround is to upgrade the phone to the manufacturer's recent firmware available on https://www.grandstream.com/support/firmware , however, 3CX will push its supported/certified firmware version again, as soon as the phone is provisioned via 3CX.

To avoid this happening, and stay with the latest manufacturer version, please try the below steps;

1. Delete the 3CX/Grandstream firmware on the 3CX Server

- Linux installation; simply go to the below two paths and delete the Grandstream ROM files. 

/var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/{random ID}/firmware/grandstream

/var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/{random ID}/firmware_new/grandstream

For Linux installations, you need to SSH to the server as admin and use the below commands to delete the firmware files;

cd  /var/lib/3cxpbx/Instance1/Data/Http/Interface/provisioning/{random ID}/firmware/grandstream

sudo rm "grandstream ROM file name"

- Windows installation; simply go to the below two paths and delete the Grandstream ROM files. C:\ProgramData\3CX\Instance1\Data\Http\Interface\provisioning\$randompath$\firmware\grandstream

2. Factory reset the phone

3. Upgrade the phone manually to the manufacturer's latest version available on  https://www.grandstream.com/support/firmware

* Unzip the downloaded firmware file and use the .bin file for upgrading the phone

4. Provision the phone again

** By moving the new FW file to the same folder in 3CX, 3CX will push the new firmware to the phones once they reboot/re-provision. This is a better solution especially if you have more than a few phones to upgrade.

For how to move the file to a 3CX Linux installation please use commands provided in below article;


An alternative solution to all above is to use a custom 3CX template with the "Firmware Upgrade and Provisioning" check to “No / Always skip the firmware check” and deploy this to the phone after a factory reset.