I’ve been having this no-ringing issue as well and I’ve found a workaround to get the phone ringing.
This is using 3CX Phone System. I was able to temporarily get the phone ringing by choosing “Ignore Alert-Info Header” just like everyone else. However, as soon as the phone rebooted it would reprovision and change that back to 3CX’s setting.
On the phone GUI, I found that trying to change ringtones didn’t work. The system ringtone played, but Ringtone 1/2/3 were silent. Well, that explains the phone not ringing for external/IVR/queue calls since they use ringtone #1/2/3!
Turns out, the phone downloads those ringtones as .BIN files when it downloads new firmware, from the same server that it gets the firmware from. Maybe Grandstream’s servers aren’t sending out those files with version 1.0.5.48???
I found that downgrading the phone to 1.0.5.44 (which is 3CX’s preferred version) got the ringtones to play. I believe that this is because 3CX’s firmware servers also have those ringtone files, so the phone is able to download them from there and play upon demand.
Problem is, 3CX’s provisioning file has a bug in it that prohibits downloading firmware. You have to disable provisioning temporarily, then download firmware, then re-enable provisioning.
Here is my notes and step-by-step workaround:
Grandstream GRP2613 phones, if allowed to go up to the newest Grandstream firmware, will not ring for incoming external calls.
Here’s the chain of events:
Phone downloads ‘official’ firmware from Grandstream servers. During the download, three custom-made ringtones from 3CX do not exist on Grandstream’s server and thus are not downloaded.
Phone is provisioned on 3CX. Appears to work properly, but shows up as ‘red’ in the Phones dashboard indicating an incompatible firmware version.
Clicking ‘firmware’ button to remotely download proper firmware has no effect. Rebooting phone has no effect.
Internal calls ring properly with the default ringtone. External calls, which are marked by 3CX as ‘external’, are set to a custom ringtone . Remember that the ringtones were not downloaded with the firmware. Thus, external calls do not play a ringtone.
The custom ringtone is NOT changeable in 3CX. The ‘default’ ringtone and ‘queue’ ringtones can be changed, but not the ‘external’ ringtone.
Logging into the phone gives a few options:
1 - change ringtone. Works temporarily but will be overwritten with the next reboot.
2 - download ringtones onto phone. Was not able to get this to work but theoretically could do the trick.
3 - enable the “ignore sip alert-info” option in SIP options for the account. This ignores 3CX’s classification for all calls, meaning every call will ring through with the default ringtone. This works temporarily but again is overwritten with the next reboot/reprovision.
4 - change ringtone and disable provisioning, to prevent settings from being overwritten on next reboot. This would work however hamstrings future changes to the phone because it no longer auto-provisions from 3CX.
4 - download the proper firmware from 3CX, including the ringtones. This is a permanent solution.
I believe that the underlying cause for this issue is the option “FIRMWARE UPGRADE CONFIRMATION”. This is supposed to ask the end-user to confirm every firmware change via a pop-up on the phone itself. Effectively this prohibits automatic remote firmware upgrades. In my testing, I never saw a pop-up to confirm the firmware download so I don’t know if you could reasonably call everyone, tell them to click ‘yes’ when it pops up, and skip the more involved steps below.
Unfortunately, this option is set to “YES” via the 3CX provisioning file. Which means that you have to disable provisioning, temporarily, while changing this option to “NO” so that the phone will finally download and install the firmware and ringtones. If you don’t disable provisioning, then the phone will reach out to 3CX, download its config, and change the option back to “YES” before it reaches out to download the new firmware.
THIS WILL HAVE TO BE DONE FOR EVERY PHONE THAT NEEDS ITS FIRMWARE CHANGED. Must be done AFTER provisioning / assigning in 3CX, otherwise the firmware download location will not be correct (it will just download the newest firmware straight from Grandstream instead of getting 3CX’s preferred version).
Disable provisioning and download 3CX’s preferred firmware:
Log into phone web interface. (Password can be obtained from 3CX phone provisioning tab for each user)
MAINTENANCE -> Upgrade and Provisioning -> “Allow DHCP Option 43 and Option 66 to Override Server”: NO (stop the phone from getting provisioning info via DHCP on the next boot)
MAINTENANCE -> Upgrade and Provisioning -> “3CX Auto Provisioning”: NO (stop the phone from getting provisioning info from 3CX on the next boot)
MAINTENANCE -> Upgrade and Provisioning -> “Config Server Protocol”: FTPS (this will prevent the phone from downloading a new provisioning file, thus wiping out our changes)
MAINTENANCE -> Upgrade and Provisioning -> “Firmware Upgrade Confirmation”: NO (instruct the phone to automatically download & apply new firmware, without asking permission)
Save and Apply – “I WILL REBOOT LATER”
Top-right corner: Logoff admin
Phone will reboot itself either once or twice (even though you clicked ‘I will reboot later’). When it comes back up it will have proper firmware. It may have a new IP address via DHCP, watch the 3CX phone console to get its new IP. (Even though it is not provisioning itself, it is SIP REGISTERing so 3CX will catch its new address).
Phone is now usable by the end-user. However, you will not be able to “apply” the next changes below if they are on a call.
Reset back to 3CX settings and allow future provisioning:
Log into phone web interface. (Password can be obtained from 3CX phone provisioning tab for each user)
MAINTENANCE -> Upgrade and Provisioning -> “Allow DHCP Option 43 and Option 66 to Override Server”: YES (restore previous settings so 3CX can provision the phone)
MAINTENANCE -> Upgrade and Provisioning -> “3CX Auto Provisioning”: YES (restore previous settings so 3CX can provision the phone)
MAINTENANCE -> Upgrade and Provisioning -> “Config Server Protocol”: HTTPS (restore previous settings so 3CX can provision the phone)
MAINTENANCE -> Upgrade and Provisioning -> “Firmware Upgrade Confirmation”: YES (restore previous settings so 3CX can provision the phone)
Save and Apply – “I WILL REBOOT LATER”
Top-right corner: Logoff admin
3CX’s provisioning settings are restored so we are able to change phone settings remotely, and the firmware will not re-download from anywhere. The ringtones play properly via GUI and also ring properly when receiving an external/queue/ivr call. The changes persist through reboots and reprovisions.