Wrong voicemail greeting played


I just installed Asterisk 1.4.22 from source on Ubuntu 8.04. Everything’s working great except the voicemail greetings: custom greetings are not played.

I recorded my unavailable greeting via the Voicemailmain() command, and it was saved as /var/spool/asterisk/voicemail/default/7007/unavail.WAV. The default unavailable greeting is still in the same directory as unavail.gsm.

When the voicemail box is called, unavail.gsm is played. If I remove unavail.gsm, my custom greeting (unavail.WAV) is played. How can I change this order of preference?

FWIW, our old 1.4.17 installation did the Right Thing and played the custom greetings if they were present. Is there some configuration option to prefer wav49 over gsm files?


This has been fixed by recompiling with the format modules embedded. I’m not entirely clear on exactly why this fixed it, but the original problem was due to the strange way in which ast_filehelper() in main/file.c ran through the files and determined which one to play (I say strange because it’s a “last match wins” mechanism rather than “first match wins”).