Skip to main content

Flujo de Datos en EagleSync

El flujo de datos en EagleSync representa el camino que sigue la información desde su origen (las PBXs o APIs externas) hasta su procesamiento y almacenamiento final en la base de datos principal del cliente. Este proceso es automático, controlado y respaldado, garantizando confiabilidad y trazabilidad.

1. Inicio del proceso​

Todo comienza con la configuración previa que el usuario realiza a través del aplicativo de escritorio EagleSync. Allí se registran:

  • Clientes asociados
  • Tipo de PBX/Driver utilizado
  • Ruta de acceso a los datos (FTP, IP/Sockets, API)
  • Credenciales necesarias
  • Base de datos destino (SQL Server)
  • Ruta de backup local y parámetros de sincronización

2. Captura de datos (EagleSyncWinService)​

El servicio EagleSyncWinService es el responsable de capturar los registros de llamadas (CDRs) desde las diferentes fuentes, dependiendo del tipo de driver.

Fuentes de entrada:​

  • FTP: Se descargan archivos planos de una carpeta remota.
  • Sockets: Se mantiene una conexión abierta con la PBX que envía los registros en tiempo real.
  • API REST: Se hacen peticiones periódicas a endpoints definidos.

Cada nuevo archivo o bloque de datos recibido es:

  1. Validado en su estructura.
  2. Guardado temporalmente en la carpeta Cdrs/ como respaldo.
  3. Eliminado de su fuente original si corresponde (por ejemplo, en FTP).
  4. Enviado al procesamiento.

3. Procesamiento de CDRs (EagleSyncLib)​

La lógica de negocio implementada en EagleSyncLib procesa cada registro capturado:

  • Parseo y validación de datos (estructura, duplicados, vacíos).
  • Clasificación del tipo de llamada: entrante, saliente, interna, internacional, etc.
  • Asociación del registro con un cliente, extensión y empresa.
  • Aplicación de la política de precios según configuración actual.
  • Generación de logs de eventos o errores.
  • Preparación de los datos para almacenamiento.

4. Almacenamiento​

Una vez procesados, los datos son almacenados en dos niveles:

a) Base de datos local (EagleCloud_Sync.sdf)​

  • Registro de avance de sincronización por fecha y cliente.
  • Configuraciones actuales.
  • Log de sincronizaciones previas.

b) Base de datos remota (SQL Server)​

  • Inserción de registros valorizados.
  • Vinculación con entidades de negocio para reportes posteriores.
  • Estructuras diseñadas para integrarse con el backend y frontend de análisis.

5. Reprocesamiento (EagleProcessWinService)​

En caso de que las configuraciones cambien (por ejemplo, precios), el servicio EagleProcessWinService permite:

  • Reprocesar rangos de fechas específicos.
  • Aplicar nuevas reglas sin duplicar datos.
  • Mantener integridad entre registros antiguos y actuales.

6. Respaldo y seguridad​

Durante todo el flujo, EagleSync implementa políticas de seguridad y respaldo:

  • Copia local de cada archivo plano recibido (/Cdrs)
  • Opciones de backup manual o automático de la configuración
  • Separación entre datos operativos y configuración
  • Eliminación controlada de archivos fuente solo después de confirmarse el guardado
  • Logs detallados por cliente y por día

Diagrama simplificado​

[ PBX / API / FTP ]
↓
[ EagleSyncWinService ]
↓
[ EagleSyncLib ] <--- Configuración desde EagleSync
↓
[ Almacenamiento temporal: /Cdrs/ ]
↓
[ Procesamiento y valorización ]
↓
[ Base de datos SQL Server ]
↓
[ Reprocesamiento opcional (EagleProcessWinService) ]

Este flujo garantiza una operación confiable, auditable y adaptable a distintos entornos de comunicación empresarial.