domingo, 9 de febrero de 2014

Usando External URLs del Módulo de Callcenter de Elastix

Una funcionalidad de Elastix que me ha llamado la atención es el "External URLs" del módulo de Callcenter Elastix. Permite incluir un link a una aplicación externa.

Para configurarlo hay que ir a CallCenter -> Campañas Salientes -> URLs Externos.
Una vez ahí se debe hacer click en Mostrar Filtro -> Nuevo URL.

Se deben configurar tres campos:
  • Plantilla de URL: Aquí se coloca el enlace hacia la aplicación externa.
  • Descripción de URL.
  • Abrir URL en: Existen tres posibilidades Nueva Ventana, Marco embebido y JSONP.
En esta ocasión me voy a referir unicamente a la opción "Abrir URL en: JSONP". Esta opción permite ejecutar Javascript directamente dentro de la consola de agente, por lo que el URL (aplicación externa) proporciona el Javascript a ejecutar.

En este caso el script a ejecutar va a estar en el mismo servidor con Elastix (en el directorio "/var/www/html").

Además de indicar la aplicación que se va a ejecutar, se pueden pasar ciertas variables, información de la llamada. Las variables que se pueden enviar son:

  • {_AGENT_NUMBER_} Identificador del canal de agente, por ejemplo: Agent/9000
  • {_CALL_TYPE_} uno de los valores 'incoming', 'outgoing'
  • {_CAMPAIGN_ID_} ID interno de la campaña en curso
  • {_CALL_ID_} ID interno de la campaña en curso
  • {_PHONE_} Número marcado o Caller-ID de la llamada conectada
  • {_REMOTE_CHANNEL_} Identificador de canal de la llamada conectada
La "Plantilla de URL" queda de la siguiente forma:

script.php?agent={__AGENT_NUMBER__}&type={__CALL_TYPE__}&callerid={__CALL_ID__}&channel={__REMOTE_CHANNEL__}

En este ejemplo no voy a hacer nada con estas variables, pero estas pueden ser facilmente utilizadas para realizar alguna tarea.

El código de la aplicación "script.php" es el siguiente:

<?php

echo "var contenido = '\
<h1>Personalizacion del modulo de Callcenter</h1> \
<p>Esta es una prueba de funcionamiento</p> \
';";
echo "document.getElementById('elastix-callcenter-llamada-info').innerHTML = contenido;";
echo "var anexar = '\
<p>Juan Almeida</p> \
<p>2014</p> \
';";
echo "$('#elastix-callcenter-llamada-info').append(anexar);";

?>


Lo que hace la aplicación es sencillo, modifica el texto que se presenta en la sección "Información de llamada" de la Consola de Agente del módulo de Callcenter de Elastix.

Mi proposito es ilustrar como utilizar la funcionalidad "External URLs". Depende de su creatividad y conocimiento explotar de mejor forma lo que Elastix nos brinda.

Hasta la proxima.

Comenten.

9 comentarios:

Unknown dijo...

Muy bueno..

Solo no compreendo como trabajar con JSONP

Unknown dijo...

Buenos días,

Una pregunta sobre el script.
Además de:
Personalizacion del modulo de Callcenter
Esta es una prueba de funcionamiento
Juan Almeida
2014
Sale alguna información adicional? Como por ejemplo el nombre del agente, el tipo de llamada....la info que le hemos enviado en la url?
Lo digo porque yo lo estoy probando y solo me aparecen esas frases, pero no los datos pasados por la URL.
Aclaro, solo lo estoy probando con llamada interna a la Cola, no por un número externo hacia la cola, que a lo mejor ahí está la diferencia.
Saludos

Unknown dijo...

Claro que se puede, el proposito de este script es ilustrar como se muestra alog en la pantalla de Callcenter.
Con los datos enviados se puede hacer una consulta a una base de datos, web service, entre otros.

Unknown dijo...

Buenos días Juan,

¿Me podrías hacer algún ejemplo para mostrar los datos de llamada en el script?
Me refiero a cuál sería el formato del script para incluir que se visualizara por ejemplo el CALLERID que ya se ha incorporado a la dirección de la url.
El problema es que sobre esto hay muy muy poca información y documentación y me está resultando muy difícil encontrarla.
Muchas gracias.

Unknown dijo...

Por ejemplo, debajo de Esta es una prueba de fun.... \
$_GET['callerid'] \

Ahi deberia imprimir el callerid.

Carlos Santa dijo...

Estimado Juan. Tengo la siguiente duda, necesito recuperar, a traves de la url externa que se define en el modulo de campaña, los datos opcionales que se ponen en el archivo de carga subido a una campaña. Pregunta:como se deben pasar estos parametros a traves de la url para ser recuperados via $_GET['parametro']?
Desde ya se agradece.
Saludos.

Anónimo dijo...

buenas trades porque aparace en mi url &agente=Agent%2F19639414 (%2f) si no es parte de mi agent

Unknown dijo...

Hola, el 2%F te sale pues es la codificación del / ya que tu número de agente sería Agent/19639414

Saludos

Unknown dijo...

Hola que tal alguien le ha funcionado el publicar un url externo QUE ESTE EMBEBIDO en la consola del agente, tengo rato probando y buscando informacion y no he podido hacer esto.. algien publico que le funciono q lo q tuvo q haver es que lla url fuera https pk elastix es https decia q ambos fueran .. ya sea https leastix y url externo.. o http ellastix y el url ext.

alguien podria apoyrame soy novaton en esto alguien que pueda decirme o ayudarme a hacer funcionar..
agradezco su ayuda
email para cualq cosa hnajera@grupoefesa.com

gracias