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 errorWebSocket Events
Bridge Jo Events Sunta Hai (Cloud Se):
| Event | Description |
|---|---|
| router.execute | Router par command chalao |
| router.ping | Router ka ping check karo |
| connectivity.scan | Subscribers connectivity scan |
| subscriber.suspend | User suspend karo |
| subscriber.unsuspend | User unsuspend karo |
| profile.sync | PPPoE profiles sync karo |
Bridge Jo Events Bhejta Hai (Cloud Ko):
| Event | Description |
|---|---|
| bridge.connected | Bridge online ho gaya |
| bridge.heartbeat | Har 30 seconds mein alive signal |
| router.result | Command ka result |
| connectivity.result | Scan 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 backoffSecurity 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