Playing a song when I put a caller on hold

I am totally a noob to this area, is it possible to play a custom music to a caller when I put him on hold in Android? If ‘yes’, how? If ‘no’, why? I feel the network operator has a role in this but not very sure. Please enlighten.


Yes, you could probably do it directly from your phone, by faking the fact that you’re putting them on hold, but that would probably mess up any call waiting, any second line, and use lots of extra energy from your phone’s battery needlessly.

A better solution would be to play the music from a VOIP server, and set up unconditional forwarding of your line to go through that server — before it even gets to your phone. Not all phone networks will allow you to do that, for instance Verizon did it for me once I switched to a postpaid account (from a prepaid one). And Sprint does it for me. To see if yours does that, see if your phone network allows you to set up unconditional forwarding through Google Voice (take a look at the Google Voice settings/help pages). If it does, you’re set. Just realize that adding a service as a go between may add some delay in getting the first rings of a phone call, and depending on how good that service is, it may degrade some of the sound quality as well (or not, it really depends).

And no, you probably don’t need to buy your own VOIP server. You could probably use something like or, especially if you’re just prototyping something.