Test Block: Difference between revisions

From VoIPmonitor.org
No edit summary
Tag: Manual revert
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Test 1 - Mermaid Block Diagram:
Test 1 - Method 1:


<kroki lang="mermaid">
<kroki lang="plantuml">
block-beta
@startuml
    columns 3
title Remote Probing (Local Processing)


    block:network:1
skinparam backgroundColor white
        NET["Network\nSIP/RTP/WebRTC"]
skinparam defaultFontColor #1e293b
    end
skinparam ArrowColor #475569


     space
skinparam rectangle {
     space
    BackgroundColor #e0f4fc
     BorderColor #00A7E3
     RoundCorner 8
}


     block:sensor:1
skinparam database {
        SENS["Sensor\nPacket Capture"]
     BackgroundColor #fef3e2
    end
    BorderColor #f78d1d
}


     space
skinparam storage {
     space
     BackgroundColor #f1f5f9
     BorderColor #475569
}


     block:storage:2
skinparam cloud {
        DB[("MySQL\nCDR")]
     BackgroundColor #e0f4fc
        PCAP[["PCAP\nRecordings"]]
    BorderColor #00719A
    end
}


    block:gui:1
cloud "PBX/SBC\nTraffic" as NET1
        GUI["Web GUI\nAnalysis"]
rectangle "**Remote Sensor**\nLocal Processing" as SENSOR1
    end
storage "PCAP" as PCAP1


    NET --> SENS
rectangle "**Web GUI**" as GUI
    SENS --> DB
database "**MySQL**" as DB
    SENS --> PCAP
    GUI --> DB
    GUI --> PCAP
</kroki>


Test 2 - Mermaid Flowchart TB:
NET1 -down-> SENSOR1 : capture
SENSOR1 -down-> PCAP1 : packets
SENSOR1 -right-> DB : CDR only
GUI -down-> DB : query


<kroki lang="mermaid">
@enduml
flowchart TB
</kroki>
    subgraph NET[Network]
        SIP[SIP Signaling]
        RTP[RTP Media]
    end


    subgraph SENSOR[Sensor]
Test 2 - Method 2:
        CAP[Packet Capture]
        QA[Quality Analysis]
    end


    subgraph STORAGE[Storage]
<kroki lang="plantuml">
        DB[(MySQL/MariaDB)]
@startuml
        PCAP[(PCAP Files)]
title Software Packet Mirroring (SPOOF Mode)
    end


    subgraph GUI[Web GUI]
skinparam backgroundColor white
        WEB[Web Interface]
skinparam defaultFontColor #1e293b
        REP[Reports]
skinparam ArrowColor #475569
    end


    NET --> SENSOR
skinparam rectangle {
     SENSOR --> |CDR| DB
     BackgroundColor #e0f4fc
     SENSOR --> |packets| PCAP
     BorderColor #00A7E3
     GUI --> |query| DB
     RoundCorner 8
    GUI --> |playback| PCAP
}


    style NET fill:#e0f4fc,stroke:#00A7E3
skinparam database {
     style SENSOR fill:#e0f4fc,stroke:#00A7E3
     BackgroundColor #fef3e2
     style STORAGE fill:#fef3e2,stroke:#f78d1d
     BorderColor #f78d1d
    style GUI fill:#e0f4fc,stroke:#00A7E3
}
</kroki>


Test 3 - BlockDiag:
skinparam storage {
    BackgroundColor #f1f5f9
    BorderColor #475569
}


<kroki lang="blockdiag">
skinparam cloud {
blockdiag {
    BackgroundColor #e0f4fc
     orientation = portrait;
     BorderColor #00719A
}


    Network [label = "Network\nSIP/RTP"];
cloud "PBX/SBC\nTraffic" as NET1
    Sensor [label = "Sensor\nCapture & Analysis"];
rectangle "**Sender Sensor**\nMinimal footprint" as SENDER
    MySQL [label = "MySQL\nCDR Storage"];
    PCAP [label = "PCAP\nRecordings"];
    GUI [label = "Web GUI\nAnalysis"];


    Network -> Sensor -> MySQL;
rectangle "**Receiver Sensor**\nFull processing" as RECEIVER
    Sensor -> PCAP;
rectangle "**Web GUI**" as GUI
    GUI -> MySQL;
database "**MySQL**" as DB
    GUI -> PCAP;
storage "PCAP" as PCAP


    group {
NET1 -down-> SENDER : capture
        color = "#e0f4fc";
SENDER -right-> RECEIVER : compressed\nTCP stream
        Network; Sensor;
RECEIVER -down-> DB : CDR
    }
RECEIVER -down-> PCAP : packets
GUI -down-> DB : query


    group {
@enduml
        color = "#fef3e2";
        MySQL; PCAP;
    }
}
</kroki>
</kroki>


Test 4 - D2:
Test 3 - SPAN:


<kroki lang="d2">
<kroki lang="plantuml">
direction: down
@startuml
title Physical Network Tapping (SPAN)


Network: Network Traffic {
skinparam backgroundColor white
     style.fill: "#e0f4fc"
skinparam defaultFontColor #1e293b
     style.stroke: "#00A7E3"
skinparam ArrowColor #475569
    SIP
 
     RTP
skinparam rectangle {
     BackgroundColor #e0f4fc
     BorderColor #00A7E3
     RoundCorner 8
}
}


Sensor: Sensor {
skinparam database {
     style.fill: "#e0f4fc"
     BackgroundColor #fef3e2
     style.stroke: "#00A7E3"
     BorderColor #f78d1d
    Capture
    Analysis
}
}


Storage: Storage {
skinparam storage {
     style.fill: "#fef3e2"
     BackgroundColor #f1f5f9
     style.stroke: "#f78d1d"
     BorderColor #475569
    MySQL: MySQL/MariaDB
    PCAP: PCAP Files
}
}


GUI: Web GUI {
skinparam cloud {
     style.fill: "#e0f4fc"
     BackgroundColor #e0f4fc
     style.stroke: "#00A7E3"
     BorderColor #00719A
}
}


Network -> Sensor: capture
cloud "VoIP Traffic" as TRAFFIC
Sensor -> Storage.MySQL: CDR
rectangle "**Hardware PBX**" as PBX
Sensor -> Storage.PCAP: packets
rectangle "Network Switch" as SWITCH
GUI -> Storage.MySQL: query
rectangle "**VoIPmonitor Sensor**" as SENSOR
GUI -> Storage.PCAP: playback
database "MySQL" as DB
storage "PCAP" as PCAP
 
TRAFFIC -down-> SWITCH
SWITCH -down-> PBX : normal
SWITCH -right-> SENSOR : SPAN port
SENSOR -down-> DB : CDR
SENSOR -down-> PCAP : packets
 
@enduml
</kroki>
</kroki>

Latest revision as of 19:53, 11 December 2025

Test 1 - Method 1:

Test 2 - Method 2:

Test 3 - SPAN: