Skip to main content

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

  1. Lee la configuración local del cliente desde EagleCloud_Sync.sdf.
  2. Determina el tipo de driver y método de conexión.
  3. Se conecta a la PBX/API correspondiente.
  4. Obtiene los datos nuevos (incrementales o desde la última fecha sincronizada).
  5. Guarda temporalmente los datos localmente (si aplica).
  6. Envía los datos a la base de datos principal (SQL Server).
  7. 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.