Custom Ring Tone Grandstream

Status
Not open for further replies.

TagleRock

Silver Partner
Basic Certified
Joined
Apr 24, 2018
Messages
160
Reaction score
16
Hello Everyone,

I know the topic of setting up a custom ring tone using the built in ring tones on the grandstream has been covered many times, and I have used that info to setup the phone using the built in tones the way we want it. However I noticed that on Grandstream's site they include instructions on creating a fully customized ringtone. I tried following those instructions but I don't think they are working because 3CX just resets the provisioning server location. Does anyone know of any way to setup a custom ringtone on a grandstream phone? Not assigning built in ringtones to a specific kind of call, but fully custom ringtones. I've had people ask for this once or twice and I typically tell them no or that its not supported. Anyways, here is the link to the instructions I was following for this.

http://www.grandstream.com/support/faq/common-questions/custom-ringtone-faq
 
As you said you followed provider doc and this fails, then what do you expect more from here ? the better answer is already the Grandstream one and not 3CX.
 
As you said you followed provider doc and this fails, then what do you expect more from here ? the better answer is already the Grandstream one and not 3CX.
Its a community lol. I asked to see if anyone else has tried it, I didn't expect anything but was hoping someone else had some luck with it. That's the point of a community and a forum like this. Its a sharing of ideas and experiences for a better outcome in the end.
 
Its a community lol. I asked to see if anyone else has tried it, I didn't expect anything but was hoping someone else had some luck with it. That's the point of a community and a forum like this. Its a sharing of ideas and experiences for a better outcome in the end.
You are right, but as you search for something very particular to Grandstream phones, setting which is not supported so not sure lots of 3cx admin are playing with ringtones in covid19 period :) ;)
 
You are right, but as you search for something very particular to Grandstream phones, setting which is not supported so not sure lots of 3cx admin are playing with ringtones in covid19 period :) ;)
It doesn't hurt to ask though. Telecommunications are deemed an essential service, at least in the US, so they may not be playing with it right now, but they may have at some point, and many admins may still be active during this time because of its status as an essential business. Moreover, 3CX is a service that allows you to work from home with your phone as if you were at the office, and working from home is in high demand right now, our ticket volume has increased 3 fold with requests pertaining to remote work, and we have made a couple of 3CX sales primarily based on the working from home selling point alone.

That aside, and I mean no disrespect, but it would seem you don't have an answer to my question, so I invite anyone that does or has any ideas to let me know, although I do thank you for your feedback. For sure a 3CX staff member can tell me if this is something that can be done or not.

And aside from this the Grandstream instructions may not always apply. For example, changing the ringtone from the phone. If you were to follow Grandstream's instructions for this you would go to menu, preference, and ringtone, pick the one you want, and save it, but this doesn't work with 3CX, and even if it did, it just gets changed at reboot, so in this case a supported phone with a feature supported by Grandstream doesn't work because it isn't supported by 3CX and therefore requires 3CX specific actions to implement (changing from the console or modifying a template).
 
  • Like
Reactions: qbitnetworking
This is why i said above this is 3CX unsupported, so the only way is to create a custom template or set manually the phone without 3cx provisioning, set like that phone keep settings even if reboot is done.

finally you'll stay in 3CX unsupported way and you probably consume lot of time for a ring tone.
 
So despite the odd amounts negativity in this thread I figured this out. I hope someone looking to do the same thing finds this and reads this first. It should be noted though none of this is 3CX supported, if you ever call support you would, at the very least, have to reprovision the phone with the default phone template, and possibly undo the ringtone until the support case is finished.

Steps to add custom ring tone (tested on GXP1780 and with Debian 3CX) are below. I would advise making sure you have a backup before proceeding with this, its nothing to fancy but I'm paranoid and like to make sure I have a backup before doing any changes in a production environment (this was done on a test bed but will be done on our live 3CX server soon once I verify the IP Tables commands).

1. Download the ringtone creation tool from here: http://www.grandstream.com/support/tools
2. Edit or obtain audio file you would like to use for the ring tone. This tools creates 8, 16, or 24 second long ring tones, so keep this in mind when editing your audio file.
3. Save the audio file in .wave format
4. Open the ringtone creation tool
5. Click on select and find the .wav file you saved
6. Click on generate ringfile and it will generate a ring1.bin file in the directory containing the .wav file
7. Download a TFTP server (I used SolarWinds)
8. Place the ring1.bin file in the TFTP server's file repository folder (on Windows with SolarWinds this is C:\TFTP-Root)
9. Install the Debian TFTP client on the 3CX server
10. Open the required ports in IP Tables. **IMPORTANT** The way I did this (removed all firewall rules) is NOT recommended for a production environment (this was on a test bed VM), I only did this for testing, the proper way to do this would be to allow all traffic from the TFTP server in IP Tables, this entry can be removed for security concerns later. All traffic has to be allowed (or at least a large range of higher number ports) as the port changes each time the TFTP server attempts to send the data to the 3CX server, causing a timeout because the firewall drops the connection.
11. Get the file from the TFTP server to the 3CX server. The TFTP client will copy the file into the directory where the tftp command was issued from
12. Once its on the server change directories to the Grandstream firmware location
13. Copy the ring1.bin file in the firmware directory to the location where you copied the ring1.bin file from the TFTP server as ring1old.bin (I put both files in the "/" directory)
14. Delete the ring1.bin file in the firmware directory
15. Copy the new ring1.bin file from the directory you copied it to into the firmware directory and make sure its name is correct "ring1.bin" without the quotes
16. Goto the IP of the phone you are working with in a web browser
17. Login to the admin interface of the phone and go to the upgrade/provisioning section
18. Copy and paste the config server path into a notepad for easy input later and delete it
19. Copy and paste the firmware server path into a notepad for easy input later and delete it
20. Type in the IP or DNS name of the TFTP server, do not specify the ring tone file name, the phone will look for ring1.bin, ring2.bin, etc... manually. If the file was placed in a sub-directory specify the sub-directory as well
21. Change the server type to tftp and hit save and apply. Monitor the TFTP server to make sure the phone goes out and grabs the file, you will see several errors since it looks for ring1, ring2, etc... but as long as it successfully gets the ring1.bin then its good.
22. Once it copies it go to the settings->preference->ring tone and go to ring tone 1, if it plays your ringtone then its good.
23. Go back to the phone web interface and copy and paste the original values for the config and firmware server path and hit save and apply, then click re-provision at the top of the web page and check the phone screen to make sure it succeeds (both server types should not be set to HTTPS)
24. After this do one final test by going to the ring tone settings on the phone again to make sure it keeps the ring tone, if it does then its good to go.

Notes: If you need to add a second custom ringtone simply change the name of the file to ring2.bin and follow the steps above, continue for each additional ringtone, changing the number each time

After the ringtone is successfully put on the phone you will need to modify the phone's template in 3CX and re-provision it for it to actually use it (except in cases where it is using Ring Tone 1 since that is what we replaced). There should be guides out there for this so I won't touch on it here.

Incase anyone is wondering i tried just replacing the ring1.bin file on the 3CX server at first but the phone would not download it no matter what I did, which is the reason for the rather round about TFTP steps, it seems it will only download ringtones from a TFTP server.
 
Well done ;) , but WTF all this for a ring toneo_O, thanks anyway for sharing detailled steps you did.
 
The TFTP step was not necessary. You can simply upload the ring1.bin file to the firmware folder via SFTP and the phones will take it.
 
  • Like
Reactions: qbitnetworking
The TFTP step was not necessary. You can simply upload the ring1.bin file to the firmware folder via SFTP and the phones will take it.
If you are referring to the firmware folder on 3CX I tried this and it never pulled it from the server, I reprovisioned it, rebooted it, sent firmware update commands several times, and let it sit over night and it never took it. Thats the reason I did the steps that I did, the only way the phone would go out and grab the file is if it was on a TFTP server. The weird part is that no matter what I did it wouldn't download the custom ring file from the server as this was one of the earlier things that i tried, but if i put the custom ring tone on the phone without putting the custom ringtone on the 3CX server and then put the config server path back then it would pull down the original ring1.bin from the server, which is what lead me to try putting it on the 3CX server, but it never worked, it would only ever use the original for some strange reason. Unless there was something I missed there.

Although uploading directly to the server via SFTP would remove the steps for the IPTables commands and installing the tftp client on the 3CX server, which would simplify the process, i'll have to try this next time. Thanks.
 
Frederick Marcoux is correct, I can't believe I forgot about the SFTP, new steps are below.

1. Download the ringtone creation tool from here: http://www.grandstream.com/support/tools
2. Edit or obtain audio file you would like to use for the ring tone. This tools creates 8, 16, or 24 second long ring tones, so keep this in mind when editing your audio file.
3. Save the audio file in .wave format
4. Open the ringtone creation tool
5. Click on select and find the .wav file you saved
6. Click on generate ringfile and it will generate a ring1.bin file in the directory containing the .wav file
7. Download FileZilla
8. Connect via SFTP to the 3CX server using root creds
9. Change directories to the firmware directory for Grandstream
10. Download a backup copy of whichever ring#.bin you're replacing
11. Upload the ring file you created earlier into the directory, ensuring the name is in ring#.bin format
12. Download and install a TFTP client such as solarwinds
13. Copy the ring#.bin file into the TFTP directory
14. Goto the IP of the phone you are working with in a web browser
15. Login to the admin interface of the phone and go to the upgrade/provisioning section
16. Copy and paste the config server path into a notepad for easy input later and delete it
17. Copy and paste the firmware server path into a notepad for easy input later and delete it
18. Type in the IP or DNS name of the TFTP server, do not specify the ring tone file name, the phone will look for ring1.bin, ring2.bin, etc... manually. If the file was placed in a sub-directory specify the sub-directory as well
19. Change the server type to tftp and hit save and apply. Monitor the TFTP server to make sure the phone goes out and grabs the file, you will see several errors since it looks for ring1, ring2, etc... but as long as it successfully gets the ring1.bin (or whichever one you created) then its good.
20. Once it copies it go to the settings->preference->ring tone and go to ring tone 1, if it plays your ringtone then its good.
21. Go back to the phone web interface and copy and paste the original values for the config and firmware server path and hit save and apply, then click re-provision at the top of the web page and check the phone screen to make sure it succeeds (both server types should not be set to HTTPS)
22. After this do one final test by going to the ring tone settings on the phone again to make sure it keeps the ring tone, if it does then its good to go.

Notes: If you need to add a second custom ringtone simply change the name of the file to ring2.bin and follow the steps above, continue for each additional ringtone, changing the number each time

After the ringtone is successfully put on the phone you will need to modify the phone's template in 3CX and re-provision it for it to actually use it (except in cases where it is using Ring Tone 1 since that is what we replaced). There should be guides out there for this so I won't touch on it here.

Incase anyone is wondering i tried just replacing the ring1.bin file on the 3CX server at first but the phone would not download it no matter what I did, that was the reasoning behind the original TFPT circus and then more efficient SFTP.
 
  • Sad
Reactions: qbitnetworking
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,943
Messages
589,861
Members
164,833
Latest member
Edal