Visión General de la Arquitectura de EagleSync
La arquitectura de EagleSync está diseñada para ser modular, escalable y confiable, con el objetivo de capturar, procesar y valorizar registros de llamadas (CDRs) provenientes de múltiples fuentes de comunicación empresarial. El sistema está enfocado en ambientes on-premise, permitiendo a los distribuidores gestionar múltiples clientes desde una única instalación local.
Objetivo principal
Proveer una solución robusta para:
- Obtener registros de llamadas desde diferentes PBXs o APIs (FTP, Socket, REST).
- Aplicar lógica de negocio personalizada a cada registro.
- Almacenar los datos en una base de datos centralizada.
- Proveer una interfaz de usuario para configuración avanzada por cliente y driver.
- Asegurar respaldo, trazabilidad y automatización de tareas críticas.
Componentes clave
EagleSync está compuesto por cuatro proyectos principales, cada uno con una responsabilidad bien definida:
| Componente | Tipo | Descripción |
|---|---|---|
| EagleSync | Aplicación de escritorio | Interfaz gráfica para configuración de clientes, drivers y parámetros. |
| EagleSyncWinService | Servicio de Windows | Encargado de obtener datos de las PBXs de forma periódica o en tiempo real. |
| EagleProcessWinService | Servicio de Windows | Reprocesa o recalcula llamadas previamente obtenidas, según reglas nuevas. |
| EagleSyncLib | Librería de lógica | Contiene toda la lógica de negocio: lectura, parsing, clasificación y guardado. |
Principios arquitectónicos
- Separación de responsabilidades: Cada módulo tiene un propósito específico, facilitando el mantenimiento.
- Automatización y resiliencia: El sistema funciona sin intervención humana diaria, con backups automáticos.
- Soporte para múltiples tecnologías: Drivers dedicados para distintas PBXs, soportando múltiples protocolos.
- Escalabilidad por cliente: Puede gestionar varios clientes en una sola instancia, con configuraciones aisladas.
- Extensibilidad: Permite incorporar nuevos drivers o protocolos con mínimo impacto en el sistema actual.
Flujo de funcionamiento (resumen)
- Configuración inicial: El cliente (canal de distribución) configura su PBX, credenciales y destino de datos.
- Captura de CDRs: EagleSyncWinService obtiene los datos desde la fuente definida (FTP, Socket, API).
- Procesamiento: EagleSyncLib aplica la lógica de negocio, clasifica, valoriza y genera respaldos.
- Almacenamiento: Los datos se almacenan en una base SQL Server externa definida por el cliente.
- Reprocesamiento: EagleProcessWinService puede reanalizar datos si hay cambios en reglas o tarifas.
- Supervisión y ajustes: Mediante EagleSync, el usuario puede ajustar parámetros y revisar estados.
Drivers soportados actualmente
EagleSync cuenta con soporte para los siguientes tipos de PBX y plataformas:
- ARCPlanos
- AudioCodes
- Avaya Communication Manager
- Avaya IP Office 500
- Avaya S8800
- Cisco Call Manager
- Microsoft Teams
En desarrollo: Cisco Webex, Google Voice, Amazon Connect
Esta visión general permite entender cómo se organiza el sistema a gran escala, preparando el camino para analizar los componentes detalladamente en los siguientes apartados.