Skip to main content

OmniEPDG Control Panel

OmniEPDG includes a web-based control panel for real-time monitoring of sessions, Diameter peers, and system logs. The control panel provides live-updating views without page refreshes.

Table of Contents

Accessing the Control Panel

The control panel is served on the configured HTTP port (default 4000):

http://<host>:4000/dashboard

The control panel provides a sidebar with links to all views:

PathViewDescription
/dashboardDashboardSystem overview and quick links
/sessionsSessionsActive UE session list
/diameterDiameter PeersDiameter peer connection status
/logsLogsReal-time log streaming
/docsDocsIntegrated documentation browser
/resourcesResourcesBEAM VM and application information
/configurationConfigurationSystem configuration viewer

Dashboard

The Dashboard provides a high-level overview of OmniEPDG status with key metrics and quick navigation.

Dashboard

Statistics Cards

The dashboard displays four primary statistics:

StatisticDescription
Active SessionsCurrent number of established UE sessions
Data Received (UL)Total bytes received from UEs (uplink direction)
Data Sent (DL)Total bytes sent to UEs (downlink direction)
Diameter PeersConnected peers / total configured peers

Data values automatically scale to appropriate units (B, KB, MB, GB).

Direct navigation to detailed views:

  • View Sessions - Navigate to the Sessions view for detailed UE information
  • Diameter Peers - Navigate to the Diameter Peers view for connectivity status
  • System Logs - Navigate to the Logs view for real-time log streaming
  • Configuration - Navigate to the Configuration view for system settings

System Information

Displays current operational configuration:

FieldDescription
VPN ModeCurrent mode: GTP or SIMPLE
IKEv2 PortsStandard ports: 500 (IKE), 4500 (NAT-T)
Diameter StatusWhether Diameter signaling is enabled
IP Pool (IPv4)Configured IP pool CIDR (Simple VPN mode only)

Auto-Refresh

The dashboard automatically refreshes every second to display current statistics.

Sessions View

The Sessions view displays all active UE sessions with detailed information for each subscriber.

Sessions Overview

The Sessions view shows active UE connections with real-time traffic statistics and session duration.

Session List

Each session row displays:

ColumnDescription
IMSISubscriber's International Mobile Subscriber Identity
UE IPAssigned IPv4/IPv6 address
SOURCEUE's external IP and port (NAT address)
APNAccess Point Name for the connection
STATUSCurrent session state (Active/Inactive)
DURATIONTime since session establishment
TRAFFICBytes received / sent (UL/DL)

Status Indicators

Sessions display status with color-coded badges:

StatusColorDescription
ActiveGreenSession fully established and operational
ConnectingYellowSession establishment in progress
InactiveRedSession terminated or failed

Session Details

Click any session row to expand detailed information:

Session Details Expanded

Expanded session view showing IMSI, NAI, network configuration, and traffic statistics.

Session Section

FieldDescription
IMSIFull IMSI value
NAINetwork Access Identifier (3GPP format)
UE IPAssigned IPv4/IPv6 address
SourceUE's external IP and port (NAT address)
APNAccess Point Name for the PDN connection
Child SA SPIIPSec Child SA Security Parameter Index

Network & Timing Section

FieldDescription
DNSDNS servers provided to the UE
P-CSCFProxy-CSCF servers for IMS signaling
ConnectedTimestamp when session was established
Last ActivityTimestamp of most recent packet activity
DurationTime since session establishment

Traffic Section

FieldDescription
Bytes In (UL)Total bytes received from UE (uplink)
Bytes Out (DL)Total bytes sent to UE (downlink)
Packets InTotal packets received from UE
Packets OutTotal packets sent to UE

Empty State

When no sessions are active, the view displays:

  • "No active sessions" message
  • Indicates whether UE connections should be attempted

Auto-Refresh

The session list automatically refreshes every second.

Diameter Peers View

The Diameter Peers view displays the status of all configured Diameter peers (HSS for SWx, PGW for S6b).

Peer List

Each peer row displays:

ColumnDescription
PeerDiameter Identity (Origin-Host)
RealmDiameter Realm (Origin-Realm)
IP AddressTransport address in format protocol://ip:port
StatusConnection status

Status Indicators

StatusColorDescription
ConnectedGreenDiameter peer connection established
DisconnectedRedPeer not connected
UnknownGrayStatus cannot be determined

Peer Count Summary

The header displays aggregate counts:

  • X Connected - Number of peers with active connections
  • Y Disconnected - Number of peers without connections

Peer Details

Click any peer row to expand detailed information:

FieldDescription
Connection InitiationWho initiates: local (we connect to peer) or remote (peer connects to us)
TransportProtocol: tcp or sctp
Product NamePeer's advertised product name from CER/CEA
Advertised ApplicationsDiameter Application IDs supported by the peer

Empty State

When no peers are configured, the view displays:

  • "No Diameter Peers configured" if Diameter is enabled
  • "Diameter is disabled" with configuration hint if disabled

Auto-Refresh

The peer list automatically refreshes every second.

Logs View

The Logs view provides real-time streaming of system logs with filtering and search capabilities.

Log Display

Logs appear in a scrolling container with newest entries at the bottom. Each log entry displays:

ElementDescription
TimestampWhen the log entry was generated
LevelSeverity level with color coding
MessageLog message content

Log Levels

Logs are color-coded by severity:

LevelColorDescription
debugGrayDetailed diagnostic information
infoBlueGeneral informational messages
warningYellowWarning conditions
errorRedError conditions

Level Filtering

Filter logs by minimum severity level using the dropdown:

FilterShows
All Levelsdebug, info, warning, error
Info+info, warning, error
Warning+warning, error
Error Onlyerror

The search box filters logs in real-time:

  • Enter any text to filter log messages
  • Matching is case-insensitive
  • Clears when the search box is emptied

Controls

ControlDescription
Pause/ResumeToggle log streaming on/off
ClearRemove all displayed logs
Auto-scrollToggle automatic scrolling to newest entries

Log Buffer

  • Maximum 1000 log entries are retained
  • Oldest entries are removed when the limit is reached
  • Clearing logs removes all entries from the display

Empty State

When no logs match the current filters:

  • "No logs to display" message
  • Verify filter settings if logs are expected

Auto-Refresh

New logs appear automatically as they are generated (when not paused).

Docs View

The Docs view provides an integrated documentation browser, allowing operators to access all OmniEPDG documentation directly from the control panel.

Docs

Document Selection

Select from available documentation files using the button bar:

DocumentDescription
OPERATIONS.mdOperations guide with quick start and procedures
README.mdProject overview and setup instructions
architecture.mdSystem architecture and call flows
configuration.mdComplete configuration reference
control-panel.mdThis control panel guide
metrics.mdPrometheus metrics reference
troubleshooting.mdCommon issues and resolution steps

Markdown Rendering

Documentation is rendered with full Markdown support including:

  • Headers and text formatting
  • Code blocks with syntax highlighting
  • Tables
  • Links (internal and external)
  • Lists and blockquotes

Resources View

The Resources view displays BEAM VM statistics and running OTP applications.

Resources

System Metrics

MetricDescription
Memory UsageTotal memory used by the BEAM VM
BEAM ProcessesNumber of Erlang/Elixir processes running
UptimeTime since the application started

Running Applications

Lists all loaded OTP applications grouped by category:

CategoryDescription
MainThe OmniEPDG application
SystemCore Erlang/OTP and Elixir applications

Click an application to view its details including version, description, and dependencies.

Configuration View

The Configuration view displays runtime configuration and loaded applications.

Configuration

Environment Information

FieldDescription
EnvironmentCurrent Mix environment (Development/Production)
Elixir VersionRunning Elixir version

Application List

Displays all loaded OTP applications with their versions. Select an application to view:

  • Application description
  • Version information
  • Dependencies
  • Configuration parameters

Control Panel Configuration

HTTP Port

Configure the control panel port in config/runtime.exs:

config :omniepdg, OmniEpdg.Web.Endpoint,
http: [port: 4000]
ParameterTypeDefaultDescription
portInteger4000HTTP port for the control panel

Disabling the Control Panel

The control panel can be disabled by not starting the web endpoint in production if not needed. Contact your system integrator for deployment-specific configuration.