Rename files in /var/lib/asterisk/moh/
to change the order of play.
Default class won't play randomly. If you want random play, create a new class. The default class plays songs in file name order.
Some Free Songs: http://sonoracomm.com/free_songs/
In order to save significant CPU cycles that might be spent on transcoding MP3 MOH files, it's best to save the MOH files in the native formats you are using.
http://astrecipes.net/index.php?from=153&q=astrecipes/music-on-hold+without+mpg123
[root@pbx ~]# ll /var/lib/asterisk/moh/Blues total 20184 -rw-rw-r-- 1 asterisk asterisk 4208640 Jul 1 2008 driftin_blues.mp3 -rw-rw-r-- 1 asterisk asterisk 2379776 Jul 1 2008 kind_hearted_woman_blues.mp3 -rw-rw-r-- 1 asterisk asterisk 6223872 Jul 1 2008 mr._blues_man.mp3 -rw-rw-r-- 1 asterisk asterisk 7819264 Jul 1 2008 still_got_the_blues.mp3
In /etc/asterisk/musiconhold.conf
:
[Blues] random=yes mode=files directory=/var/lib/asterisk/moh/Blues description=Blues Tunes
From Asterisk Console:
moh show classes moh show files help file convert
http://www.voip-info.org/wiki/view/Using+ffmpeg+to+convert+Music+On+Hold+files
for f in `ls *.mp3` ; do FILE=$(basename $f .mp3) ; ffmpeg -i $FILE.mp3 -ar 8000 -ac 1 -ab 64 $FILE.wav -ar 8000 -ac 1 -ab 64 -f mulaw $FILE.pcm -map 0:0 -map 0:0 ; done
Doesn't work with Karmic sox.
FROMDIR="/root/mp3s" TODIR="/root/transcodes" for i in $FROMDIR/*.mp3 do BASEFILE=$(basename $i .mp3) echo Converting $BASEFILE mpg123 -s --rate 44100 --mono $FROMDIR/$BASEFILE.mp3 > $TODIR/$BASEFILE.raw sox -r 44100 -w -s -c 1 $TODIR/$BASEFILE.raw -r 8000 -c 1 $TODIR/$BASEFILE.wav sox $TODIR/$BASEFILE.wav -t gsm -r 8000 -b -c 1 $TODIR/$BASEFILE.gsm sox $TODIR/$BASEFILE.wav -t ul -r 8000 -b -c 1 $TODIR/$BASEFILE.pcm rm -f $TODIR/$BASEFILE.raw done