How To Set Music On Hold Volume

Hi, I’m using Asterisk 1.4.0 on Fedora Core 4. I am using the bundled .wav music on hold files in the /var/lib/asterisk/moh directory.

I am not using any type of PSTN equipment, such as Zaptel. I am using straight voip backbone to my voip handsets (Grandstream GXP-2000).
I do not have a zapta.conf file at all (is this a bad thing?).

When I put someone on hold, they say that the music is too loud. Is there any way I can set the MOH volume using the configuration files in Asterisk? For example, is there a directive in the ‘musiconhold.conf’ file that says “volume=x” ?

I looked at this page … nhold.conf
but nothing was written concerning volume. Do I need to edit the hold files themselves and turn down the volume?

Here’s my current musiconhold.conf


Thank you for help! :smiley:

Hope this isn’t a lame question… I’ve noticed that a bunch of people have read it but no replies…


Try the following…


Certainly with MP3 files this used to make it quieter. I can’t confirm whether this works with .wavs - try it

heres the thing
when you use mode=files, asterisk just uses its internal mp3 decoder (found in the asterisk-extras package) to decode the files and play them. Thsi works great but its like Playback() or Background()- no volume control.
when you use mode=mp3 or mode=quietmp3, it uses an external program (mpg123 although some have used things like madplay) to decode the files, and pipes the resulting data back into *. These programs accept command line arguments to the decoder, such as a volume level.

i would guess that it would work with wavs, but you might have to tweak the command line options for the quietmp3 preset to allow wav file playback…

Thanks for your info!

OK here’s what happened… I changed it as suggested to mode=quietmp3 but then there is no hold music. I don’t mind re-encoding the files at a lower volume if necessary, but do I just use standard WAV PCM format at 8 bits? Or do I have to run standard WAV files through some sort of converter to get the ULAW format?

Also, here’s what happens:

If I call OUT to someone’s line, when I hit the “hold” button, the music plays.

But if someone calls IN to my line, when I hit the “hold” button, there is nothing but silence. Would this be something to do with the negotiation of codecs depending on which end originates the call? What should be done here to make the hold music play both ways?


that could be due to the MOH class set for the different channel… one channel has the one that works and the other one doesn’t.

mode=mp3 or quietmp3 depend on an external mp3 player program which you probably dont have.