Ctrl K
ring2all.com

Dashboard Module Documentation

Table of Contents

  1. Module Overview (Technical)
  2. Module Overview (Commercial/Business)
  3. Module Overview (End User/Administrator)
  4. Widget Types
  5. Layout Management
  6. Common Scenarios & Examples
  7. Limitations & Important Notes
  8. Troubleshooting Tips
  9. Glossary

---

1. Module Overview (Technical)

What Is the Dashboard?

The Dashboard is a customizable widget-based interface that provides real-time monitoring and quick access to system information. Administrators can arrange widgets in a grid layout to create personalized views.

Architecture

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│                    Dashboard System                             │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                  DashboardPage.tsx                       │   │
│  │                                                          │   │
│  │  ┌─────────────────┐  ┌─────────────────┐               │   │
│  │  │ Services Status │  │  System Stats   │               │   │
│  │  │   Widget        │  │    Widget       │               │   │
│  │  └─────────────────┘  └─────────────────┘               │   │
│  │                                                          │   │
│  │  ┌─────────────────┐  ┌─────────────────┐               │   │
│  │  │ Telephony Stats │  │  Quick Actions  │               │   │
│  │  │   Widget        │  │    Widget       │               │   │
│  │  └─────────────────┘  └─────────────────┘               │   │
│  │                                                          │   │
│  │  ┌──────────────────────────────────────┐               │   │
│  │  │         Audit Log Widget             │               │   │
│  │  └──────────────────────────────────────┘               │   │
│  │                                                          │   │
│  └──────────────────────────────────────────────────────────┘   │
│                                                                 │
│  React-Grid-Layout (Responsive, Draggable, Resizable)          │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Key Features

FeatureDescription
Grid LayoutDrag-and-drop widget positioning
ResponsiveAdapts to screen sizes
Real-time DataLive updates via WebSocket/polling
Multiple LayoutsSave different configurations
Widget ConfigurationPer-widget settings

Key Files

FileDescription
pages/dashboards/DashboardPage.tsxMain dashboard page
pages/dashboards/hooks/useDashboardLayouts.tsLayout management hook
pages/dashboards/widgets/Widget components
i18n/en/dashboard.jsonTranslations
---

2. Module Overview (Commercial/Business)

Business Value

The Dashboard provides at-a-glance system monitoring:

Without DashboardWith Dashboard
Navigate to each moduleSingle overview
No real-time viewLive status updates
Fixed interfaceCustomizable layout
Manual checkingAutomatic alerts

Use Cases

  1. System Monitoring
- Service status (FreeSWITCH, PostgreSQL, etc.)

- CPU/memory/disk usage

  1. Call Center Overview
- Active calls count

- Queue statistics

  1. Quick Administration
- One-click actions

- Reload configurations

  1. Audit Trail
- Recent system events

- User activities

Feature Highlights

FeatureBenefit
WidgetsModular information display
LayoutsMultiple saved configurations
Drag & DropEasy customization
Real-timeLive data updates
ConfigurablePer-widget settings
---

3. Module Overview (End User/Administrator)

What Can You Do?

  • View system status at a glance
  • Add/remove widgets
  • Drag and resize widgets
  • Create multiple layouts
  • Configure widget settings
  • Perform quick actions

Dashboard Interface

Plaintext
┌─────────────────────────────────────────────────────────────────┐
│  Dashboard                    [Edit Dashboard] [Switch Layout]  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌─────────────────────────┐  ┌─────────────────────────┐      │
│  │ 🟢 Services Status      │  │ 📊 System Stats         │      │
│  │                         │  │                         │      │
│  │ FreeSWITCH    ✅ Online │  │ CPU: ████████░░ 78%     │      │
│  │ PostgreSQL    ✅ Online │  │ RAM: ███████░░░ 65%     │      │
│  │ Redis         ✅ Online │  │ Disk: ██████░░░░ 55%    │      │
│  │ Nginx         ✅ Online │  │ Uptime: 45d 12h         │      │
│  │                         │  │                         │      │
│  └─────────────────────────┘  └─────────────────────────┘      │
│                                                                 │
│  ┌─────────────────────────┐  ┌─────────────────────────┐      │
│  │ 📞 Telephony Stats      │  │ ⚡ Quick Actions        │      │
│  │                         │  │                         │      │
│  │ Active Calls: 12        │  │ [Reload XML]            │      │
│  │ Extensions: 150/200     │  │ [Restart FreeSWITCH]    │      │
│  │ Gateways: 3 Online      │  │ [Clear Cache]           │      │
│  │ Today's Calls: 847      │  │ [View Logs]             │      │
│  │                         │  │                         │      │
│  └─────────────────────────┘  └─────────────────────────┘      │
│                                                                 │
│  ┌──────────────────────────────────────────────────────────┐  │
│  │ 📋 Audit Log                                             │  │
│  │                                                          │  │
│  │ 10:30:45  admin   Updated extension 1001               │  │
│  │ 10:28:12  admin   Created IVR "Main Menu"              │  │
│  │ 10:15:00  system  Gateway registration successful      │  │
│  │                                                          │  │
│  └──────────────────────────────────────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Quick Tips

TIP
Drag to Reorder: Click and drag widget headers to reposition.
TIP
Resize: Drag widget corners to resize.
TIP
Multiple Layouts: Create different layouts for different monitoring needs.

---

4. Widget Types

Services Status Widget

FeatureDescription
PurposeShow service health status
DataFreeSWITCH, PostgreSQL, Redis, Nginx, etc.
UpdatesReal-time via WebSocket
ConfigSelect which services to monitor

System Stats Widget

FeatureDescription
PurposeServer resource usage
DataCPU, RAM, Disk, Uptime
UpdatesPolling interval
ConfigNone

Telephony Stats Widget

FeatureDescription
PurposeCall system overview
DataActive calls, extensions, gateways
UpdatesReal-time
ConfigNone

Quick Actions Widget

FeatureDescription
PurposeOne-click admin actions
ActionsReload XML, Restart services, Clear cache
ConfigSelect which actions to show

Audit Log Widget

FeatureDescription
PurposeRecent system events
DataUser actions, system events
UpdatesPolling
ConfigFilter by event type

Hardware Info Widget

FeatureDescription
PurposeServer hardware details
DataCPU model, cores, memory, storage
UpdatesOn load
ConfigNone

Network Info Widget

FeatureDescription
PurposeNetwork configuration
DataIP addresses, interfaces, bandwidth
UpdatesPolling
ConfigNone

Server Info Widget

FeatureDescription
PurposeServer identification
DataHostname, OS, version, timezone
UpdatesOn load
ConfigNone

Sofia Status Widget

FeatureDescription
PurposeShow FreeSWITCH Sofia module health and active profiles
DataSofia connection status, active profiles (internal, external, etc.), states, and local SIP bind URLs
UpdatesPolling every 10 seconds
InteractiveClicking on any active profile opens a terminal-style modal showing its live configuration details (sofia status profile )
ConfigNone
---

5. Layout Management

Creating a Layout

  1. Click Edit Dashboard
  2. Add widgets using Add Widget button
  3. Drag widgets to desired positions
  4. Resize as needed
  5. Click Save

Switching Layouts

  1. Click Switch Layout
  2. Select from saved layouts
  3. Dashboard updates immediately

Layout Storage

TablePurpose
public.dashboard_layoutsSaved layout configurations
public.dashboard_widgetsWidget configurations
---

6. Common Scenarios & Examples

Scenario 1: Call Center Monitoring

Widgets:
  • Telephony Stats (large)
  • Queue Stats (if available)
  • Services Status (small)

Scenario 2: System Admin View

Widgets:
  • System Stats
  • Hardware Info
  • Network Info
  • Services Status
  • Audit Log

Scenario 3: Quick Action Focus

Widgets:
  • Quick Actions (prominent)
  • Services Status
  • Telephony Stats

---

7. Limitations & Important Notes

Technical Notes

NOTE
Browser-Based: Dashboard runs entirely in the browser.
NOTE
Real-time: Some widgets use WebSocket for live updates.
WARNING
Resource Usage: Many widgets may impact browser performance.

Best Practices

  1. Start Simple: Add widgets gradually
  2. Group Related: Keep related info together
  3. Size Appropriately: Important widgets larger
  4. Save Often: Save layouts after changes
  5. Create Multiple: Different layouts for different tasks

---

8. Troubleshooting Tips

Common Issues

SymptomPossible CauseSolution
Widget not loadingAPI errorCheck network/console
Data not updatingWebSocket disconnectedRefresh page
Layout not savingPermission issueCheck user permissions
Slow performanceToo many widgetsRemove unused widgets
Widget blankBackend service downCheck service status

Browser Console

Javascript
// Check for errors
console.log(errors)

// Check WebSocket status
// Look for WS connection messages

---

9. Glossary

TermDefinition
WidgetSelf-contained data display component
LayoutSaved widget arrangement
GridUnderlying positioning system
Real-timeLive data updates
PollingPeriodic data refresh
---

Lua Script Status ℹ️

No Lua Handler Required

ComponentStatus
Dashboardℹ️ Frontend-only module - widgets fetch data from backend APIs
Dashboard is a React-based frontend module. Widgets fetch data from backend REST APIs and WebSocket connections. No Lua handlers are used.

---

Documentation last updated: January 2026
AI Assistant

👋 Hello! I'm your Ring2All documentation assistant. I can help you find information about configuring and using the Ring2All PBX platform.

How can I help you today?