Mike:
No se si me diste permisos para editar o solo para moderar por que no encuentro un solo menu para agregar esto. lo pongo aqui y si puedes decirme como agregarlo al wiki estare alimentandolo con algunas experiencias propias.
How to starts here
Asterisk 1.2 ya soluciona el problema del mpg123 por lo que este how to es solo para los usuarios de 1.0.x
crear un archivo en /etc/asterisk con nombre rawplayer y poner esto dentro del archivo
y darle permisos de ejecucion
chmod +x /etc/asterisk/rawplayer
despues editamos nuestro /etc/asterisk/musiconhold.conf
nos movemos a nuestro directorio donde tenemos nuestra muscia en espera ( normalmente /var/lib/asterisk/mohmp3) y descargamos
convertmp3 o creamos el archivo con esto dentro
ahora lo ejecutamos asi (necesitamos mpg123 para covertirlos pero ya no se ejecutara con la musica en espera, no se si funcione con mpg321, lo probare y comento)
./convertmp3 mpg123sox ./ ./default
esto nos creara un directorio de nombre default con 3 directorios dentro, mp3, raw y native
nos movemos a default/raw
cd /var/lib/asterisk/mohmp3/default/raw
y renombramos nuestros archivos para que se puedan leer por rawplayer
rename .sln .mp3 *.sln
reiniciamos asterisk, y probamos tratando de entrar a una sala de conferencia para escuchar la musica en espera.
Advertencia: estos pasos funcionaron para mi y me permitieron optimizar mi uso de CPU, pero pueden no funcionar para ti.
Si tu asterisk se rompe te quedas con los pedazos.
No se si me diste permisos para editar o solo para moderar por que no encuentro un solo menu para agregar esto. lo pongo aqui y si puedes decirme como agregarlo al wiki estare alimentandolo con algunas experiencias propias.
How to starts here
Asterisk 1.2 ya soluciona el problema del mpg123 por lo que este how to es solo para los usuarios de 1.0.x
crear un archivo en /etc/asterisk con nombre rawplayer y poner esto dentro del archivo
Código:
#!/bin/sh while [ 1 ]; do for name in $@; do cat $name || exit; #head -c 100000 $name || exit; done done
chmod +x /etc/asterisk/rawplayer
despues editamos nuestro /etc/asterisk/musiconhold.conf
Código:
[classes] default => custom:/var/lib/asterisk/mohmp3/default/raw,/etc/asterisk/rawplayer
convertmp3 o creamos el archivo con esto dentro
Código:
#!/bin/sh
help () {
SOXMODE="sox"
cat << EOF_helpmsg
###################
# asterisk Music on hold conversion script by Gavin Hollinger
# [url]http://5sn.net/asterisk/rawplayer/[/url]
# THIS SOFTWARE COMES WITH ABSOLUTELY NO WARRANTY! USE AT YOUR OWN RISK!
###################
Syntax:
$0 mode [mp3-input-dir] [output-dir]
Mode:
sox - (recomended) Requires mp3 support (sox -h) [url]http://sox.sourceforge.net/[/url]
mpg123sox - security problem as of 2005-02-17 [url]http://www.mpg123.de/[/url]
Example:
$0 $SOXMODE $MP3INDIR $OUTBASEDIR
Will take *.mp3 files in $MP3INDIR
convert them and place output in the following folders:
mp3 files: $MP3DIR
raw files: $RAWDIR
native files: $NATIVEDIR
EOF_helpmsg
exit 1
}
convertfiles () {
echo "Running in $SOXMODE mode"
echo "TESTING/CREATING DIRECTORIES:"
if [ -d "$MP3INDIR" ]; then cd "$MP3INDIR"; else echo "INPUT DIR DOES NOT EXIST: $MP3INDIR"; fi
for DIR in `echo "$OUTBASEDIR $MP3DIR $NATIVEDIR $RAWDIR"`
do
if [ ! -d "$DIR" ]
then
echo "mkdir $DIR"
mkdir "$DIR"
continue
fi
echo "Using: $DIR"
done
echo
for FILE in `ls *.mp3 | cut -d "." -f 1`
do
if [ ! -e "$FILE.mp3" ] # Check if file exists.
then
echo "$FILE.mp3 does not exist."; echo
continue # On to next.
fi
if [ "$SOXMODE" = "sox" ]; then soxconvertfiles; fi
if [ "$SOXMODE" = "mpg123sox" ]; then mpg123soxconvertfiles; fi
#echo -n "$FILE "
done
echo
exit 1
}
commonconvertfiles () {
OUTFILEEXT="$MP3DIR/$FILE.mp3"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $MP3INDIR/$FILE.mp3 $OUTFILEEXT"
ln "$MP3INDIR/$FILE.mp3" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
if [ ! -e "$RAWDIR/$FILE.sln" ]; then echo "MISSING FILE: $RAWDIR/$FILE.sln"; exit 0; fi
OUTFILEEXT="$NATIVEDIR/$FILE.sln"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $RAWDIR/$FILE.sln $OUTFILEEXT"
ln "$RAWDIR/$FILE.sln" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.raw"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $RAWDIR/$FILE.sln $OUTFILEEXT"
ln "$RAWDIR/$FILE.sln" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.gsm"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.wav"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.WAV"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -b -g "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.wav49"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $NATIVEDIR/$FILE.WAV $OUTFILEEXT"
ln "$NATIVEDIR/$FILE.WAV" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.ul"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
cat "$NATIVEDIR/$FILE.sln" | sox -t raw -r 8000 -s -w -c 1 - -r 8000 -c 1 -w "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.pcm"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.ulaw"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
OUTFILEEXT="$NATIVEDIR/$FILE.mu"
if [ ! -e "$OUTFILEEXT" ]; then
echo "ln $NATIVEDIR/$FILE.ul $OUTFILEEXT"
ln "$NATIVEDIR/$FILE.ul" "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
}
################
# NOTES ON VOLUME ADJUSTMENTS FOR SOX AND MPG123
# asterisk quietmp3 mode uses -f 4096
# mpg123 -f scale factor (default: 32768)
# sox -v volume factor (default: 1)
# 4096/32768=.125 so sox equivalant volume is -v .125
################
soxconvertfiles () {
OUTFILEEXT="$RAWDIR/$FILE.sln"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
# sox -V "$FILE.mp3" -r 8000 -s -c 1 -t raw -w "$OUTFILEEXT"
sox "$FILE.mp3" -r 8000 -s -c 1 -t raw -w -v .125 "$OUTFILEEXT" lowpass 3700
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
commonconvertfiles
}
mpg123soxconvertfiles () {
OUTFILEEXT="$RAWDIR/$FILE.sln"
if [ ! -e "$OUTFILEEXT" ]; then
echo "creating: $OUTFILEEXT"
mpg123 -s --mono -r 8000 -f 4096 -b 10000 "$FILE.mp3" > "$OUTFILEEXT"
else
echo "NOT REPLACING: $OUTFILEEXT"
fi
commonconvertfiles
}
if [ "$2" = "" ]; then MP3INDIR="/var/lib/asterisk/mohmp3"; else MP3INDIR="$2"; fi
if [ "$3" = "" ]; then OUTBASEDIR="/var/lib/asterisk/mohmp3/default"; else OUTBASEDIR="$3"; fi
SOXMODE="$1"
MP3DIR="$OUTBASEDIR/mp3"
NATIVEDIR="$OUTBASEDIR/native"
RAWDIR="$OUTBASEDIR/raw"
case $SOXMODE in
sox)
convertfiles
exit 1
;;
mpg123sox)
convertfiles
exit 1
;;
*)
help
exit 1
;;
esac
echo
exit 0
./convertmp3 mpg123sox ./ ./default
esto nos creara un directorio de nombre default con 3 directorios dentro, mp3, raw y native
nos movemos a default/raw
cd /var/lib/asterisk/mohmp3/default/raw
y renombramos nuestros archivos para que se puedan leer por rawplayer
rename .sln .mp3 *.sln
reiniciamos asterisk, y probamos tratando de entrar a una sala de conferencia para escuchar la musica en espera.
Advertencia: estos pasos funcionaron para mi y me permitieron optimizar mi uso de CPU, pero pueden no funcionar para ti.
Si tu asterisk se rompe te quedas con los pedazos.

lo trae nativo y la version CVS por ahi comenta que trae para tocarlas
Comentario