I solved this problem by researching similar problems. I recently re-added the g729 codec after upgrading the system.
After first song played in Music on Hold, system would error out with:
channel.c: Unable to find a codec translation path from 0x100 (g729) to 0x40 (slin)
res_musiconhold.c: Unable to open file ‘/var/lib/asterisk/moh//songfile’: No such file or directory
songfile.wav does exist in the folder – but not songfile.g729.
The system is now looking for g729 files – not wav files.
To resolve problem, convert all music wav files to g729 in the /var/lib/asterisk/moh/ folder.
$ asterisk -rvvvv
CLI> file convert /var/lib/asterisk/moh/songfile.wav /var/lib/asterisk/moh/songfile.g729
Converted /var/lib/asterisk/moh/songfile.wav to /var/lib/asterisk/moh/songfile.g729 in 2992ms