EagleSyncWinService
EagleSyncWinService es el servicio de Windows responsable de ejecutar en segundo plano la sincronización de datos entre las PBX o APIs configuradas y la base de datos de destino. Este servicio se encarga de obtener los CDRs (Call Detail Records) desde las distintas fuentes configuradas por cada cliente, utilizando los drivers correspondientes.
🎯 Función principal
La principal función del servicio es:
- Conectarse a cada PBX/API configurada por cliente.
- Obtener los registros de llamadas (CDRs).
- Guardar los registros brutos y procesados en la base de datos destino (normalmente SQL Server).
- Hacer una copia de seguridad local de los CDRs obtenidos, si aplica.
🧩 Integración con Drivers
Este servicio invoca los drivers disponibles según la configuración de cada cliente. Actualmente, los drivers disponibles incluyen:
- Archivos planos (ej. ARCPlanos, Audiocodes)
- Sockets (ej. Cisco Call Manager)
- APIs (ej. Microsoft Teams, Avaya Aura, etc.)
Cada cliente puede tener configurado un driver distinto, y EagleSyncWinService gestiona todos ellos en ciclos de sincronización independientes.
🔄 Proceso general
- Lee la configuración local del cliente desde
EagleCloud_Sync.sdf. - Determina el tipo de driver y método de conexión.
- Se conecta a la PBX/API correspondiente.
- Obtiene los datos nuevos (incrementales o desde la última fecha sincronizada).
- Guarda temporalmente los datos localmente (si aplica).
- Envía los datos a la base de datos principal (SQL Server).
- Registra el estado y fecha de sincronización.
⚙️ Configuración
Los parámetros clave de configuración incluyen:
- Intervalo de sincronización: por ejemplo, cada 10 minutos, cada hora, etc.
- Ruta local de archivos o IP/API a conectar.
- Fecha de última sincronización.
- Cliente activo/inactivo.
- Carpeta de backup de CDRs.
Toda la configuración es administrada desde la interfaz visual de EagleSync.
🧠 Multicliente (Multitenant)
El servicio recorre todos los clientes configurados y ejecuta la sincronización de forma aislada para cada uno, permitiendo:
- Diferentes drivers por cliente.
- Sincronizaciones paralelas o secuenciales.
- Manejo de errores individualizado.
- Trazabilidad detallada por cliente.
🛠️ Detalles técnicos
- Nombre del servicio en Windows:
EagleSyncWinService - Tipo: Servicio de Windows (
Windows Service) - Tecnología: C# - .NET Framework 4.7
- Dependencias:
EagleSyncLib(lógica de conexión y parsing) - Logs: Registra cada ejecución con detalle (cliente, driver, estado).
🧪 Buenas prácticas
- Validar que el servicio se reinicie automáticamente ante fallos.
- Monitorear los logs regularmente para detectar errores de conexión.
- Mantener respaldos de los CDRs descargados.
- Verificar que cada cliente tenga una fecha de sincronización reciente.
Este servicio garantiza que los datos de llamadas sean obtenidos de forma confiable y en tiempo real o diferido, según el tipo de integración configurada.