Artículos sobre VoIP

Call Center Remoto

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.

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

La seguridad en sistemas de información es hoy en día una tarea más que se debe planificar antes de hacer una implementación. En el caso de las implementaciones de voz sobre IP, no hay excepciones, es importante conocer la herramienta y las funcionalidades que permitan hacer una instalación adecuada priorizando la seguridad.

El 4 de diciembre de 2019, presentamos un webinar sobre seguridad, tomando como base una distribución basada en Asterisk.

Durante el webinar, mostramos 4 servicios:

  • Logwatch
  • Kippo SSH
  • GeoIP en iptables.
  • TPOT Honeypot

En este artículo incluiremos un breve manual de cómo configurarlos, y les recomendamos ver la grabación del webinar para hacer una mejor relación con cada uno de ellos.

Logwatch: Logwatch es un servicio de monitorización y detección de intrusiones basado en el análisis de los archivos de registro de eventos (logs) del sistema que suelen estar localizados en /var/log/.

Con una frecuencia determinada (se suele ejecutar cada noche) analiza los logs del sistema y realiza un reporte que es enviado de inmediato al administrador vía correo electrónico.

Para instalarlo en Centos basta con introducir en la consola y como root el siguiente comando:

yum install logwatch

Si además quieren agregar la posibilidad de que monitoree Asterisk, pueden descargar el archivo desde el siguiente enlace → logwatch.tar.gz

Descomprimir el archivo en /usr/share/logwatch y sobreescribir todo lo que se pregunte. Escribir este comando: Ej: si lo descargaron en /home/usuario, ir a ese directorio y escribir lo siguiente: tar -xvzf logwatch.tar.gz -C /usr/share

Para que logwatch funcione, se debe poder enviar mails desde el servidor. Si están utilizando FreePBX, la siguiente es una buena guía → Email Setup en FreePBX

El comando para enviar el correo es el siguiente:

logwatch –detail 5 –output mail –mailto suemail@email.com –format html –range today

El range puede ser today o yesterday.

Si además quieren que lo envíe automáticamente, es necesario crear un cronjob y agregar ese comando.

(Tutorial de cronjob, por si no están familiarizados)

Kippo SSH: Kippo SSH es un honeypot de media interacción que simula un servidor SSH con clave “123456” e interactúa con el atacante, dejando registro de todo lo que haga (claves utilizadas, archivos descargados, comandos introducidos, etc)

Pueden encontrar el tutorial de Kippo + Kippo Graph aquí: Tutorial Kippo.

GeoIP en iptables: GeoIP en iptables sirve para poder dar permiso o prohibir acceso a paises enteros. Ejemplo de uso, si quiero excluir todos los paises excepto Argentina, introduzco:

iptables -I INPUT -m geoip ! –src-cc AR -j REJECT

(Tutorial de instalación aquí)

TPOT Honeypot: Tpot Honeypot es una suite de honeypots listos para ser utilizados.

El siguiente enlace permite descargar una iso de tpot: github.com/dtag-dev-sec/tpotce

En la misma URL hay un tutorial sobre cómo instalarlo y configurarlo.

Asumiendo el inminente camino de la industria hacia la adopción del paradigma planteado por el Cloud computing, pero conscientes al mismo tiempo del actual modelo de aplicaciones monolíticas que se ejecutan sobre servidores On-Premise y su gran cantidad de adeptos, OMniLeads apuesta por ser aplicación capaz de funcionar en ambos mundos.

Leer más

…Antes que nada, no se trata de un software de PBX con todo lo que ello implica, sino que este proyecto está 100% desarrollado desde el paradigma de los Contact Centers…

Hace casi dos años la marca Elastix® fue adquirida por 3CX y una de las consecuencias de esta adquisición fue la culminación del soporte al desarrollo de las versiones 2.5 y anteriores, esto incluyó al módulo de Call Center community de Elastix, el cual fue muy popular en Latinoamérica y que ayudó a posicionar a esa distribución como una de las más usadas en la región. Leer más

Hace algunos años en México en una conversación durante el almuerzo hablábamos de las distancias que había en la ciudad, entonces uno de los comensales dijo, «yo manejo dos horas en la mañana para ir a la oficina y dos horas en la noche para volver a casa». Yo le pregunté cómo se las arreglaba para ver a su familia, él dijo que realmente entre semana no tenía oportunidad de verlos.

Luego durante varios años después de esa ocasión visité Bogotá, Lima, Buenos Aires y cada vez que me tocaba un tráfico enredado me acordaba de la conversación. Lo que no pregunté durante ese almuerzo era si él se sentía contento con su calidad de vida, quizás hubiera conseguido una respuesta diplomática eludiendo la respuesta en si, o a lo mejor me hubiera respondido un «qué te importa», que hubiera sido en realidad una respuesta fantástica. Leer más

En un artículo anterior hablamos sobre el lanzamiento de Sangoma University y hemos recibido algunas consultas sobre cómo ingresar e iniciar el curso disponible. Leer más

Sangoma University es un emprendimiento de Sangoma Technologies para permitir a usuarios, partners y clientes en todo el mundo, el acceso a contenido académico y de entrenamiento tanto en FreePBX como en otras soluciones de comunicaciones desarrolladas por la marca. Leer más

Artículo que se escribió para la conferencia:  Open Source Telephony: Observador o Protagonista.

México 27 de abril de 2017 – Día Neocenter, Hotel Crowne Plaza

En el año 1995, yo vivía en Lima Perú junto a mi padre, que estaba en una misión diplomática, mi madre y mi hermana estaban aún en Ecuador por lo cual intentábamos mantener la comunicación al menos pasando un día.

Las llamadas de larga distancia eran un lujo y en esa época aún no se popularizaban los famosos call backs ni las tarjetas de saldo de telefonía. En Latinoamérica la mayoría de las operadoras pertenecían al estado y solían tener oficinas en cada distrito, así que nosotros preferíamos ir a una de estas oficinas para llamar a casa. El minuto costaba $7 USD, a veces mi madre se iba de largo en el teléfono y fácilmente terminábamos pagando $70 USD, dinero de 1994. Leer más

En la primera parte de este tutorial, creamos un sistema de atención y un IVR que sea el punto de entrada a nuestro sistema telefónico.

¿Qué sucede cuando termina el horario laborable? ¿Qué deben hacer los clientes?

Un gran error en el que incurren muchas empresas, que no tienen personal que labora las 24 horas, es el de no segmentar la atención en su PBX. Si un cliente llama y contesta nuestro IVR regular dándole opciones de contacto y estas no funcionan, porque no hay nadie que conteste, crearemos una sensación de insatisfacción en nuestro cliente y probablemente disminuiremos su confianza. Leer más

Pensando un IVR con los 15 mandamientos del IVR

La tecnología en comunicaciones ha evolucionado significativamente gracias a la voz sobre IP beneficiando el uso del IVR.

Cuando tratamos de explicar a un cliente qué es un IVR, nos remitimos a la etiqueta, quizás equivocada, de operadora o contestadora automática. Este nombre le hace poco favor a la funcionalidad, ya que el IVR no solo cumple la función de dirigir llamadas hacia extensiones, sino que puede extenderse hasta la realización de consultas automáticas, recepción de correos de voz o planificar la atención en horas no laborables. Leer más