OmniUDM
OmniUDM is the Unified Data Management (UDM) function of the Omnitouch 5G Core. It is the network's authority for subscriber-related data and identity handling on the service-based interface (SBI). OmniUDM does not hold the subscriber database itself: it fetches raw subscriber data from the Unified Data Repository (UDR, OmniUDR) over nudr-dr and presents it to the rest of the core through the standard Nudm services.
OmniUDM provides three Nudm services:
- Nudm_SDM (Subscriber Data Management) - serves access-and-mobility data (
am-data), session-management data (sm-data), SMF-selection data (smf-select-data), network slice selection data (nssai), and manages subscriber data-change subscriptions. - Nudm_UEAuthentication (
nudm-ueau) - generates 5G-AKA authentication vectors on request from the AUSF, performing SUCI to SUPI de-concealment before any UDR lookup, and records authentication result events. - Nudm_UECM (UE Context Management) - tracks which AMF (3GPP and non-3GPP access) and which SMFs currently serve each subscriber, and notifies a previous serving AMF when a UE moves.
Per-UE runtime state (authentication context, AMF/SMF registrations, SDM subscriptions) is held in an in-memory context store. Authoritative subscriber data and context persistence live in OmniUDR.
Documentation
- Operations - 3GPP role, SBI interfaces and endpoints, and key procedures with sequence diagrams.
- Configuration - full runtime configuration reference, Management/OAM API, and logging.
- Metrics - Prometheus metrics and example PromQL queries.
- Troubleshooting - common failure modes.
Architecture Overview
Features Overview
- Three Nudm services - SDM (v2), UEAU (v1), and UECM (v1), registered with the NRF and discoverable by AMF, SMF, and AUSF.
- SUCI de-concealment - Null scheme, ECIES Profile A (Curve25519), and Profile B (secp256r1), with keys loaded from
hnet_key_dirin PEM, hex, or raw form. - 5G key derivation - re-derives the 5G AUTN (separation bit),
XRES*, andKAUSFfrom HSS-provided material; SQN/resync handled by the HSS behind UDR. - UDR-backed data - all authoritative subscriber and context data is read from / written to OmniUDR via
nudr-dr/v2. - Mobility handling - old-AMF deregistration notification on AMF change; 3GPP and non-3GPP access registrations tracked separately.
- SDM change notifications - asynchronous
ModificationNotificationdelivery to subscribed consumers. - NRF integration - automatic registration and periodic heartbeat.
- Operational management API - an HTTPS management/OAM API exposes NF/NRF/license status, UE context inspection, statistics, cache clear, log-level control, NRF re-registration, forced AMF deregistration, and manual SDM data-change notification triggering.
- Structured JSON logging with per-request session context.
- Prometheus metrics for authentication, registration, SDM queries, NRF status, and the BEAM VM.
Quick Start
OmniUDM is configured from environment variables at boot, under the :omniudm application key. Every value has a built-in default, so the process starts with no environment set; production deployments should set at least the SBI, NRF, UDR, PLMN, and hnet_key_dir values.
config :omniudm,
udr_uri: "http://127.0.0.22:7777",
sbi_scheme: "http",
sbi_addr: "127.0.0.12",
sbi_port: 7777,
nrf_uri: "http://127.0.0.1:7777",
mcc: "999",
mnc: "70",
prometheus_metrics_port: 9568,
heartbeat_interval: 10_000,
hnet_key_dir: "/etc/omniudm/hnet"
The full parameter reference, Management/OAM API, and logging configuration are documented in Configuration.