Flow Diagram

Bridge Agent ka technical data flow — command se result tak

Complete Data Flow

Ye diagram dikhata hai ke ek command execute hone se lekar result tak ka poora safar:

diagram
DASHBOARD          CLOUD              BRIDGE AGENT      MIKROTIK
─────────          ─────              ────────────      ────────
[1] Dealer clicks
    'Suspend User'
         |
         ▼
[2] HTTP POST
    /api/routers/:id/
    execute-command
         |
                    [3] Receives
                    command, validates
                         |
                    [4] Finds active
                    Bridge for router
                         |
                    [5] WebSocket emit:
                    {action: 'suspend',
                     username: 'ali-isp'}
                         |──────────────►
                                        [6] Bridge receives
                                        command via WS
                                             |
                                        [7] Connect to
                                        MikroTik API
                                        (port 8728)
                                             |──────►
                                                      [8] /ppp/secret/
                                                      disable (ali-isp)
                                             |◄──────
                                        [9] Result back
                         |◄────────────
                    [10] Save result,
                    update DB
         |◄──────────
[11] Show success
     or error

WebSocket Events

Bridge Jo Events Sunta Hai (Cloud Se):

EventDescription
router.executeRouter par command chalao
router.pingRouter ka ping check karo
connectivity.scanSubscribers connectivity scan
subscriber.suspendUser suspend karo
subscriber.unsuspendUser unsuspend karo
profile.syncPPPoE profiles sync karo

Bridge Jo Events Bhejta Hai (Cloud Ko):

EventDescription
bridge.connectedBridge online ho gaya
bridge.heartbeatHar 30 seconds mein alive signal
router.resultCommand ka result
connectivity.resultScan results

Connection Lifecycle

diagram
Bridge Start
    |
    ▼
POST /api/bridges/authenticate
    (email + password + machine_id)
    |
    ▼
JWT token milta hai
    |
    ▼
WebSocket Connect: wss://mikronest.com/socket.io
    Authorization: Bearer <token>
    |
    ▼
socket.emit('bridge.join', {bridgeId, tenantId})
    |
    ▼
Har 30s: socket.emit('bridge.heartbeat')
    |
    ▼
Commands sunna aur execute karna
    |
    ▼ (disconnect)
Automatic reconnection with exponential backoff

Security Model

JWT Authentication

Bridge dealer credentials se JWT token leta hai

TLS Encryption

Sab WebSocket traffic wss:// se encrypt hota hai

Tenant Isolation

Har bridge sirf apne tenant ke routers access kar sakta hai

Machine ID Binding

Bridge specific machine se bind hota hai