You are here

Grabación de llamadas con Asterisk y Mixmonitor

Nuestro compañero Ricky muy amablemente nos ha mandado un manual para grabación de llamadas en Asterisk usando MixMonitor.

MixMonitor nos permite grabar una llamada de forma nativa. Esta aplicación es similar a la aplicación Monitor solo que está diseñada para grabar 1 audio y mezclarlo de forma nativa mientras la llamada está en curso para evitar la necesidad de generar procesos externos los cuales conllevan un uso perjudicial de cpu.

Ventajas:

  • Una llamada puede grabarse en múltiples ficheros al mismo tiempo
  • Permite grabar una llamada en un solo fichero g729
  • El modo append (añadir) permite a un agente grabar todas sus llamadas en un fichero
  • El flag bridge permite grabar solo cuando el canal está puenteado
  • El volumen para cada lado del canal puede ajustarse separadamente
  • Una interfaz en el CLI hace posible iniciar y parar el monitorizado a nuestra voluntad desde una sesión en el manager o desde el prompt del CLI

Y ya sin más presentaciones el tutorial de Ricky (PDF original):

Siempre me pareció interesante asterisk, siempre leía algo en la red de él, que era uno de los mejores software en Linux etc, un día me decidí a probarlo y hacer pruebas con él y bola ya te tenía mi centralita en mi casa gracias a Dios y al software libre jejej, y como siempre leyendo blogs de amigos que están al día Smile como este humilde blog, me decidí a hacer un mini howto de cómo grabar las llamadas con asterisk y mixmonitor, lo que me gusta de mixmonitor es que te permite grabar la conversación en un solo archivo y con formato wav compatible con la mayoría de sistemas operativos.

Manos a la obra, voy a poner un ejemplo de cómo grabar las llamadas salientes, las entrantes las dejo de tarea jejeje…

exten => _9.,1,Answer
exten => _9.,2,set(calltime=${STRFTIME(${EPOCH},,%C%y%m%d%H%M%S)})
exten =>_9.,3,MixMonitor(/home/ricardo/misllamadassalientes/X${calltime}X${CALLERID(num)}X${EXTEN:3}X.wav)
exten => _9.,4,Dial(SIP/${EXTEN:1}@sipurafxo,60,tTR)

Con esto le decimos a asterisk que grabe las llamadas salientes a un directorio especifico, que agregue la fecha, extensión y hora..

Bueno eso es todo, tengan cuidado con esa información no somos responsables de cualquier malversación de ella …

Asterisk: 
Qué te parece: 

Comments

mis saludos, muy interesante este blog, desearia saber como seria posible realizar la grabaciòn de las llamadas a un disco duro de otra pc, o servidor, que archivo de asterisk debo editar para cambiar la ruta del directorio de grabaciòn de llamadas.

gracias.

Muy simple!
Debes montar una "unidad de red" en el linux donde tenes intalado Asterisk.
Para montar unidades de red en linux te hace falta designar una carpeta local como punto de montaje.
Digamoslo así...
mkdir /home/usuario/misgrabaciones
mount.tipo [Path del recurso remoto] /home/usuario/misgrabaciones

Ojo el comando mount como ifconfig y tantos otros no guarda los cambios... si montas así la unidad cuando el equipo se reinicie se perderá la conexión a la unidad de red... para que persista hay que editar el fstab.

Una vez hecho esto podes:
1) Indicar en MixMonitor que se grabe en la ruta /home/usuario/misgrabaciones (NO RECOMENDADO)
2) Indicar en MixMonitor una ruta local para las grabaciones y luego moverlo a /home/usuario/misgrabaciones a travez de un sensillo script en BASH y el cron-deamon para que lo haga automático (RECOMENDADO)

La opción 1 no te la recomiendo porque habitualmente se graba mas de un archivo a la vez. En mi caso tengo un callcenter para administrar... y grabar en una ruta remota, en mi caso del tipo cifs genera muchos errores de IO.

De la forma 2 en cambio todo va perfecto y solo tengo que armar unos scrips para que movilicen los archivos a donde quiero, le cambio el nombre los ordeno por directorio y demás... un lujo y todo con BASH :-D

Hola tengo un problema con unas grabaciones q no guardo el formato para el nombre y quiero saber xq... ejemplo una grabacion correcta 18112011_999199999_armasm_x.wav y grabacion sin formato 999199999123.12133.wav

saludos,

Omar

Hola, mira encuentro tus comentarios y conocimientos muy amplios, y por eso me atrevoa preguntar si es que me puedes ayuda, hemos montado un servidor asterisk para un call center, todo a funcionado padrisimo, pero ahora me dicen que ellos con su sistema anterior las llamadas de salida las podían etiquetar, dependiendo de la campaña a la que pertenece, esto es posible en asterisk por medio de pop up o algo asi, estoy usando Elastix y FOP2.

Espero haber sido claro en mi problemática, y te agradeceré mucho tus comentarios

Primero debo decir que no conozco demasiado sobre el tema, pero por lo que he entendido te podría servir una integración con SugarCRM (la version comercial de VoiceRD permite generar popups) o tal vez te interese ActivaTSP (para sistemas win32), este último es libre. Guiño

Gracias!!!!!!!!!!!!! Muy interesante y útil.