Test Block: Difference between revisions

From VoIPmonitor.org
No edit summary
No edit summary
Line 1: Line 1:
<kroki lang="mermaid">
<kroki lang="d2">
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e0f4fc', 'primaryBorderColor': '#00A7E3', 'lineColor': '#475569', 'textColor': '#1e293b' }}}%%
direction: down
flowchart TB
    NET([Network\nSIP / RTP / WebRTC])


     subgraph SENSOR[Sensor]
Network: Network Traffic {
        CAP[Packet Capture]
    style.fill: "#ffffff"
        QA[Quality Analysis]
    style.stroke: "#00719A"
     end
     style.stroke-width: 2
    style.shadow: true
    SIP: SIP Signaling
     RTP: RTP Media
}


     subgraph STORAGE[Storage]
Sensor: Sensor {
         DB[(MySQL/MariaDB\nCDR Data)]
    style.fill: "#ffffff"
         PCAP[(PCAP Files\nRecordings)]
    style.stroke: "#00A7E3"
     end
    style.stroke-width: 2
    style.shadow: true
     Capture: Packet Capture {
         style.fill: "#e0f4fc"
         style.stroke: "#00A7E3"
    }
     Analysis: Quality Analysis {
        style.fill: "#e0f4fc"
        style.stroke: "#00A7E3"
    }
}


     subgraph GUI[Web GUI]
Storage: Storage {
         WEB[Web Interface]
    style.fill: "#ffffff"
         REP[Reports & Playback]
    style.stroke: "#f78d1d"
     end
    style.stroke-width: 2
    style.shadow: true
    MySQL: MySQL/MariaDB\nCDR Data {
        shape: cylinder
        style.fill: "#ffffff"
        style.stroke: "#f78d1d"
     }
    PCAP: PCAP Files\nRecordings {
         shape: cylinder
         style.fill: "#ffffff"
        style.stroke: "#f78d1d"
     }
}


     NET --> SENSOR
GUI: Web GUI {
     SENSOR --> |CDR| DB
     style.fill: "#ffffff"
     SENSOR --> |packets| PCAP
    style.stroke: "#00A7E3"
     GUI --> |query| DB
    style.stroke-width: 2
     GUI --> |playback| PCAP
    style.shadow: true
     Web: Web Interface {
        style.fill: "#e0f4fc"
        style.stroke: "#00A7E3"
     }
     Reports: Reports & Playback {
        style.fill: "#e0f4fc"
        style.stroke: "#00A7E3"
     }
}


    style NET fill:#fff,stroke:#00719A,stroke-width:2px,color:#1e293b,filter:drop-shadow(3px 3px 4px rgba(0,0,0,0.2))
Network -> Sensor: capture
    style SENSOR fill:#fff,stroke:#00A7E3,stroke-width:2px,color:#1e293b,filter:drop-shadow(3px 3px 4px rgba(0,0,0,0.2))
Sensor -> Storage.MySQL: CDR
    style STORAGE fill:#fff,stroke:#f78d1d,stroke-width:2px,color:#1e293b,filter:drop-shadow(3px 3px 4px rgba(0,0,0,0.2))
Sensor -> Storage.PCAP: packets
    style GUI fill:#fff,stroke:#00A7E3,stroke-width:2px,color:#1e293b,filter:drop-shadow(3px 3px 4px rgba(0,0,0,0.2))
GUI -> Storage.MySQL: query
    style DB fill:#fff,stroke:#f78d1d,color:#1e293b
GUI -> Storage.PCAP: playback
    style PCAP fill:#fff,stroke:#f78d1d,color:#1e293b
    style CAP fill:#e0f4fc,stroke:#00A7E3,color:#1e293b
    style QA fill:#e0f4fc,stroke:#00A7E3,color:#1e293b
    style WEB fill:#e0f4fc,stroke:#00A7E3,color:#1e293b
    style REP fill:#e0f4fc,stroke:#00A7E3,color:#1e293b
</kroki>
</kroki>

Revision as of 19:44, 11 December 2025