El MP3 es un formato de archivos de audio tan extendido, sobre todo en el usuario final que en alguna ocasión nos pueden dar un archivo de este tipo para integrarlo en nuestro PBX, por lo cual aquí veremos como partiendo de un MP3 convertirlo al formato nativo de asterisk para integrarlo a nuestra música en espera.
El archivo es la música clásica del personaje mas sobresaliente del imperio.
gabriel@trantor:~/Descargas/IPBX$ ls *.mp3 Star_Wars-Imperial_March.mp3
Utilizamos ffmpeg para convertir el archivo mp3 a un formato que asterisk entienda.
gabriel@trantor:~/Descargas/IPBX$ ffmpeg -i Star_Wars-Imperial_March.mp3 -ar 8000 -ac 1 -ab 64 Star_Wars-Imperial_March.wav FFmpeg version r11872+debian_0.svn20080206-17, Copyright (c) 2000-2008 Fabrice Bellard, et al. configuration: --enable-gpl --enable-libfaad --enable-pp --enable-swscaler --enable-x11grab --prefix=/usr --enable-libgsm --enable-libtheora --enable-libvorbis --enable-pthreads --disable-strip --enable-libdc1394 --disable-armv5te --disable-armv6 --disable-altivec --disable-vis --enable-shared --disable-static libavutil version: 49.6.0 libavcodec version: 51.50.0 libavformat version: 52.7.0 libavdevice version: 52.0.0 built on Feb 10 2009 08:13:56, gcc: 4.3.3 Input #0, mp3, from 'Star_Wars-Imperial_March.mp3': Duration: 00:03:04.3, start: 0.000000, bitrate: 112 kb/s Stream #0.0: Audio: mp3, 44100 Hz, stereo, 112 kb/s WARNING: The bitrate parameter is set too low. It takes bits/s as argument, not kbits/s Output #0, wav, to 'Star_Wars-Imperial_March.wav': Stream #0.0: Audio: pcm_s16le, 8000 Hz, mono, 128 kb/s Stream mapping: Stream #0.0 -> #0.0 Press [q] to stop encoding size= 2880kB time=184.3 bitrate= 128.0kbits/s video:0kB audio:2880kB global headers:0kB muxing overhead 0.001492% gabriel@trantor:~/Descargas/IPBX$ ls *.wav Star_Wars-Imperial_March.wav
Creamos un nuevo directorio y copiamos el archivo para la creación de una nueva clase de musica en espera.
trantor:/home/gabriel# mkdir /var/lib/asterisk/moh/custom trantor:/home/gabriel# cd Descargas/IPBX/ trantor:/home/gabriel/Descargas/IPBX# cp Star_Wars-Imperial_March.wav /var/lib/asterisk/moh/custom/
Especificamos la configuración que consta principalmente del nombre de la clase y el directorio donde se guardaran futuros archivos.
trantor:/home/gabriel/Descargas/IPBX# vim /etc/asterisk/musiconhold.conf [default] mode=files directory=/var/lib/asterisk/moh [pruebas] mode=files directory=/var/lib/asterisk/moh/custom
Recargamos la configuración y verificamos lo anteriormente escrito.
*CLI> moh reload *CLI> moh show classes Class: default Mode: files Directory: /var/lib/asterisk/moh Class: pruebas Mode: files Directory: /var/lib/asterisk/moh/custom *CLI>
Para probar agregamos la siguiente linea a nuestro dialplan.
trantor:/home/gabriel/Descargas/IPBX# vim /etc/asterisk/extensions.conf exten => 6000,1,MusicOnHold(pruebas)
Vemos en la consola la ejecución de nuestro archivo y nos imaginamos a Darth Vader caminando en la estrella de la muerte.
*CLI> -- Executing [6000@default:1] MusicOnHold("SIP/5010-08d39190", "pruebas") in new stack -- Started music on hold, class 'pruebas', on SIP/5010-08d39190 -- Stopped music on hold on SIP/5010-08d39190 == Spawn extension (default, 6000, 1) exited non-zero on 'SIP/5010-08d39190'