When working with MOH (Music on Hold) files in Asterisk/FreePBX I’ve come across a few issues that can occur regularly mainly due to human error. Best way to identify the issue is to check CLI entries when putting on hold as they give distinct clues as to what the problem is.
First one is that you get an error message stating cannot open or find the file. This is a permission issue. Make sure the MOH files are awned by asterisk user and has correct file permissions. This has happened to me more than one occasion when I’ve uploaded the file via SSH instead of the GUI or after doing a volume change using sox.
Second one you’d get is something on the line of unknown stream or unsupported format. Which simply means that asterisk doesn’t have the required tools to play the file.
With my customers, what I normally do is convert the files to wav files, on 8000 Hz, 16 bit, Mono settings using “Nero Wave Editor” and upload the files. This resolves many problems with different formats as well as reduces CPU load.
Final issue can be rectified using one of my earlier post. : http://www.asanka.me/?p=19