Una aplicación muy interesante de Asterisk es seguramente ChanSpy. ¿Para que sirve? Esta aplicación permite espiar las extensiones. Además de eso permite hablar con la extensión espiada y de esta forma dar sugerencias/consejos/indicaciones a la la persona que se encuentra en ese canal.
Como se puede deducir por lo dicho arriba, es una aplicación que se utiliza mucho en los Call Center para monitorear los agentes y, por ejemplo, ayudarlos en sus primeros días de trabajo.
La aplicación consta de muchas opciones y su sintaxis es:
ChanSpy([chanprefix][,options])
ChanSpy: el nombre de la aplicación
chanprefix: el prefijo de los canales que queremos “espiar”
options: una o más de las opciones disponibles.
Empezamos con el primer ejemplo:
[espiar]
exten=> 100,ChanSpy(all,bq)
same => n,Hangup
Con este bloque de dialplan podremos escuchar todos los canales activos. Mientras estamos espiando los canales tenemos algunas funcionalidades que podemos utilizar:
- la tecla * permite pasar de una canal a otro (aleatoriamente)
- la tecla # permite variar el volumen del canal escuchado.
- digitando un numero, si esa extensión existe en el contexto corriente, el canal será transferido a esa extensión. Si queremos indicar un contexto distinto, tendremos que asociar a la variable ${SPY_EXIT_CONTEXT} ese contexto.
[espiar]
exten=> 100,ChanSpy(all)
same => n,Hangup
exten => 5,1,Playback(goodbye)
same => n,Hangup
En este ejemplo si mientras se están espiando los canales se digita el numero 5, se transferirá la llamada al mismo contexto (espiar) extensión 5. Se escuchará el saludo de despedida y la llamada será terminada.
Con un contexto distinto:
[espiar]
exten=> 100,Set(SPY_EXIT_CONTEXT=espiar2)
same => n,ChanSpy(all)
same => n,Hangup
[espiar2]
exten => 5,1,Playback(goodbye)
same => n,Hangup
Tiene poco sentido espiar una extensión que no esté en una conversación. Por eso se utiliza la opción b. Cuando el sistema empieza a espiar un determinado canal, envía al canal mismo un beep. Si no queremos que la persona se entere que la estamos espiando, añadimos la opción q (quiet mode):
[espiar]
exten=> 100,ChanSpy(all,bq)
same => n,Hangup
La verdad casi nunca necesitamos espiar todas las extensiones. En un Call Center, por ejemplo, nos interesa escuchar/monitorear los agentes. Nuestro Dialplan cambiaría de la siguiente forma:
[espiar]
exten=> 100,ChanSpy(SIP/Agent,bq)
same => n,Hangup
En este caso el prefijo es SIP/Agent representa cualquier Agente conectado a una de las colas. Si se quiere escuchar solamente las conversaciones de los agentes de de una determinada cola, utilizaremos la variable ${SPYGROUP}:
[ventas]
exten => 3000,1,Set(SPYGROUP=ventas)
same => n,Queue(ventas)
same => n,hangup
[espiar]
exten=> 100,1,ChanSpy(SIP/Agent,g(ventas)bq)
same => n,Hangup
Además de escuchar, puede ser útil poder hablar con el agente que se está espiando. Tenemos distintas formas de hacerlo:
- opción B: lo que diremos lo escucharán los dos canales
- opción w: lo que diremos lo escuchará solamente el canal espiado
[espiar]
exten=> 100,ChanSpy(SIP/Agent,wbq)
same => n,Hangup
Por ultimo esta aplicación permite espiar un numero determinado de extensiones a través de la opción e(ext). Ejemplo. La extensiones configuradas en la PBX son 10 con números de 100 a 110. Queremos espiar solamente las extensiones de 106 a 110. El dialplan será:
[espiar]
exten=> 100,ChanSpy(all,e(106:107:108:109:110)wbq)
same => n,Hangup
Articulo extraido de http://voztovoice.org/?q=node/467
No hay comentarios:
Publicar un comentario