Changelog DINOMI Call Center Module

Changelog versión 1.1.6-1

Bugs corregidos:

  • Dialer: se corrige llamada a método de una conexión que ya no existe durante el manejo de colgado de llamada IVR automático. El síntoma era una caída del dialer al colgar una llamada autoivr en medio de una reproducción de audio.
  • Dialer: se corrige manejo incorrecto de señal SIGCHLD que causaba que uno o más procesos consumieran todo un CPU poco después de que terminara un proceso hijo lanzado.

Changelog versión 1.1.6-0

Cambios:

  • Campañas manuales: se implementa la capacidad de asignar cada contacto de un archivo CSV a un agente en particular. Esto permite que cada agente tenga su conjunto independiente de contactos dentro de la misma campaña manual. Para usar esto, en la carga de contactos, la selección de asignar contactos a un agente específico puede indicar un agentnick en particular, o usar el agentnick de una columa específica, seleccionada por posición o por etiqueta.
  • Monitoreo de campañas: cada mensaje agregado a la lista de mensajes ahora mueve la vista hasta el final para hacer visible el mensaje recién agregado.
  • Gestión eficiencia: nueva columna de tiempo muerto (ocioso) por agente.
  • Se implementa una bandera de configuración para ocultar parcialmente los números de teléfono en el reporte de Detalle de Llamadas cuando el módulo es usado por un supervisor.
  • Se reorganiza el diálogo de creación/modificación de todos los tipos de campañas con cejillas para mejorar presentación y como preparación para una nueva funcionalidad.
  • Traducciones al portugués contribuidas por Fábio Vital de GVP Brasil.

Bugs corregidos:

  • Dialer: se corrige error potencial en el cual no se instalaba una alarma para el inicio de vigencia de una campaña de IVR automático, con el resultado de que una campaña de IVR automático que iniciara en una fecha futura podía no arrancar cuando llegara el momento.
  • Dialer: se corrige error que causaba que no se escribiera en la base de datos la transición de una llamada entrante al estado atendido y sucesivos, si la llamada entrante ingresaba por una cola no asignada a una campaña activa.
  • Dialer: se modifica la generación de llamadas desde Asterisk para que negocie todos los codecs configurados en Asterisk. Esto permite en particular que una videollamada sea enviada a hold y luego recuperada con el video intacto.
  • Campañas manuales: se corrige error en el cual un intento de guardar el valor 0 para el número de entradas del historial de llamadas previas era ignorado y guardaba un valor vacío en su lugar, lo cual permitía un número infinito de entradas previas.
  • Campañas salientes/manuales: se corrige error al cargar contactos nuevos en una campaña terminada, que asignaba la bandera de campaña ACTIVA sin refrescar el estado del dialer, con el resultado de que la campaña aparecía como ACTIVA en el listado pero el dialer no la ejecutaba.
  • Colas: se corrige el no-refresco del estado del dialer cuando se crea, activa o inactiva una cola. Además se impone restricción para que no se pueda desactivar una cola si existen campañas activas que la usan.
  • Monitoreo de agentes: el inicio de timbrado de llamada resetea el contador de último estado, como lo hacía previamente el monitoreo de campañas.
  • Agentes: se corrige un error que impedía la actualización de la contraseña o de la descripción de un agente estático en la configuración de Asterisk.
  • Licensing: se corrige error en el cual un archivo encriptado de forma incorrecta causaba que el módulo se cayera cuando la licencia de prueba expira.
  • Dialer: se ha realizado un ajuste generalizado del manejo de eventos para optimizar bucles de verificación innecesarios. En particular, se ha eliminado la lectura cada 3 segundos de la base de datos por parte de cada proceso de trabajo que verificaba si había cambiado la configuración.
  • Supervisor Accounts: ya no se permite que un equipo tenga múltiples supervisores.

Changelog versión 1.1.5-0

Cambios:

  • Campañas manuales: se implementa un límite a la longitud del historial pedido por cada agente cuando la campaña manual trabaja en modo de ingreso explícito de número (agent-phoneentry). Si la campaña se extiende por un periodo largo, se recomienda establecer el valor de este límite a un valor de 500 o inferior.
  • Se implementa borrado virtual de campañas. Previamente el acto de borrar una campaña borraba también los datos de las llamadas realizadas, lo cual afecta a los reportes. Si esto no es aceptable, se puede ahora (en Configuración General) activar el borrado virtual, el cual sólo marca la campaña como permanentemente no-disponible y conserva las llamadas realizadas.
  • Consola de Agente: si el agente estaba en pausa e inicia un marcado manual, la pausa se quita ahora al iniciar el marcado, en lugar de cuando se conecta la llamada.
  • About Us: el sitio dinomi.com usa ahora HTTPS. Se corrigen los enlaces del módulo al changelog.

Bugs corregidos:

  • Se corrige caída del dialer que ocurre si el dialer no es capaz de identificar un componente de canal de una llamada activa, y a continuación se intenta mandar a hold esta llamada.
  • Se silencian mensajes ruidosos en la bitácora al construir información sobre una llamada siendo timbrada.
  • Campañas salientes: se corrige error en reciclado de campañas en el que se podían seleccionar contactos contactados a pesar de que el filtro de selección indicara que se requerían únicamente contactos no contactados.
  • Monitoreo de campañas: se corrige error que causaba que las filas de reporte correspondientes a monitoreo de campañas manuales permanecieran visibles si se seleccionaba una campaña de otro tipo.
  • Monitoreo de campañas: se corrige error de sintaxis SQL que impedía la consulta del log de actividad de campaña si se monitoreaba una campaña saliente.
  • Monitoreo de campañas: se permite ahora la consulta de log de actividad de campaña para campañas manuales.
  • Monitoreo de campaña: se incluye el inicio de timbrado de llamada manual entre las operaciones que resetean el contador de último estado por agente.
  • Monitoreo de agentes: se corrige regresión que causa actividad innecesaria de peticiones al servidor cuando el reporte funciona en modo long-polling.
  • Se implementa en el dialer la finalización de procesos de trabajo ociosos si pasan más de un minuto sin ser utilizados. Esto permite cerrar conexiones a la base de datos que de otro modo podrían alcanzar el límite de conexiones del servidor.
  • Consola de agente: se ajusta el ping de actividad de agente para reducir la carga de trabajo en el dialer, especialmente con muchos agentes simultáneamente activos.
  • Se corrige caída del dialer que ocurre si se inicia una llamada secundaria que termina en estado de fallo.

Changelog versión 1.1.4-0

Cambios:

  • Monitoreo de Campañas: implementación del monitoreo de campañas realtime para campañas manuales. Se incluye el mostrar iconos separados para el estado de timbrado de la llamada saliente.
  • Monitoreo de Campañas: ahora se usan contadores de tiempo absolutos en lugar del timestamp del inicio de llamada/pausa/login.
  • Monitoreo de Campañas: se muestra con otro color el estado de agente ocupado si la llamada no corresponde a la campaña. Este icono puede hacerse clic para cambiar el monitoreo a la campaña que originó la llamada.
  • Monitoreo de Agentes: se muestra icono especial para agente que usa llamada manual, y sus estados de timbrado.
  • Consola de Agente: para campañas manuales en modo de ingreso explícito de número, se agrega historial de marcados previos del agente, con búsqueda.

Bugs corregidos:

  • Monitoreo de Campañas: se muestra un guión en lugar de la palabra “null” si el agente está ocupado con una llamada que no provino de la campaña que se está monitoreando.
  • Se corrige la consulta SQL que obtiene los siguientes números de la campaña saliente para que no tarde varios minutos al consultar en una campaña con cientos de miles de números.
  • Se corrige comportamiento del IVR automático cuando la llamada se cuelga en medio de la interacción, para impedir que se sigan ejecutando comandos del IVR en ausencia de la llamada.

Changelog versión 1.1.3-0

Cambios:

  • Se implementa una nueva propiedad de límite de tiempo de descansos en segundos. Si se asigna un número de segundos a un descanso, y a continuación un agente permanece en ese descanso por un periodo superior al número de segundos ingresado, su icono de pausa cambiará a un signo de advertencia en los monitoreos de agente y de campaña.
  • El monitoreo de campaña (ccpro_campaign_monitoring) ahora usa un contador de segundos en lugar de un timestamp para el tiempo de agente.
  • El monitoreo de campaña (ccpro_campaign_monitoring) muestra ahora el nombre y canal del agente, además del nick del agente.
  • Se modifican los monitoreos de agente y de campaña para considerar una salida de pausa como una transición que reinicia el contador de segundos del agente.
  • Se cambia listado de agentes (ccpro_agents) para que ordene los agentes por nick de agente.
  • Se cambia lista de asignación de agentes a cola (ccpro_assign_agents) para que ordene las colas por número de cola.
  • La prueba de IVR en el módulo ccpro_autoivr_scripts ahora pasa el valor de dinomi_call_phone al pseudo-AGI de un tipo de paso COMMAND, si está presente.
  • Se ha robustecido el comportamiento del dialer en caso de que el componente AMIEventProcess del dialer finalice anormalmente por cualquier motivo.

Bugs corregidos:

  • Se corrige bug en la ejecución de un script de IVR en el cual si un paso define simultáneamente una traducción para un valor DTMF a un valor a almacenar en una variable, y una condición de salto basada en el mismo DTMF, el salto jamás se ejecutaba debido a que se usaba el valor ya traducido en la comparación.
  • Se impide que se use una conexión anulada a Asterisk AMI en el escenario de una desconexión de Asterisk que ocurre simultáneamente con una operación sobre una cola o agente.
  • Se corrige regresión en el cual, si se monitorea una campaña con el módulo de monitoreo de campañas, y se quita un agente de la cola que se monitorea, el agente no desaparecía de la visualización del monitoreo.
  • Se corrige error en traducción al francés del módulo Callcenter Config que ocasionaba que la descarga ccprorecordings.php se corrompiera con un byte indeseado, el cual a su vez corrompía la descarga de grabaciones remotas si se instalaba este archivo en el Asterisk remoto. Para terminar de corregir este problema, se debe volver a descargar el archivo ccprorecordings.php a través de la interfaz y volver a instalar este archivo en el Asterisk remoto (sólo para idioma francés).
  • Se corrige no-limpieza de botón de enviar llamada a hold si se tenía una llamada en hold al deslogonear el agente.

Changelog versión 1.1.2-0

Cambios:

  • Se crea una nueva fuente de variables para IVR automático. La fuente de intento de marcado (Call Attempt Attribute) contiene valores resultantes del intento de marcado. Los valores disponibles son: phone start_time id_campaign id_contact id_contact_number id retry . En particular se dispone ahora del número marcado por parte de la campaña en “phone”.
  • Se crea un nuevo tipo de paso de IVR automático, el paso COMMAND. Este paso permite ejecutar un programa externo que puede tomar acciones arbitrarias para extender la funcionalidad del IVR, y para asignar variables que se guardan. Se sigue el protocolo AGI para la comunicación con el programa: se emiten todas las variables agi_* recibidas por la instancia de FastAGI, seguidas de variables dinomi_[campaign|contact|save|call]_{CLAVE} para las variables disponibles por parte de la campaña. En particular, el valor de dinomi_call_phone contiene el teléfono contactado. Se soporta una implementación de SET VARIABLE (https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+AGICommand_set+variable) que asigna variables a ser guardadas como parte de la llamada, y que luego aparecerán en la descarga CSV.
  • Los módulos de licenciamiento (ccpro_about, ccpro_licensing) usan ahora una biblioteca unificada para descargar e instalar licencias. Se aprovecha para mostrar mensajes de error más explicativos si no se puede obtener la licencia, los cuales permiten, específicamente, detectar el bloqueo de la petición de licenciamiento por parte de proxy intermedio.
  • Se modifica el orden de pestañas del módulo de Configuración General para que NO muestre la selección de ubicación de la base de datos call_center_pro como primera opción. Esta opción es sólo para configuración experta.
  • El módulo de Monitoreo de Agentes ahora muestra, para cada agente ocioso, el tiempo ocioso desde la última llamada, en lugar del tiempo desde el inicio de sesión del agente.
  • La descarga CSV de las campañas salientes incluye ahora el estado AMD de la llamada.
  • El módulo de Monitoreo de Campañas muestra ahora el nombre del agente, además del nick y el canal de agente. Además se usan los mismos iconos y colores usados en Monitoreo de Agentes para representar el estado.
  • El módulo de Monitoreo de Campañas muestra ahora la hora desde la cual el agente está ocioso, en lugar de mostrar en blanco.
  • La campaña de llamadas manuales tiene ahora una bandera para despausar automáticamente al agente. Con esta bandera activa, si el agente estaba en pausa al momento de iniciar una llamada de la campaña manual, esta pausa se terminará al momento en que se conecta la llamada.
  • Limpieza interna – se construye y usa una biblioteca genérica de descarga CSV para contactos de campaña. Esto permite compartir entre todos los módulos el código para ahorrar memoria en descarga, que previamente estaba repetido en varios módulos.

Bugs corregidos:

  • Se corrige incapacidad de marcar una llamada de campaña saliente usando una troncal directa de tipo IAX2.
  • Se corrige incapacidad de iniciar una conexión SSL desde el dialer hacia el webchat proxy bajo PHP 5.1/Elastix 2.x.
  • Se corrige enlaces de paginación y quitar filtro incorrectos en módulo Chat Service Level.
  • Se corrige incapacidad de interactuar remotamente con grabaciones IVR usando ccprorecordings.php si el asterisk remoto expone el webserver únicamente con HTTP y no con HTTPS.
  • El script ccprorecordings.php permite ahora descargar grabaciones en el escenario en el que el directorio de grabaciones de Asterisk (astspooldir) tiene uno o más componentes que son enlaces simbólicos. Previamente la descarga era denegada como medida de seguridad. El aplicar esta corrección requiere copiar ccprorecordings.php al servidor Asterisk remoto.
  • El módulo de configuración valida ahora que el usuario de AMI a usar para el dialer posea los permisos de operación mínimos para funcionar, y rechaza el guardar un usuario con permisos insuficientes.
  • Se corrige la ausencia del procesamiento de la ruta de grabaciones de llamadas entrantes para quitarle el prefijo $ASTSPOOLDIR/monitor/ que se realiza para las grabaciones de otros tipos de llamadas. El síntoma de este problema era que en el escenario de asterisk remoto, las grabaciones de llamadas entrantes no podían descargarse.

Changelog versión 1.1.1-0

Cambios:

  • Implementación de llamadas secundarias. En cualquiera de los modos de operación con agente (campañas entrantes, salientes, y de marcado manual) el agente que atiende una llamada (si está autorizado como agente y/o por campaña) puede usar el botón de mano en la Consola de Agente para mandar la llamada a hold. Entonces aparece un recuadro donde se puede introducir un teléfono a marcar, y esta segunda llamada se conectará con el agente. Esta operación puede repetirse un número arbitrario de veces. Luego el agente puede recuperar la llamada principal para seguir hablando con el cliente. Las llamadas secundarias realizadas para una llamada principal pueden verse en un despliegue de Calls Detail. NOTA: esta funcionalidad requiere primero activar parqueo de llamadas (Call Parking) en FreePBX, y asignar un número de espacios al menos igual al número de agentes autorizados para la funcionalidad.
  • Nuevo modo de ingreso de número telefónico en llamada manual por parte del agente. Este es un nuevo modo de operación de la campaña manual en el cual, en lugar de elegir un contacto existente previamente cargado en la campaña, el agente tiene la capacidad de introducir uno o más números telefónicos, los cuales se almacenan como un nuevo contacto. Si se activa la opción de automarcado en la campaña correspondiente, los números introducidos se empezarán a marcar inmediatamente y de forma secuencial hasta que alguno conteste. Los contactos introducidos aparecen como contactos ordinarios en la descarga CSV de la campaña.

Bugs corregidos:

  • Se realiza ajuste en la verificación de licenciamiento en la Consola de Agente que recorta de 1 a 2 segundos de cada operación iniciada por el agente y hasta 4 segundos de la carga inicial de la consola.
  • Se implementa el almacenamiento del número usado para la transferencia en la llamada manual.
  • Se corrige estado de activación de panel lateral de campañas manuales que previamente podía aparecer cerrado incluso si el botón de activación (mano que apunta) está activado.

Changelog versión 1.1.0-0

Cambios:

  • Nueva funcionalidad de Agentes de Webchat: una vez licenciada la cantidad de agentes a usar, se permite embeber en una página web un diálogo de chat. El cliente puede ingresar sus datos y entrará a una sala de chat. Los agentes observan en la nueva cejilla de la Consola de Agente que hay un chat pendiente y pueden entrar a conversar con el cliente.
  • Como parte de lo anterior, se ha implementado una separación entre la identidad del agente y el canal de voz a usar. Durante la existencia del agente, es ahora posible cambiar la asociación del agente con su extensión. La migración de actualización copia la información a las nuevas tablas.
  • Gran reestructuración del módulo de creación de agentes. Ahora los agentes estáticos y de callback aparecen en un solo reporte.
  • Monitoreo de campañas: se implementa la emisión de eventos de evaluación de campaña, los cuales permiten saber cuándo el dialer está evaluando si generar llamadas en la campaña, y con qué valores.
  • About Us: se activan enlaces al changelog en el sitio dinomi.com.
  • Implementación EXPERIMENTAL de URLs REST para carga de contactos de campaña: https://user:password@dinomisrv.example.com/rest.php/[ccpro_campaign_out|ccpro_campaign_manual|ccpro_campaign_autoivr]/campaigns/{CAMPAIGN_ID}/contacts . Por favor contactar soporte@palosanto.com para más instrucciones de cómo integrar en la instalación.

Bugs corregidos:

  • Se arregla instalación incorrecta de configuración de logrotate (con permiso incorrecto +x) que causa que el archivo de log crezca desmesuradamente sin ser rotado.
  • Corregido manejo de campañas entrantes/manuales que no tienen formularios asignados.
  • Gestión ACD: se evita una división para cero si no hay llamadas en el intervalo examinado.
  • Se realizan optimizaciones que evitan lectura desde la base de datos de datos que ya están disponibles en memoria. Esto afecta a los siguientes eventos ECCP: progreso de marcación, agente conectado a llamada

Changelog versión 1.0.0-38

Cambios:

  • Monitoreo de Agentes: ahora el monitoreo realtime permite mostrar, para el agente estático, la extensión que fue usada para el login.
  • Ahora es posible definir el umbral de llamada corta (ShortCall) por campaña, en lugar de ser una configuración global. Además la campaña autoivr ignora por omisión el umbral de llamada corta, y tiene que ser activado explícitamente para cada campaña. Esto impide que las llamadas de campañas que consisten de una grabación muy corta sean automáticamente catalogadas como ShortCall.

Bugs corregidos:

  • Se corrige bug severo en el cual una verificación incorrecta de la validez de la clave de mysql en /etc/elastix.conf causa que, si no existe previamente la base call_center_pro, no se puede instalar DINOMI porque se queja (incorrectamente) de que la clave no es válida.
  • Se desactiva log excesivo de phpagi en múltiples lugares donde interfiere con los logs del servidor web.

Changelog versión 1.0.0-37

Cambios:

  • Para Elastix 2.x, la versión mínima requerida es ahora 2.5.0-11, debido a que fue esta versión la que introduce la fuente de iconos FontAwesome que se usa en algunos módulos de DINOMI.
  • Si el paquete pigz (compresión multihilo gzip) está disponible, la descarga masiva de grabaciones lo usa para acelerar la compresión del tarball de grabaciones con el uso de todos los núcleos del servidor DINOMI.
  • Las campañas manuales tienen ahora una nueva bandera que permite indicar que el agente que pide un contacto en una campaña secuencial toma posesión del contacto al momento de verlo. Esto mitiga el problema de que un agente no puede marcar a un contacto porque un segundo agente empezó a marcar ese mismo contacto.
  • Agents Monitoring: se usan iconos de FontAwesome en lugar de archivos de imágenes. Se usa un icono en lugar de la palabra “LOGOUT” para consistencia de visualización. Las etiquetas de estado asociadas a los iconos son ahora traducibles. Se elimina paginación inútil en la grilla del reporte realtime. Se corrige inconsistencia de traducción que causaba que el título del reporte apareciera siempre en inglés.
  • Agents Monitoring: se agregan botones para colapsar las colas del reporte realtime para que se pueda visualizar únicamente la cola de interés para el supervisor.
  • Ahora los reportes de campañas saliente y entrante tienen enlaces que saltan al monitoreo realtime de esta campaña.
  • (interno) Multiplexación de sesiones ECCP a través de un solo socket TCP/IP, requerido para funcionalidades futuras.
  • El marcador ya no asume un directorio quemado de /var/spool/asterisk para grabaciones sino que lo lee de la configuración de Asterisk al momento de arrancar.

Bugs corregidos:

  • Se corrige bug del dialer en el cual el cierre inesperado de una conexión TCP/IP luego de que el bucle de eventos interno deja de esperar lecturas del socket, pero cuando todavía tiene pendientes datos a escribir, puede causar que el proceso (generalmente ECCPProcess) entre en un bucle infinito que consume todo el CPU y además llena sin control el log de mensajes con errores de socket de PHP.
  • Se corrige bug en el dialer en el cual el límite de máximo número de canales por campaña sólo limitaba el número de llamadas generadas en un ciclo de verificación de la campaña, pero no limitaba el total de llamadas activas para la campaña. Esto podía causar fallos de conexión de llamada si la troncal efectivamente tiene un límite de llamadas simultáneas.
  • Se corrige bug en monitor realtime de llamadas entrantes (Incoming Calls Monitoring) en el cual se producía un bucle de refrescos infinito si una campaña usaba una cola, pero estaba fuera de horario, y se recibía una llamada en esa cola.
  • Corregido problema en dependencias de DINOMI que hacía que, para Elastix 2.x, si php-pecl-json no estaba ya instalado, el intento de instalar o actualizar DINOMI a través de yum causaba que se arrastre php53-json que es un paquete incompatible.
  • Ahora, cuando un agente en campaña manual agenda un nuevo número al contacto y activa la opción de agendar al mismo agente, el dialer asigna posesión del contacto al agente para que los demás no atiendan a este agente.
  • Se agrega verificación al momento de instalar o actualizar el paquete RPM de que la clave de root de mysql en /etc/elastix.conf realmente es válida, y aborta la instalación o actualización si dejó de ser válida.

Changelog versión 1.0.0-36

Cambios:

  • Descarga masiva de grabaciones: en el reporte Calls Detail hay un nuevo botón “TGZ grabaciones” que hace que se genere y envíe al navegador un tar.gz con las grabaciones de las llamadas que aparecen en el reporte con el filtro en curso. Para el caso de Asterisk remoto se requiere copiar la versión actualizada de ccprorecordings.php al Asterisk remoto.
  • (Desarrollo) Se implementa un framework para plugins de datos a guardar vía formulario de la Consola de Agente. Esto permite construir plugines que reciban los datos a guardar sin necesidad de modificar la implementación base de la consola.

Bugs corregidos:

  • Corregida regresión que causaba incapacidad de conectar el IVR automático para la llamada manual.
  • Ahora se refresca de inmediato la lista de agentes conocida por el dialer cuando se crean o cambian los agentes estáticos o dinámicos.
  • Se muestran mensajes de error ligeramente más descriptivos en caso de errores en la Consola de Agente.
  • Corregido bug potencial en el que un agente que ha sido inactivado varias veces puede cambiar de ID incorrectamente según el dialer.

Changelog versión 1.0.0-35

Cambios:

  • Implementada descarga de base de datos Do Not Call.
  • Balance de Gestión ACD: se extiende reporte para desglosar llamadas entrantes en contestadas y abandonadas.
  • Consola de Agente: se usan iconos para acciones del agente en lugar de textos largos, para ahorrar espacio en la pantalla.

Bugs corregidos:

  • Se agrega requerimiento de php-json al paquete para que se arrastre la dependencia de php-pecl-json en Elastix 2.x. El php-pecl-json se usa para el módulo de línea de tiempo de licenciamiento.
  • Se eliminan advertencias incorrectas de validación al generar llamadas autoivr.
  • Se permite actualización en DINOMI ISO desde una versión que no dispone de autoivr a la versión actual sin obligar a ingresar la IP local al guardar configuración en el módulo de Configuración General.
  • Se corrige escenario en el cual si una campaña saliente todavía tiene llamadas activas al momento de ser desactivada, el marcador sigue generando llamadas sobre la campaña desactivada.
  • Se corrige intento repetido de usar DeviceStateRefresh en un Asterisk que no implementa este requerimiento AMI.
  • Se implementa distinción entre error genuino de Asterisk y un agente sin llamada en los requerimientos ECCP transfercall, getchanvars.
  • Se elimina actualización indebida sobre campaña saliente si se realiza transferencia de una llamada manualdialing.
  • Efficiency By Agent: se elimina codificación HTML y tags HTML al descargar en formatos CSV/PDF/XLS.
  • Performance By Day: se cambia el gráfico de líneas a barras para manejar escenario de un solo punto a graficar.
  • Correcciones en manejo de campañas expiradas: se revisa la vigencia de fecha de las campañas en la base de datos cuando una campaña sale de vigencia de hora, en lugar de sólo en la medianoche. Se marca como expirada en la base de datos una campaña que se carga en el dialer con estado activo y fecha de vigencia expirada. Se marca con un icono las campañas cuyo intervalo de vigencia ya pasó y se prohíbe su activación a través de los módulos.
  • Call Duration Histogram: se corrige comportamiento cuando el intervalo elegido es de un solo día.
  • Corregido problema en DINOMI ISO en el cual usuario o clave de AMI con caracter punto podía confundir a la biblioteca CURL e impedir la descarga de audio remoto.

Changelog versión 1.0.0-34

Cambios:

  • Se permite para campañas salientes y autoivr la especificación del contexto en el que se timbran los números salientes para el caso de marcado por dialplan. Por compatibilidad se asume from-internal.
  • Se permite para campañas salientes y autoivr especificar un CallerID a emitir en la llamada generada.

Bugs corregidos:

  • Dialer: se mejora manejo de campañas para no evaluar campañas recién inactivadas.
  • Dialer: se impide escenario en el que llamadas agendadas pueden causar que se mande a evaluar NULL como información de llamada.
  • Dialer: se impide transición de estado incorrecta si OriginateResponse se recibe para llamada ya enlazada a agente. En escenarios específicos, esto conduce a marcar una llamada como fallida cuando realmente ha sido conectada.
  • Dialer: se impide error de SQL si una llamada autoivr sale por una ruta saliente o troncal que inicia una grabación de llamada y por lo tanto asigna MIXMONITOR_FILENAME.
  • Dialer: se usa una variable de canal para identificar llamadas en el caso de marcado directo por troncal para identificar el canal generado y permitir recoger la causa de fallo si la llamada falla.
  • Dialer/Consola de Agente: se corrige escenario en el cual la pausa de formulario termina incluso si el guardado de formularios falla.

Changelog versión 1.0.0-33

Cambios:

  • Se implementa verificación de horario de uso de una cola cuando se crean o modifican campañas entrantes o salientes. Esto reemplaza a la verificación anterior para permitir que dos o más campañas puedan usar la misma cola en fechas y horarios distintos.
  • Se optimiza proceso de ECCP para que cada proceso de trabajo abra su conexión AMI únicamente cuando alguna petición la requiere.
  • Optimización de verificación de procesos terminados para reducir la demora al finalizar el dialer.

Bugs corregidos:

  • Corregido bug que impedía obedecer el número de licencias gratis en DINOMI ISO. Esta corrección fue previamente publicada en la versión 1.0.0-32.1 para DINOMI ISO.
  • Corregido error en script ccprorecordings.php que impide que se puedan descargar grabaciones remotas de tipo .wav49 . Esta corrección requiere volver a copiar el script corregido en Asterisk remoto.
  • Corregido error en el uso de CURL que impedía el uso de caracter punto o arroba en el usuario o contraseña AMI al momento de verificar IP remota de FastAGI.
  • Arreglada etiqueta de lista desplegable de equipos en Calls Detail que daba a entender que todos los equipos estaban disponibles en lugar de sólo los del supervisor de equipo.
  • Corregido problema de consumo excesivo de memoria al descargar CSV de llamadas de campañas salientes.
  • Corregido error que impide que se use http (en lugar de https) como protocolo de transferencia de grabaciones remotas. Esto afecta principalmente a DINOMI ISO con FreePBX 13 como Asterisk remoto.
  • Implementada detección experimental de situación de Asterisk en la cual el agente de chan_agent está ocioso o desconectado pero app_queue todavía cree que el agente está ocupado. La operación de corrección requiere de un Asterisk parchado.

Changelog versión 1.0.0-32

Cambios:

  • Licenciamiento: se ha implementado en DINOMI Elastix el soporte para licencias que contienen números de agente para rangos limitados de tiempo, al estilo usado en DINOMI ISO. Todas las licencias anteriormente obtenidas se consideran perpetuas para su número de agentes.
  • Licenciamiento: se ha copiado a DINOMI Elastix el módulo de vista de licencias de DINOMI ISO.
  • Reporte de tiempo de sesión (Login Logout): se contabiliza el tiempo invertido en llamadas manuales de forma separada a las llamadas salientes.
  • Nuevo reporte de histograma de duración de llamada (ccpro_rep_call_duration_graph) que muestra un gráfico de barras con la distribución de los tiempos de duración de llamada para las campañas, y otro gráfico con la distribución de tiempos de contestación de marcado.
  • Ahora los módulos de IVR Audios y de IVR Scripts recuerdan la última extensión usada para pruebas y la sugieren para que no se tenga que introducir otra vez.
  • Tanto IVR Audios como IVR Scripts dejan de sugerir el idioma de Elastix para la ubicación de grabación, y ahora asumen una grabación global.
  • Reporte Eficiencia por Agente (ccpro_gestion_eficiencia) puede ahora mostrar datos de llamadas manuales.
  • Consola de Agente: agendamiento muestra ahora etiqueta que indica si agenda a cualquier agente disponible o al mismo agente, para evitar confusiones.
  • Todos los cargadores CSV de campañas pueden ahora especificar el separador de campos. Esto permite acomodar archivos de CSV Excel latinos que usan punto y coma (;) como separador.
  • Se usan iconos en lugar de textos para enlaces en administración de campañas para ahorrar espacio y mejorar presentación.
  • Todos los administradores de campaña muestran ahora las campañas en orden cronológico reverso de rango de validez.
  • Monitoreo de agentes muestra ahora el nombre FreePBX de la cola en el reporte de tiempo real.

Bugs corregidos:

  • Corregido bug en todos los módulos que causaba que los supervisores de teams vieran campañas y otros datos de teams que no eran suyos, como si fuesen supervisores generales.
  • Corregida omisión que impedía borrar una campaña autoivr por falla de validación de aviso de borrado.
  • Reporte Eficiencia por Agente (ccpro_gestion_eficiencia): corregido bug de falta de fecha final en datos de gráfico, entre otros bugs de implementación.
  • Corregido bug en sentencia SQL de una rutina de dialer que causaba errores en algunas operaciones de campañas manuales.

Changelog versión 1.0.0-30

Cambios:

  • Se implementa verificación de que el audio subido para IVR sea realmente reproducible por Asterisk (sólo .wav).
  • Ajuste de modelo de predicción para mejorar la calidad de predicción de llamadas salientes a punto de desocuparse.
  • Reestructuración de la generación de llamadas salientes para evitar una lectura a la base de datos cada 3 segundos. Este cambio mitiga posibles escenarios de bloqueo en caso de generación pesada de llamadas, o si hay otras aplicaciones que leen la base de datos de DINOMI.

Bugs corregidos:

  • Corregido bug que impedía filtrar las campañas disponibles para un supervisor específico. El síntoma era la falla en el listado de campañas del Monitoreo de Campañas.
  • Corregido bug en Consola de Agente que causaba la no asignación del nombre de la pausa si el agente iniciaba una pausa mientras estaba atendiendo una llamada.
  • La instalación o actualización de licencia ahora reinicia el dialer. Esto se requiere para que el dialer obedezca el nuevo número de agentes.
  • Corregido bug en generación de llamadas salientes y autoivr que, en caso de múltiples llamadas a generar por iteración, podía causar duplicado de algunas llamadas y el no-marcado de otras, con fuga de referencias a llamadas.
  • La generación de llamadas de prueba de IVR y de audio IVR tienen ahora un número simulado para permitir el uso de troncales que rechazan la ausencia de número de Caller ID.
  • La carga de números a través de CSV admite ahora que los números a marcar contengan caracteres numeral y asterisco.
  • Se actualiza contexto invocado al agendar llamada saliente al mismo agente para que use el esquema actualizado de FreePBX 11 para iniciar las grabaciones. Esto debe restaurar la grabación de llamadas agendadas.

Changelog versión 1.0.0-29

Cambios:

  • Nueva funcionalidad de campañas sin agentes y con IVR para reproducir audios. Se puede configurar un guión de interacción con el cliente a llamar que indica la lista de audios a reproducir, si se debe recoger opciones de DTMF, y qué valor guardar en la base de datos para cada dígito presionado. Se soporta reproducir valores de enteros, secuencias de dígitos, de letras, fechas y cantidades monetarias. Se soporta usar un mismo guión en múltiples idiomas si los audios requeridos existen en el paquete de idioma de Asterisk. Los valores recogidos pueden ser descargados en formato CSV de la misma manera que en el resto de campañas. Los guiones pueden ser probados con independencia de una campaña a través de una extensión existente en Asterisk. Se soporta administración de audios incluyendo grabación a través de extensión y subida de archivo de audio en alguno de los formatos soportados por Asterisk.
  • Se eliminan restricciones innecesarias que restringían el número de agentes mostrados en la configuración de agentes y en monitoreo de agentes al número máximo de agentes licenciados. Esto permite el escenario de trabajo por turnos de varios grupos de agentes que no estarán todos logoneados simultáneamente.

Bugs corregidos:

  • Se evita escenario en el cual una extensión de agente puede ser deslogoneada por el dialer porque expiró el registro, incluso si está ocupada atendiendo una llamada.
  • Se corrige escenario en el que el rechazo de la llamada que inicia el login de agente estático causaba un cuelgue de la consola de agente en estado de esperar login en lugar de que se le avise de inmediato la falla de login.
  • Se corrige actualización incorrecta de la bandera DNC que causaba que la llamada saliente actualizara un registro incorrecto.
  • Se corrige bug en consola de agente que no limpiaba el texto de break en caso de que el agente se deslogoneara en estado break y se volviera a logonear.
  • Se corrige formato incorrecto de descarga CSV para campañas manuales si los contactos no poseen atributos.
  • Se limita a 10 segundos la espera para llamadas en curso en finalización de dialer. Esto evita algunos escenarios que causan múltiples instancias del dialer en ejecución simultánea.
  • Se corrige incapacidad de asignar a una campaña saliente un contexto telefónico que sea distinto a “from-internal”.

Changelog versión 1.0.0-28

Cambios:

  • Implementación inicial de espiado en llamadas de agentes en Monitoreo de Campañas. Cuando un agente tiene una llamada activa, la entrada asociada al agente mostrará un ojo. Al hacer clic en el ojo se muestra un diálogo con una extensión interna a llamar y un modo de espiado de llamada. La llamada resultante permite escuchar lo que el agente y el cliente están hablando, y (según el modo de espiado) susurrar al agente, o intervenir con voz en la llamada.
  • AMD Config: se agrega botón para resetear valores de configuración a sus valores recomendados.
  • Queues: se agrega columna “Eventos de agente” en reporte de colas monitoreadas que indica si la cola tiene activas las banderas eventmemberstatus y eventwhencalled . Estos eventos deben estar activos para la funcionalidad de auditoría de llamadas no contestadas, y su uso mejora el rendimiento del monitoreo de las colas de campañas salientes. En caso de que las banderas no estén presentes, se proporciona un enlace a la configuración de cola de FreePBX (sólo para versión Elastix).
  • Queues: se muestra nombre descriptivo (FreePBX) de cola, si está disponible.

Bugs corregidos:

  • Dialer: corregido bug que causa bucle infinito de errores en el log si una llamada entrante ingresa en una cola monitoreada pero que no está asignada a campaña alguna. También se elimina volcado recursivo que llena el log en caso del mismo error. Ticket OTRS 2017052310000764.
  • Dialer: se corrige espera de causa de fallo de marcado de llamada de 60 a 10 segundos.
  • Dialer: ya no se cuentan las llamadas fallidas en espera de causa de fallo como llamadas en espera de entrar en cola, para propósitos de marcado de llamadas salientes.
  • Dialer: se agrega verificación a todos los parámetros enteros de peticiones ECCP, de que realmente son enteros.
  • Assign Agents: se corrige bug en implementación de escritura de configuración que causa un fallo al intentar modificar el archivo de colas para agentes estáticos si hay muchos agentes asignados.
  • Arreglado tag HTML desemparejado en formulario estándar DINOMI.
  • AMD Config: se maneja caso en que archivo de configuración amd.conf no existe, principalmente en Asterisk remoto.

Changelog versión 1.0.0-27

Cambios:

  • El módulo de configuración ha sido reorganizado usando pestañas de configuraciones relacionadas.
  • El módulo de configuración del dialer verifica ahora que todas las credenciales (a la base del dialer, FreePBX y Asterisk) realmente funcionan antes de guardar los datos, si han sido cambiadas. Esta verificación se muestra como un diálogo modal.

Bugs corregidos:

  • Se corrige error al agendar una llamada de campaña saliente que ocasionaba que la llamada agendada no tuviese los atributos de la llamada original, si la llamada original era un número de un contacto con múltiples números pero no el primero ingresado.
  • Se corrige ruta a servicio que de otro modo impide que el servicio dialer pueda ser iniciado o detenido con versiones recientes de sudo en CentOS 7.
  • Se corrige condición de carrera en script de inicio de servicio dialer que puede conducir a que el dialer se detecte como no iniciado incluso si está activo.
  • La configuración de agentes estáticos puede ahora manejar la ausencia inicial del archivo agents.conf de Asterisk.
  • Se corrige actualización de estadísticas por parte del dialer que sólo se escriben para campañas salientes.
  • Se bloquea el borrado de una campaña que está en estado ACTIVO. Además se bloquea el borrado de una campaña en estado INACTIVO si el dialer informa que todavía está manejando llamadas de esta campaña. Esto evita que ocurran errores SQL al intentar actualizar el estado de una llamada que ha sido borrada.
  • Para compatibilidad con instalaciones FastCGI, se rellena las respuestas de Server-Sent Events (Agent Console, Agent Monitoring, Campaign Monitoring) hasta superar 4096 bytes. Esto evita que se queden en el búfer de FastCGI los mensajes que deben ser enviados inmediatamente.

Changelog versión 1.0.0-26

Cambios:

  • Monitoreo de colas entrantes muestra ahora la etiqueta asignada a la cola en FreePBX.

Bugs corregidos:

  • Corregida regresión en reescritura de Consola de Agente que causaba incapacidad de activar el botón Handled para una llamada manual.
  • Corregido error que impide control de servicio dialer a través del módulo de Configuración General debido a renombre de servicio.
  • Corregido CSS que causaba texto ilegible de botones en varios lugares al ser enfocados, especialmente en Configuración General.
  • Desactivada instalación de dialplan a través de AMI para impedir potencial corrupción del plan de marcado de Asterisk.
  • Se muestra una sola vez mensaje de que cola requiere banderas eventwhencalled para no llenar de mensajes el log.
  • Se implementa manera más robusta de terminar procesos componentes del dialer en paralelo a manejador SIGTERM.

Changelog versión 1.0.0-25

Cambios:

  • El paquete RPM se llama ahora “dinomi-callcenterPRO”.
  • Nueva funcionalidad de reciclado de campañas salientes. Al elegir la opción de reciclar campañas, se puede seleccionar un subconjunto de contactos y números que hayan sido intentados o no intentados, contactados o no contactados, o con valores particulares de su formulario dinámico. Los contactos y números elegidos pueden, o resetearse para ser vueltos a marcar en la misma campaña, o clonados hacia una nueva campaña.
  • Cambios de URLs de referencia al nuevo dominio dinomi.com.

Bugs corregidos:

  • Se arregla bug que impedía en algunos escenarios la carga correcta de la zona horaria en CentOS7/Elastix 4 por parte del dialer.
  • Se arregla incapacidad de quitar un campo de un formulario dinámico si al menos un contacto ha recolectado datos que hagan referencia a ese campo. Ahora los valores recogidos asociados se borran también.
  • Se corrige en Assign Agents escenario que mostraba nuevamente el listado principal incluso si había fallado la asignación de agentes a una cola, lo cual podía generar confusión si el usuario no veía el mensaje de error mostrado.
  • Se corrige en Assign Agents regresión que causa fallo al intentar agregar agentes a una cola que previamente no tenía agentes.
  • Arreglo parcial de acceso a archivos de ayuda de los módulos.
  • Se relaja validación de usuario válido AMI en descarga de grabaciones remotas.
  • Se corrige lentitud en el guardado de formularios estáticos con muchos (>100) campos.
  • Se incluye afinación en contexto de AMD para mejorar detección correcta de grabaciones.
  • Se arregla excepción incorrectamente nombrada que causa errores al listar colas disponibles, sobre todo en Elastix 2.
  • Se corrige regresión en Configuración General que impide guardar desactivación de predicción en marcado.

Changelog versión 1.0.0-24

Cambios:

  • Los contextos auxiliares de trabajo (para llamadas agendadas al agente y para AMD) pueden ahora ser verificados e instalados desde el módulo de configuración general. Esto funciona también para un Asterisk remoto.

Bugs corregidos:

  • Corregido problema causado por limitación de máximo número de variables POST en PHP 5.3.9 y superior que causa que formularios con muchos campos (>500) no puedan ser guardados por el agente.
  • Corregido problema que causaba fallos al determinar el estado o desconectar un agente dinámico con un nombre amistoso.
  • Corregida condición de carrera en generación de llamadas salientes que causa generación de llamadas cuando existen todavía llamadas recién conectadas pero que tardan varios segundos en entrar a la cola.
  • Corregido error en módulo de configuración general que impedía el guardado de cambios en la configuración.

Changelog versión 1.0.0-23

Cambios:

  • Reestructuración de Consola de Agente para no recargar toda la página al momento de iniciar y terminar el login de agente. Este cambio permite el uso del WebPhone como extensión de agente.
  • Capacidad de configurar un FreePBX remoto.
  • Optimización para mitigar contención de base de datos al actualizar estado de grupo de contactos de llamada saliente.
  • Optimización para verificar inactivación de campañas terminadas sólo al detectar cambio de fecha de sistema en lugar de cada 3 segundos.
  • Registro en log de tiempo de latencia excesivo de operaciones de base de datos para depuración.

Bugs corregidos:

  • Corregido estilo aplicado incorrectamente en Consola de Agente que causaba que las listas desplegables en los formularios se muestren con los items concatenados en algunos navegadores.
  • Corregida situación en la que el intento de Originate que falla de inmediato en el dialer puede ocasionar un intento de escribir NULL a una columna de base de datos que no acepta NULL, lo cual conducía a un bucle infinito.
  • Corregido error de paginación en Calls Detail cuando se intenta pasar a la siguiente página de un reporte que muestra las llamadas de hoy sin aplicar filtro alguno.
  • Corregido problema al mostrar contexto a usar en llamadas salientes al activar y desactivar AMD.
  • Corregido problema al guardar datos de formulario dinámico con algunos valores faltantes.

Changelog versión 1.0.0-22

Cambios:

  • Cambio de servidor de registro a cloud.dinomi.com.
  • Retraso de deslogoneo de agente por 10 segundos en caso de desregistro de extensión SIP. Esto se implementa para compatibilidad parcial con el webphone de Elastix Business Edition.

Pulsa aquí para añadir un texto