Software Libre para Call Centers en tiempos de teletrabajo y recesión económica

Por: Fabián Pignataro

Cada vez que el caos despliega sus alas sobre la aparente ordenada realidad que subyace los cimientos sobre los que se construyen los paradigmas que rigen las sociedades, el individualismo no fue precisamente la actitud que ayudó a la humanidad a salir adelante y ponerse nuevamente en marcha. Por el contrario, el accionar COMUNITARIO resultó el mejor aliado y motor de la superación en las diversas crisis que hemos atravesado.

Call Center Remoto

Como dicen en mi país, «cuando las papas queman», afloran dos actitudes posibles:

(a) El «sálvese quien pueda», que ante el infortunio ajeno se concentra en el cuidado exclusivo del “propio ombligo” o bien olfatea un negocio lucrativo basado en la desesperación del prójimo.

(b) El «cuidarnos como hermanos», que fomenta una actitud de COMUNIDAD que vela y apuesta por un accionar colaborativo que tiende inequívocamente al bienestar individual y colectivo simultáneo.

Este artículo se enmarca dentro del ítem (b) desde una perspectiva de generación de software. Un grupo de profesionales IT, impregnados con esta clase de valores humanos, está impulsando una aplicación para Call & Contact Centers de Software Libre basada en la amigabilidad de las interfaces y facilidad de gestión desde un enfoque 100% Web & WebRTC que resulta especialmente ideal para estos tiempos de TRABAJO REMOTO.

OMniLeads es una aplicación de software libre capaz de hacer funcionar un Call/Contact Center con operaciones Inbound & Outbound (Blended).

Supervisión de Usuarios

Supervisión de usuarios WebRTC (channel spy, wishper entre otras funciones)

Reportes de Productividad

Reportes de productividad

 

Consola de AgenteConsola de Agente WebRTC

La aplicación está disponible para su libre instalación y uso. De esta manera, todo aquel que desee montar un Call/Contact Center como servicio a la comunidad, o bien para afrontar la recesión económica disminuyendo costos al prescindir del pago de licencias, puede instalarla siguiendo los pasos desplegados a continuación.

¿Como lo instalo?
Para ejecutar la aplicación es necesario contar con una instancia de GNU/Linux CentOS-7 Minimal. Podemos pautar una operación de 50 a 70 usuarios con un servidor de 8GB de RAM, CPU de las características de un Core-i7 y 100 GB de disco SSD o similar. No obstante, la aplicación puede escalar fácilmente hacia cientos de operadores simultáneos amplificando la potencia del servidor o bien acudir a un despliegue clusterizado (si la cosa es bien grande).

Deployment
El tipo de Deploy aquí expuesto es el más básico de todos y tiene que ver con descargar el repositorio sobre el host que hospedará la Aplicación para luego ejecutar un script bash que lanza un playbook Ansible.

Pre-requisitos
El host sobre el cual realizaremos la instalación debe contar con acceso a internet sin ningún tipo de restricción, con un hostname y dirección IP fija configurados.

Se plantea la instalación más básica: Ansible Self-Hosted

Luego de ingresar por SSH como root a nuestra instancia CentOS, se ejecutan algunos comandos previos al deploy:

yum update -y
yum install kernel-devel git -y
reboot

Después del reinicio del host, debemos traernos el repositorio de la aplicación:

git clone https://gitlab.com/omnileads/ominicontacto.git

Para luego posicionarse sobre el directorio “deploy/ansible” y allí configurar algunos pocos parámetros del sistema como la contraseña de acceso a la aplicación y otros.

cd ominicontacto/deploy/ansible

La configuración de dichos parámetros se hace en el archivo allí disponible inventory.

Como se puede apreciar cada parámetro está explicado dentro del archivo en cuestión, sin embargo resaltamos aquí debajo (en negrita) los que deben ser alterados como requisito excluyente para el despliegue de la aplicación bajo este esquema Ansible Self-Hosted.

#############################################################
# If you are installing a prodenv (PE) AIO y bare-metal, change the IP and hostname here #
##########################################################
[prodenv-aio]
#localhost ansible_connection=local ansible_user=root #(this line is for self-hosted installation)
#X.X.X.X ansible_ssh_port=22 ansible_user=root #(this line is for node-host installation)

#############################################################
# Database #
# SET POSTGRESQL PASSWORD #
#############################################################
postgres_database=omnileads
postgres_user=omnileads
#postgres_password=my_very_strong_pass

#############################################################
# Web Admin #
# SET WEB ADMIN PASSWORD #
#############################################################
#admin_pass=my_very_strong_pass
#######################################
# AMI for wombat dialer and OMniLeads #
#######################################
ami_user=omnileadsami
ami_password=5_MeO_DMT

#####################################################
# Wombat dialer credentials and MYSQL root password #
#####################################################
dialer_user=demoadmin
dialer_password=demo

#mysql_root_password=my_very_strong_pass
###########################################################################
# Set the timezone where the nodes are. UNCOMMENT and set this if you are doing a fresh install #
##################################################################################

#TZ=America/Argentina/Cordoba

Sobre todas las líneas indicadas, se debe extirpar el carácter ‘#’ e introducir una contraseña personalizada para los parámetros del tipo password y la zona horaria de su país para el caso del parámetro TZ (Time Zone).

Una vez listo el archivo de inventario, se procede con la ejecución del deploy:

./deploy.sh -i --iface=NIC_NAME

dónde NIC_NAME es el nombre de la interfaz de red de la instancia CentOS que implementa la dirección IP que tomará la Aplicación.

Una vez finalizado el deploy, nos encontramos con una pantalla similar a la siguiente que nos indica que estamos listos para comenzar a configurar el sistema.

Finalmente se procede con el reinicio del host y posterior acceso por web.

Primer acceso al sistema & configuraciones
Para acceder y comenzar la configuración del sistema ingresar vía https a la IP del host.

Utilizando admin como usuario y la contraseña establecida en el archivo inventory (admin_pass).

Ventana de Ingreso

De ahora en más todo apunta a comenzar con algunas configuraciones iniciales para luego generar los Troncales SIP para tomar y enviar llamadas con la red telefónica pública y posteriormente poner en marcha vuestras campañas Inbound / Outbound.

Algunos enlaces de interés:

Sitio Oficial
Documentación del proyecto
Repositorio de software
Curso de certificación
Foro de la comunidad

Comparte este artículo con tus amigos