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;

https://help.breezeconnect.com.au/a/solutions/articles/44002121780



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.