Data Flow Diagram & Documentation

This document describes the data flow architecture for CallCenterDashboards.com (CCD), which integrates with a 3CX phone server to provide dashboard analytics and live notifications to end users via web portals. The system enforces a unidirectional flow from the 3CX server to CCD’s data center. All computation (ETL, analytics, KPI calculations, live fan‑out) occurs in the CCD’s data center to avoid any overhead or reverse communication back to the 3CX server.

3CX Replication Diagram

Figure 1. Two secured outbound tunnels from the 3CX server feed CCD’s data center. End‑user portals connect over HTTPS for KPIs and a secure WebSocket/SSE for live notifications.

Architecture Overview

The architecture consists of two primary data flows: (1) Inbound Data Flow from the 3CX phone server to the data center, capturing historical and real-time data; and (2) Outbound Data Flow from the data center to end‑user web browsers, delivering processed data and live updates.

Key Components

3CX Phone Server: On - prem, private, or public cloud. A lightweight CCD service is installed without impacting server operations.

CCD Data Center: Ingest listeners, ETL processor, SQL Servers (Operational/Staging and Analytics/Results), Live Notifications, and the Portal (IIS/Web API).

Web Portals: HTTPS access at https://{tenantDomain}.callcenterdashboards.com with live updates via WebSocket/SSE.

Inbound Data Flow (3CX → Data Center)

  1. Capture on 3CX: The CCD service monitors two data types: (a) database changes for historical metrics (Paid: ~5 min; Evaluation: ~60 min), and (b) filtered live events for real-time status and notifications.
  2. Two Secured Tunnels:
  • Tunnel Database Changes: Sent to the DB Ingest Listener → ETL → SQL (Operational/Staging) → Stored Procedures & Jobs → SQL (Analytics/Results).
  • Tunnel Live Events: Sent to the Live Events Listener → In-Memory Aggregator/Stream Bus for dedupe, rate-limit, and fan-out.

All tunnels are outbound TLS from the client site. There are no inbound connections to the 3CX server and no callbacks.

Outbound Data Flow (Data Center → Browsers)

  1. Portal & KPIs: Users open https://{tenantDomain}.callcenterdashboards.com over HTTPS. The portal (IIS/Web API) authenticates and queries SQL (Analytics/Results) for pre-computed KPIs and reports.
  2. Live Notifications: Browsers establish a secure WebSocket/SSE to the Live Notifications Service. The stream bus fans out identical live values to all connected browsers/wallboards (×N), keeping dashboards synchronized.

Design Principles

Performance Isolation: 3CX is never queried by CCD or end users. All compute is offloaded to the data center.
Security in Transit: TLS for tunnels and HTTPS/WebSocket/SSE for browser connections.
Scalability: One live stream, many consumers—fan‑out in the data center; ETL pre‑computes KPIs for fast reads.
Efficiency: Minimal footprint on the 3CX host; no extra CPU/RAM/disk planning needed for analytics.

Operational Notes

Resilience: If a live tunnel drops, historical stats remain; live tiles resync on reconnect. If DB tunnel delays occur, ETL replays the next delta.
Multi‑Tenant Isolation: Each customer has a dedicated portal subdomain and isolated data paths.
Wallboards & Rotators: The same live fan‑out powers wallboards and rotators ensuring synchronized, consistent figures.