Web UI Operations Guide
Table of Contents
- Overview
- Accessing the Control Panel
- P-CSCF Management
- I-CSCF Management
- S-CSCF Management
- Diameter Peer Management
- Hash Table Operations
- Logs Viewing
- Monitoring and Metrics
Overview
The OmniCall CSCF Web UI provides a comprehensive control panel for real-time monitoring and management of all CSCF components (P-CSCF, I-CSCF, S-CSCF). The interface is built on Phoenix LiveView and provides:
- Real-time visibility into registrations, active calls, and system state
- Hash table management for performance-critical in-memory data structures
- Diameter peer monitoring and control
- Prometheus metrics for system monitoring
- Live log viewing for troubleshooting
Architecture
The control panel communicates with CSCF backend instances to:
- Query user registrations and location data
- Inspect active dialogs (calls)
- Manage Diameter peers
- View and manipulate hash tables
- Access Initial Filter Criteria (IFC) configuration
Accessing the Control Panel
Default Access
The control panel is accessible via HTTP on the CSCF server:
http://<cscf-server>:4000/
Default Port: 4000 (configurable in ControlPanel.Supervisor)
Configuration
The control panel requires CSCF host configuration in config/config.exs or config/runtime.exs:
config :cscf, :cscf_hosts,
pcscf: [
{host: "10.4.12.165", port: 9060, label: "P-CSCF 1"}
],
icscf: [
{host: "10.4.12.166", port: 9060, label: "I-CSCF 1"}
],
scscf: [
{host: "10.4.12.167", port: 9060, label: "S-CSCF 1"}
]
Navigation
The control panel provides navigation tabs for each CSCF component:
- P-CSCF -
/pcscf- Registration contacts and hash tables - I-CSCF -
/icscf- S-CSCF list, NDS domains, sessions - S-CSCF -
/scscf- Registrations, dialogs, IFC management - Diameter -
/diameter- Diameter peer status and control - Logs -
/logs- Live log viewing
P-CSCF Management
URL: /pcscf
Features
The P-CSCF panel displays registered contacts and hash table information from P-CSCF instances.
Registered Contacts Tab
Displays all current IMS registrations visible to the P-CSCF:
| Column | Description |
|---|---|
| IMSI | Subscriber IMSI or Contact identifier |
| State | Registration state (registered, unregistered) |
| Expires | Time until registration expires |
| Path | SIP Path header for routing |
Operations:
- Click on row to expand and view detailed contact information including:
- Full AoR (Address of Record)
- UE IP address
- Path details
- Statistics (max slots, records)
Hash Tables Tab
Manage P-CSCF hash tables. See Hash Table Operations below.
Real-time Updates
The P-CSCF view automatically refreshes every 5 seconds to show current registration status.
I-CSCF Management
URL: /icscf
Features
The I-CSCF panel provides monitoring of I-CSCF operations including S-CSCF selection and session tracking.
S-CSCF List Tab
Displays all configured S-CSCF servers known to the I-CSCF:
- ID: S-CSCF identifier
- Name: S-CSCF FQDN
- Capabilities: Number of supported capabilities
NDS Domains Tab
Shows trusted NDS (Network Domain Security) domains configured on the I-CSCF.
Sessions Tab
Displays active I-CSCF sessions including:
- Call-ID: SIP Call-ID
- S-CSCF Candidates: List of S-CSCF servers considered for assignment
- S-CSCF name
- Selection score
- Age (time since candidate was added)
Hash Tables Tab
Manage I-CSCF hash tables. See Hash Table Operations below.
S-CSCF Management
URL: /scscf
The S-CSCF panel is the most feature-rich, providing comprehensive registration, dialog, and IFC management.
List Registrations Tab
Browse all active registrations with pagination:
Features:
- Pagination controls: Offset and limit for large registration databases
- Registration details for each IMPU:
- Public user identity (IMPU)
- Registration state
- Slot number
- Contact details with User-Agent and expiry
- Call-ID
Quick Actions for each registration:
- Lookup: View detailed IMPU information
- Dump IFC: View Initial Filter Criteria for the user
- Test IFC: Test IFC matching for simulated calls
- Deregister: Administratively remove registration
User Location Tab
Query and inspect user location data:
- View raw user location status from S-CSCF
- IMPU Lookup form: Query specific public user identity
- Displays complete registration details including contacts, state, and metadata
Dialogs Tab
Manage active call sessions (dialogs):
| Column | Description |
|---|---|
| Dialog ID | h_entry:h_id identifier |
| Call-ID | SIP Call-ID |
| From | Calling party URI |
| To | Called party URI |
| State | Dialog state |
Operations:
- End Dialog: Terminate specific call (sends BYE)
- End All: Terminate all active calls (with confirmation)
IFC Tab
Initial Filter Criteria tools for service triggering management:
Dump IFC
Retrieve and display all IFC rules for a given IMPU:
- Public identity
- Private identity
- Service profile count
- Filter Criteria for each service profile:
- Priority (execution order)
- Default handling (SESSION_CONTINUED vs SESSION_TERMINATED)
- Application Server name
- REGISTER inclusion flags
- Trigger Point details:
- Condition type (DNF or CNF)
- Service Point Triggers (SPTs):
- METHOD, HEADER, SESSION_CASE, REQUEST_URI, etc.
- Negation flags
The IFC display includes:
- Color-coded priority badges
- Expandable trigger point logic explanations
- DNF (Disjunctive Normal Form) = OR of ANDs
- CNF (Conjunctive Normal Form) = AND of ORs
Test IFC
Test which Application Servers would be triggered for a simulated session:
Input:
- URI (subscriber public identity)
- Direction (originating or terminating)
- Method (INVITE, REGISTER, MESSAGE, SUBSCRIBE)
- Request URI (destination)
Output:
- Registration status
- Matching IFC count
- List of triggered Application Servers with IFC index
Hash Tables Tab
Manage S-CSCF hash tables. See Hash Table Operations below.
Diameter Peer Management
URL: /diameter
Features
Monitor and control Diameter peer connections (Cx, Rx, Ro interfaces).
Summary Information
Dashboard displays:
- Realm: Diameter realm
- Identity: Diameter Origin-Host
- Peer Count: Number of configured peers
- Workers: CDP worker count
- Queue Length: Pending transactions
- Connect Timeout: Connection timeout (seconds)
- Transaction Timeout: Transaction timeout (seconds)
- Accept Unknown Peers: Policy flag
Peer List
Table of all Diameter peers:
| Column | Description |
|---|---|
| FQDN | Peer fully-qualified domain name |
| State | Connection state (I_Open, Closed, etc.) |
| Status | Enabled or Disabled |
| Last Used | Time since last transaction |
| Applications | Number of supported Diameter applications |
Operations:
- Enable Peer: Activate disabled peer
- Disable Peer: Deactivate peer (with confirmation)
- Click on row: Expand to view supported applications
Application Mapping
The control panel automatically maps Diameter Application IDs to 3GPP interface names:
- Cx/Dx (16777216:10415) - IMS Subscription/Authorization
- Sh/Dh (16777217:10415) - User Data Access
- Rx (16777236:10415) - IMS Media Plane Control
- Ro (16777238:10415/0) - Online Charging
- Gx (16777224:10415) - Policy Control
- S6a/S6d (16777251:10415) - LTE/EPC MME-HSS
- And many more (see source:
diameter_live.ex)
Real-time Updates
Diameter peer status automatically refreshes every 5 seconds.
Hash Table Operations
Overview
CSCF components use in-memory hash tables for performance-critical data. The control panel provides visibility and management of these tables.
Available Hash Tables
Tables vary by CSCF type. Common examples:
| Hash Table | CSCF | Purpose |
|---|---|---|
imei_msisdn | P-CSCF | Emergency callback mapping |
service_routes | P-CSCF | Cached service routes |
auth | S-CSCF | Authentication vectors |
| Various | All | Component-specific caching |
Hash tables are in-memory data structures used for performance-critical operations.
Viewing Hash Tables
Access: Navigate to any CSCF panel → Hash Tables tab
-
View list of all hash tables with statistics:
- Table name
- Item count
- Size
-
Select table to view entries
-
Sort by name, items, or size
Viewing Hash Table Contents
Click on a table to inspect all entries:
- Key: Hash table key
- Value: Stored value
- Actions: Delete button
Managing Hash Entries
Delete Single Entry
- Select hash table
- Locate the entry
- Click Delete button (trash icon)
- Confirm action
Result: Entry removed from hash table
Flush Entire Table
- Select hash table
- Click Clear Table button
- WARNING: Confirms before clearing ALL entries
- Confirm action
Result: All entries removed from table
Caution: Flushing tables can cause temporary service disruption:
imei_msisdnflush: Emergency callbacks may fail until re-registrationauthflush: In-progress authentication challenges will failservice_routesflush: Next request will route via I-CSCF discovery
Logs Viewing
URL: /logs
Features
View application logs in real-time from the control panel.
Features (implementation in ControlPanel dependency):
- Live log streaming
- Log level filtering
- Search and filtering capabilities
Monitoring and Metrics
Prometheus Integration
OmniCall CSCF exposes Prometheus metrics for monitoring and alerting.
Metrics Endpoint:
http://<host>:9090/metrics
Each CSCF host (P-CSCF, I-CSCF, S-CSCF) exposes metrics on port 9090. Configure Prometheus to scrape all hosts for complete visibility.
For a complete reference of all P-CSCF, I-CSCF, and S-CSCF metrics see the Metrics Reference.
Available Metrics
The following metrics are exposed by the OmniCall CSCF control panel application. For CSCF component metrics (SIP, Diameter, IMS, etc.), see the Metrics Reference.
VM Metrics
vm_memory_total- Total Erlang VM memory (bytes)vm_memory_processes_used- Memory used by processes (bytes)vm_memory_binary- Binary memory (bytes)vm_memory_ets- ETS table memory (bytes)vm_total_run_queue_lengths_total- Total run queue lengthvm_system_counts_process_count- Process countvm_system_counts_atom_count- Atom countvm_system_counts_port_count- Port count
Phoenix HTTP Metrics
phoenix_endpoint_stop_duration- HTTP request duration (milliseconds)phoenix_router_dispatch_stop_duration- Router dispatch duration (milliseconds)
LiveView Metrics
phoenix_live_view_mount_stop_duration- LiveView mount duration (milliseconds)
CSCF Backend Integration Metrics
cscf_backend_request_count- Backend RPC request count- Tags:
host,command,result
- Tags:
cscf_backend_request_duration- Backend RPC duration (milliseconds)- Tags:
host,command
- Tags:
cscf_backend_error_count- Backend RPC error count- Tags:
host,error_type
- Tags:
Grafana Dashboards
Current Status: Metrics are exposed via Prometheus endpoint. Pre-built Grafana dashboards are not currently included but can be created using the available metrics.
Recommended Dashboard Panels:
- Backend RPC latency by command
- Registration count trends
- Dialog count trends
- Backend error rates
- Erlang VM memory usage
- LiveView mount performance
Integration
Configure Prometheus to scrape metrics from all CSCF hosts:
scrape_configs:
- job_name: 'cscf_pcscf'
static_configs:
- targets: ['pcscf1.example.com:9090', 'pcscf2.example.com:9090']
- job_name: 'cscf_icscf'
static_configs:
- targets: ['icscf1.example.com:9090', 'icscf2.example.com:9090']
- job_name: 'cscf_scscf'
static_configs:
- targets: ['scscf1.example.com:9090', 'scscf2.example.com:9090']
Best Practices
Operational Guidelines
Monitoring:
- Monitor Prometheus metrics for system health
- Watch for backend RPC errors
- Track Erlang VM memory growth
Hash Table Management:
- Avoid flushing tables in production unless absolutely necessary
- Monitor table size growth for potential memory issues
- Use selective deletion instead of full table flush
Troubleshooting:
- Use Live Logs for real-time debugging
- Check Diameter peer status before investigating registration failures
- Verify CSCF backend connectivity if control panel shows errors
Performance:
- Control panel auto-refresh is 5 seconds by default
- Large registration lists use pagination to avoid performance issues
- Hash table operations are read-heavy; minimize write operations during peak hours
Related Documentation
- P-CSCF Operations Guide - P-CSCF specific operations
- I-CSCF Operations Guide - I-CSCF specific operations
- S-CSCF Operations Guide - S-CSCF specific operations
- Diameter Operations Guide - Diameter peer management
- CSCF Operations Guide - General CSCF operations and troubleshooting