diseño e implementación de un sistema de distribución automática de llamadas entrantes (acd)...

37
Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro Urquizo Guevara

Upload: julia-juarez-ortiz-de-zarate

Post on 23-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter

Luis Miguel Andino MontalvoJavier Alejandro Urquizo Guevara

Page 2: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Antecedentes

Las comunicaciones son vitales para el desarrollo de cualquier empresa.

Las empresas, utilizan los centros de contacto para interactuar con sus clientes.

Page 3: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Antecedentes

Aparece Asterisk, una PBX implementada en software y de código abierto.

Las empresas implementan sistemas ACD, para distribución de llamadas.

Page 4: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Objetivo General

Diseñar e Implementar un sistema de distribución automática de llamadas entrantes (ACD) para un Centro de Contacto, utilizando un algoritmo basado en información estadística para decidir la prioridad de asignación de las llamadas a agentes conectados.

Page 5: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Objetivo General

Tiempo de conexióndel agente

Promedio de la duración de las llamadas tomadas por el

agente diariamente

Page 6: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Objetivo General

Tiempo de espera del cliente en cola

Prioridad de la llamada basada en el identificador

Page 7: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Objetivos específicos

• Implementar una solución como aplicación a una necesidad en el mundo actual.

• Lograr una fácil transición a través de un sistema amigable.

• Acoplar diferentes programas y servicios para proveer un sistema eficiente.

Page 8: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Esquema

Page 9: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Componentes

• Hardware• Servidor • Teléfono IP

• Software• Servicios levantados• Teléfono IP por software

Page 10: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Hardware

Características del Servidor

Teléfono IP

GrandStream modelo GPX2000

CPU RAM Disco Duro

Intel Core Duo 2.66 GHz 2 GB 300 GB

Page 11: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Software

Servicios levantados

Softphone

Sistema Operativo Software PBX Motor Base de Datos

Servidor Web

PHP

Linux, Distribución Centos 5.5

Asterisk versión 1.8.3.2

My Sql Server 5.0.8

httpd-2.2.3-53.el5.centos.3

php 5.1.6-27.el5_5.3

Version Softphone

Zoiper_free_2.37

Page 12: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Esquema de Implementación

Page 13: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Implementación

• Elección de política de redirección

• Inicio de sesión de los agentes

• Encolamiento de las llamadas

• Captura de detalle de las llamadas

• Filtrado de llamada por identificador

• Redirección de llamada al agente elegido

Page 14: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Elección de política de redirección

La elección de la política de redirección, se realiza mediante una aplicación Web.

Page 15: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Elección de política de redirección

La información es almacenada en una base de datos.

Page 16: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Elección de política de redirecciónArchivo eleccion.php

Page 17: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Inicio de sesión de los agentesArchivo de configuración agents.conf

Archivo de configuración extensions.conf

Page 18: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Encolamiento de las llamadas

Proceso mediante el cual se colocan las llamadas en una cola al momento de marcar al Callcenter.

En este paso se inactivaran a todos los agentes que no se encuentren contestando una llamada y que se encuentren en línea.

El comportamiento de la cola es FIFO.

Page 19: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Encolamiento de las llamadas

Archivo de configuración queue.conf

Page 20: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Captura de detalle de llamadas

Esta parte del proyecto captura los datos y las variables para luego utilizarlas en el algoritmo de redirección.

Se utilizará un código del software QUEUEMETRICS que maneja los datos de las colas de Asterisk en una base de datos.

Page 21: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Captura de detalle de llamadasArchivo de configuración cdr_mysql.conf

[global]hostname=localhostdbname=asteriskpassword=labtelecom10 user=root

Page 22: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Captura de detalle de llamadasTabla cdr

Page 23: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Captura de detalle de llamadasTabla queue_log

Page 24: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Filtrado de llamada por identificador

La aplicación web permite el ingreso de clientes VIP por parte del administrador.

Page 25: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Filtrado de llamada por identificadorArchivo usuariovip.php

Page 26: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Redirección de llamada al agente elegido

Esta sección se encargará de activar únicamente al agente que va a recibir la llamada.

La elección del agente será en base a la política vigente y a la información recopilada en las bases de datos.

Page 27: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Redirección de llamada al agente elegidoAgente de mayor/menor tiempo conectado

Page 28: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Redirección de llamada al agente elegidoAgente de mayor/menor tiempo conectado

$query1 = "SELECT agent FROM (SELECT o.agent, o.time_id FROM queue_log o WHERE o.verb = 'AGENTLOGIN' AND o.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'AGENTLOGOFF') AND o.agent NOT IN (SELECT t.agent FROM queue_log t WHERE t.verb = 'CONNECT' AND t.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'COMPLETECALLER' OR q.verb = 'COMPLETEAGENT')) ORDER BY o.time_id) AS e;";$query1 = "SELECT agent FROM (SELECT o.agent, o.time_id FROM queue_log o WHERE o.verb = 'AGENTLOGIN' AND o.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'AGENTLOGOFF') AND o.agent NOT IN (SELECT t.agent FROM queue_log t WHERE t.verb = 'CONNECT' AND t.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'COMPLETECALLER' OR q.verb = 'COMPLETEAGENT')) ORDER BY o.time_id DESC) AS e;";

Page 29: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Redirección de llamada al agente elegidoAgente de mayor/menor promedio diario de duración de llamadas tomadas

Page 30: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Redirección de llamada al agente elegido

Agente de mayor/menor promedio diario de duración de llamadas tomadas

$query1 = "SELECT dstchannel FROM (SELECT dstchannel, AVG(duration) dur FROM cdr WHERE DAYOFYEAR(calldate)=DAYOFYEAR(CURDATE()) AND dst='2020' OR dst='2021' GROUP BY dstchannel ORDER BY dur) AS t WHERE dstchannel IN (SELECT agent FROM (SELECT o.agent, o.time_id FROM queue_log o WHERE o.verb = 'AGENTLOGIN' AND o.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'AGENTLOGOFF') AND o.agent NOT IN (SELECT t.agent FROM queue_log t WHERE t.verb = 'CONNECT' AND t.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'COMPLETECALLER' OR q.verb = 'COMPLETEAGENT'))) AS e);";$query1 = "SELECT dstchannel FROM (select dstchannel, AVG(duration) dur FROM cdr WHERE DAYOFYEAR(calldate)=DAYOFYEAR(CURDATE()) AND dst='2020' OR dst='2021' GROUP BY dstchannel ORDER BY dur DESC) AS t WHERE dstchannel IN (SELECT agent FROM (SELECT o.agent, o.time_id FROM queue_log o WHERE o.verb = 'AGENTLOGIN' AND o.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'AGENTLOGOFF') AND o.agent NOT IN (SELECT t.agent FROM queue_log t WHERE t.verb = 'CONNECT' AND t.call_id NOT IN (SELECT q.call_id FROM queue_log q WHERE q.verb = 'COMPLETECALLER' OR q.verb = 'COMPLETEAGENT'))) AS e);";

Page 31: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Pruebas

Ver video

Page 32: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Conclusiones

• Se cumplió el objetivo principal de la implementación del Callcenter utilizando Asterisk como software de PBX en conjunto con diversas herramientas.

• En base a las pruebas realizadas se determinó que el proyecto puede ser aplicado en varias empresas con diferentes políticas.

Page 33: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Conclusiones

• El sistema es amigable al uso de los agentes por lo que facilita la transición a la tecnología VoIP.

• El sistema permite la utilización de diferentes políticas, por lo cual la eficiencia de la atención a los clientes depende de la elección de las mismas por parte de la empresa.

Page 34: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Recomendaciones

• Utilizar programas que emulen teléfono IP (softphones).

• Utilizar aplicaciones de código abierto.

• Reducir estrés producido por tiempo de espera.

Page 35: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Recomendaciones

• Revisar el uso de herramientas para manejo de datos en tiempo real de Asterisk.

• Plantearse AMI como solución alternativa para este trabajo.

Page 36: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Preguntas

Page 37: Diseño e Implementación de un Sistema de Distribución Automática de Llamadas Entrantes (ACD) para un Callcenter Luis Miguel Andino Montalvo Javier Alejandro

Gracias por su atención