Skip to main content

Control Panel

This document describes the OmniMSC web-based control panel, a real-time monitoring and management interface built with Phoenix LiveView. The control panel is accessible at http://<host>:4000 and provides live visibility into subscribers, calls, connections, routing, CDRs, and system health.

All pages auto-refresh via WebSocket push. Most pages refresh every 5 seconds; the Active Calls page refreshes every 2 seconds. No manual page reload is required. The auto-refresh toggle on each page allows pausing updates when inspecting a particular record.

For endpoint configuration (bind address, port), see Configuration Reference. For the REST API, see API Reference.


Dashboard

The dashboard is the main landing page, providing an at-a-glance summary of the entire MSC.

Summary Cards

The top row displays six real-time counters:

CardDescription
SubscribersNumber of subscribers currently registered in the VLR
Active CallsNumber of active CC FSM call transactions
Active SMSNumber of in-progress SMS transactions
RAN ConnectionsCount of BSCs and RNCs with ESTABLISHED SCTP associations
STP Link StatusM3UA ASP state toward the STP (ACTIVE, INACTIVE, DOWN)
System UptimeElapsed time since application start

Displays the status of all configured SS7 signalling links, including M3UA ASP state and traffic mode.

Known BSCs Table

Lists each BSC by name, point code, cell count, and SCTP association state.

SIP Peers Table

ColumnDescription
NamePeer logical name
AddressPeer IP address and SIP port
CallsCurrent active call count on this peer
StatusHealth state badge (Up, Down, Unknown)

Media Gateways Table

Lists configured media gateways with name, address, protocol (MGCP or Megaco), and reachability status.

Recent Events Feed

A scrolling feed of the most recent telemetry events, each tagged with an event type badge (CALL, LU, PEER, INFO) and UTC timestamp. Events are pushed in real time as they occur.


Subscribers

The Subscribers page provides a searchable list of all VLR subscriber records. Enter an IMSI or MSISDN (partial match supported) in the search box to filter the list in real time.

Subscriber List Columns

ColumnDescription
IMSIInternational Mobile Subscriber Identity
MSISDNMobile Station ISDN Number
TMSITemporary Mobile Subscriber Identity allocated by the VLR
LACLocation Area Code of the subscriber's current cell
StateVLR registration state
AuthAuthentication status
LULocation Update completion status

Expandable Subscriber Detail

Clicking a subscriber row expands a detailed view organised into the following sections.

Identity

FieldDescription
IMSIInternational Mobile Subscriber Identity
MSISDNMobile Station ISDN Number
TMSITemporary Mobile Subscriber Identity
IMEIInternational Mobile Equipment Identity (if available)
HLR NumberAddress of the subscriber's home HLR

Location and State

FieldDescription
LACLocation Area Code
CICell Identity
Serving BSCName of the BSC currently serving this subscriber
RAN TypeRadio access type (GERAN-A, UTRAN-Iu, or SGs)
Usage CountNumber of active use count tokens held by this subscriber's MSC-A
ExpiresVLR record expiry timestamp
StateCurrent subscriber state in the VLR
RoamingWhether the subscriber is marked as roaming
SGsSGs association state (if registered via MME for CSFB)

Authentication

FieldDescription
AlgorithmAuthentication algorithm in use (COMP128v1, COMP128v3, Milenage)
TuplesNumber of remaining authentication triplets
UMTS QuintupletWhether UMTS authentication quintuplets are available

Service Profile

Displays the circuit-switched services received from the HLR via MAP Insert Subscriber Data, including bearer service and teleservice subscriptions.

Supplementary Services

Lists all provisioned supplementary services with status badges:

ServiceDescription
BAOCBarring of All Outgoing Calls
BOICBarring of Outgoing International Calls
BOIC-exHCBarring of Outgoing International Calls except to Home Country
BAICBarring of All Incoming Calls
BIC-RoamBarring of Incoming Calls when Roaming
CFUCall Forwarding Unconditional
CFBCall Forwarding on Busy
CFNRyCall Forwarding on No Reply
CFNRcCall Forwarding on Not Reachable
CWCall Waiting
HOLDCall Hold
MPTYMulti-Party
CLIPCalling Line Identification Presentation
CLIRCalling Line Identification Restriction

Each service displays an active/inactive status badge and, where applicable, the forwarded-to number and condition parameters.

MSC-A Connection

Displays the current MSC-A FSM state for any active connection associated with this subscriber, including the state name, active use count tokens, and elapsed time in state.


Connections

The Connections page provides visibility into all signalling links, RAN connections, and SIP peers.

FieldDescription
Local IPLocal SCTP bind address
RemoteSTP remote address and port
Association IDSCTP association identifier
StatusM3UA ASP state badge (ACTIVE, INACTIVE, DOWN)

All signalling transport uses SCTP (Stream Control Transmission Protocol) for reliable, multi-homed delivery per RFC 4960.

Known BSCs

ColumnDescription
Point CodeBSC SS7 point code
Global TitleBSC global title address (if configured)
Last ResetTimestamp of the most recent BSSMAP RESET exchange with this BSC

SIP Peers

ColumnDescription
NamePeer logical name
AddressPeer IP address and SIP port
TransportProtocol in use (UDP, TCP, or TLS)
Active CallsCurrent number of active calls to this peer
CapacityMaximum concurrent channels configured for this peer
Last OPTIONSTimestamp of the most recent successful OPTIONS keepalive response
StatusHealth state badge (Up, Down, Unknown)

Active Calls

The Active Calls page displays a live table of all CC FSM call transactions currently in progress.

Call Table Columns

ColumnDescription
Call RefUnique call reference number
DirectionMO (Mobile Originating) or MT (Mobile Terminating) badge
IMSISubscriber IMSI
CallingCalling party number (A-number)
CalledCalled party number (B-number)
StateCC FSM state with colour-coded badge
DurationElapsed time since call seizure
CodecNegotiated speech codec
BSC/RNCName of the serving BSC or RNC

Expandable Call Detail

Clicking a call row expands a detailed view with two panels.

Call Details

FieldDescription
Call RefUnique call reference
DirectionMO or MT
CC FSM StateCurrent state of the Call Control finite state machine
IMSISubscriber IMSI
MSISDNSubscriber phone number
IMEIMobile equipment identity
Calling PartyA-number as presented on the signalling interface
Called PartyB-number as presented on the signalling interface

Timing and Resources

FieldDescription
DurationElapsed call duration
Seizure TimeUTC timestamp of call setup start
Answer TimeUTC timestamp of call answer (blank if not yet answered)
Basic ServiceBearer service or teleservice associated with the call
Active CC TimerCurrently running CC protocol timer (if any)
BSC/RNCName of the serving BSC or RNC handling the radio side

Routes and Trunks

The Routes and Trunks page provides three tabbed views for managing call routing configuration at runtime.

Route Table Tab

Displays all prefix-based routing rules with search filtering by prefix or destination type.

ColumnDescription
PrefixNumber prefix (empty string indicates the catch-all default route)
Destination TypeBadge indicating route type: EMRG, SIP, SIP+FO, LOCAL, ISUP, TRANSIT, GMSC
DetailsDestination-specific information such as peer name or trunk group
PriorityNumeric priority value (higher values take precedence)
ActionsEdit and Delete buttons for each route

The Add Route button opens a modal form supporting all destination types. Route changes take effect immediately without requiring a restart.

For detailed routing concepts and configuration, see Routing Configuration.

ISUP Trunks Tab

Displays configured ISUP trunk groups with circuit availability and call counts.

SIP Peers Tab

Displays SIP peer status with address, transport, codec support, channel capacity, and active call counts.


SMS

The SMS page lists all active SMS transaction FSMs, showing transaction ID, subscriber IMSI, direction (MO or MT), transaction state, and SMS Centre address. Completed transactions are removed from the list automatically.


CDRs

The CDR Statistics page provides visibility into the Charging Data Record subsystem.

Summary Counters

CounterDescription
Records in FileNumber of CDR records written to the current output file
Pending in BufferNumber of CDR records buffered in memory awaiting the next write cycle
Active Calls TrackedNumber of calls with open (not yet finalised) CDR records

Writer Status

FieldDescription
Current File PathFilesystem path of the active CDR output file
Records WrittenTotal records written to the current file
Buffer PendingRecords queued in the write buffer

Sequence Numbers

Per-record-type sequence counters track the monotonically increasing sequence number for each CDR category:

Record TypeDescription
LU HLRLocation Update toward HLR
LU VLRLocation Update in VLR
MO CallMobile Originating voice call
MT CallMobile Terminating voice call
MO SMSMobile Originating short message
MT SMSMobile Terminating short message
RoamingRoaming event records

Pool

The Pool page is accessible when MSC pool mode is enabled. It displays the status of all MSC pool members, including member name, point code, NRI range, health state (Up, Down, or Draining), and last successful health probe timestamp. A subscriber distribution chart shows the NRI allocation across pool members.

For pool configuration and NRI-based routing, see MSC Pool and NRI.


System

The System page provides detailed information about the BEAM VM, memory allocation, MSC identity, transport links, and supervision tree health.

BEAM VM

FieldDescription
OTP ReleaseErlang/OTP major version
ProcessesCurrent process count and configured limit
PortsOpen port count
AtomsAtom table size
SchedulersNumber of online schedulers
UptimeBEAM VM uptime since boot

Memory

FieldDescription
TotalTotal memory allocated by the BEAM VM
ProcessesMemory consumed by Erlang/Elixir processes
ETSMemory consumed by ETS tables
BinaryMemory consumed by binary reference-counted data
AtomMemory consumed by the atom table
SystemMemory consumed by the runtime system (non-process)

MSC Configuration

Displays the active MSC identity parameters:

FieldDescription
NameMSC logical name
Point CodeLocal SS7 point code
Global TitleMSC global title address
Allowed A5Permitted A5 ciphering algorithms for GERAN

SCTP Transport

FieldDescription
LinkTransport link name
Local IPLocal SCTP bind address
RemoteRemote STP address and port
StatusSCTP association state badge

Supervision Tree Health

Lists all children of the top-level OmniMSC supervisor (the count is computed dynamically), each displayed with:

FieldDescription
PIDErlang process identifier
TypeProcess type (worker or supervisor)
StatusHealth badge (Running, Restarting, or Stopped)

This view is useful for verifying that all subsystems are operational after startup or following a fault recovery event.