Search:
Asterisk mpg123 faking it
How to replace MPG123 with SOX for musiconhold
Note: Asterisk 1.2 has solved the "mpg123 issue" and comes with a cleaner solution, so what is described below essentially is only of interest for Asterisk 1.0.x users.
As an alternative to using mpg123 you can use sox to convert a wav file into the right format for asterisk and use cat to "play" the file
Example with converted files if you do not want to install mpg123 or sox
Note: If the rawplayer method is not playing back any music, try adding ".mp3" to the end of the .raw filenames.
sox -V moh.wav -r 8000 -c 1 -w moh.raw
You could use audacity (open the mp3 then File -> Export as WAV...) or xmms to convert the mp3 to wav
- Option 1: Hacking mpg123 and playing a single file
#!/bin/sh
while [ 1 ]; do cat /path/to/moh.raw || exit; done
I think you need to uncomment the default line in the sample musiconhold config for Asterisk to try and launch mpg123
- Option 2: Use custom mode in musiconhold.conf and use rawplayer script
Put something like this in musiconhold.conf:
[classes]
default => custom:/var/lib/asterisk/mohmp3/default,/usr/bin/rawplayer
classic => custom:/var/lib/asterisk/mohmp3/classic,/usr/bin/rawplayer
Then make an executable file /usr/bin/rawplayer like this:
#!/bin/sh
for name in $@; do
cat $name ;
done
And finally convert your mp3 files to raw as stated above an place them in subdirectories default an classic under /var/lib/asterisk/mohmp3 and (VERY IMPORTANT!) rename them from *.raw to *.mp3 (as Asterisk expect they are named that way):
# cd /var/lib/asterisk/mohmp3/default
# rename .raw .mp3 *.raw
Now restart Asterisk and you have your "default" and "classic" music available with less cpu load.
See Also
- Asterisk cmd MusicOnHold
- Asterisk config musiconhold.conf
- Asterisk cmd SetMusicOnHold
- Asterisk cmd MP3Player
- mpg123
- mpg123 on Red Hat
Asterisk | Tips & Tricks | FAQ
Created by: stan,Last modification on Tue 08 of Nov, 2005 [09:19 UTC] by JustRumours

Page Changes
