Para instalar los sonidos, es necesario conectarse al servidor Asterisk a través de un cliente SSH con el usuario root.
Una vez dentro del servidor, crear el directorio de destino para los archivos de audio.
mkdir /var/lib/asterisk/sounds/es
Descargar el paquete core y extra
cd /var/lib/asterisk/sounds/es wget -O core.zip https://www.asterisksounds.org:443/es-es/download/asterisk-sounds-core-es-ES-sln16.zip wget -O extra.zip https://www.asterisksounds.org:443/es-es/download/asterisk-sounds-extra-es-ES-sln16.zip unzip core.zip unzip extra.zip chown -R asterisk.asterisk /var/lib/asterisk/sounds/es find /var/lib/asterisk/sounds/es -type d -exec chmod 0775 {} \;
Ahora, es necesario configurar el nuevo idioma en el interno que se desee o en el contexto general del protocolo (SIP, IAX2, etc) en el que se quiera utilizar los nuevos sonidos.
Convertir los archivos de sonidos a otros formatos
Es recomendable convertir los archivos de sonido utilizados por Asterisk a cada uno de los formatos (o codecs) seleccionados en la configuración de cada canal. De esta manera, Asterisk no tendrá que convertirlos cada vez que sean requeridos. Para convertir los archivos de sonido, basta crear un simple script:
cd /var/lib/asterisk/sounds/es vi convert
Pegar las siguientes lineas al archivo convert.
#!/bin/bash for a in $(find . -name '*.sln16'); do sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t gsm -r 8k `echo $a|sed "s/.sln16/.gsm/"`;\ sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e a-law `echo $a|sed "s/.sln16/.alaw/"`;\ sox -t raw -e signed-integer -b 16 -c 1 -r 16k $a -t raw -r 8k -e mu-law `echo $a|sed "s/.sln16/.ulaw/"`;\ done
Por último, dar permisos y ejecutarlo.
chmod +x convert ./convert
Configuración con FreePBX
Para activar los sonidos en distribuciones que utilizan FreePBX, basta modificar el parámetro de la variable language dentro Asterisk SIP Settings. En este caso, colocando es. Si existen internos o líneas IAX2, será necesario configurar el mismo parámetro language ingresando al menú Asterisk IAX Settings.
Cómo busca Asterisk los sonidos en base a la configuración del canal
Cada canal de Asterisk tiene su configuración de idioma. El valor ingresado en la configuración se divide por cada guión bajo para construir la ruta donde Asterisk buscará los sonidos. Así, Asterisk utilizará el primer archivo que encuentre.
Esto quiere decir que si el valor del parámetro language fuese es_AR_Maria, Asterisk buscará los archivos en:
.../sounds/es_ES_Maria .../sounds/es_ES .../sounds/es .../sounds
Esto hace posible agregar nuevas variantes de un idioma basados en un esquema general.