MP3 y música en espera

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'

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: