Skip to main content

OmniUDR

OmniUDR implements the Unified Data Repository (UDR) of the Omnitouch 5G Core. It exposes the Nudr_DataRepository service (TS 29.504): structured subscriber, policy, and context data to the UDM and PCF over the Service Based Interface (SBI).

OmniUDR does not own subscriber data. It is a thin, standards-compliant Nudr_DR facade over the OmniHSS REST provisioning backend: every data-repository read is translated at request time into one or more OmniHSS REST calls, and the HSS response is mapped into the 3GPP Nudr data model before being returned to the consumer. OmniUDR is the sole 5G Core network function that talks to the OmniHSS REST API directly. The UDM (and, through it, the AUSF) reach subscriber data by calling OmniUDR over standard Nudr, not by calling the HSS.

Because the HSS is the system of record, OmniUDR holds almost no persistent state. Its only local state is three small in-memory (ETS) stores: a cache of AMF and SMF registration context (used to decide whether a context write is a create or an update), a data-change subscription store holding the active Nudr_DR subs-to-notify subscriptions, and an application-data store holding the Nudr_DR application-data families (PFDs, traffic influence, BDT). None of these are persisted; all are cleared on restart. The registration-context cache can be flushed through the management API.

Documentation

  • Operations Guide - 3GPP role, data sets served, SBI endpoints, and the key read/update/context/policy procedures with sequence diagrams.
  • Configuration Reference - Full runtime configuration reference, HSS backend settings, management/OAM API, and logging.
  • Metrics - Prometheus metrics for NRF registration, HSS backend health, request counts/latency, and BEAM VM health, with example PromQL.
  • Troubleshooting - Common issues and their resolutions.

Architecture Overview

The AUSF does not appear as a direct consumer: 5G authentication data flows AUSF → UDM → OmniUDR → OmniHSS. OmniUDR maps the 4G-style HSS subscriber record (key material, EPC/APN QoS profiles, PCRF charging rules) into the 5G Nudr structures (authentication subscription, access & mobility data, session management data, SMF selection data, policy data) on the fly.

Features Overview

  • Nudr_DR subscription data: authentication subscription read and SQN update (PATCH), plus access & mobility, session management, and SMF selection provisioned data (GET), mapped live from the HSS subscriber record.
  • Nudr_DR context data: AMF 3GPP-access registration (mirrored to the HSS circuit-session/location and to a local cache) and SMF registration (local ETS cache only), each returning 201/204 for create vs. update.
  • Nudr_DR policy data: AM policy data (coarse subscCats) and SM policy data (smPolicySnssaiData per S-NSSAI/DNN) derived from HSS EPC/PCRF profiles for the PCF.
  • Nudr_DR data-change subscriptions: consumers register a subs-to-notify subscription naming monitored resource URIs and a notification callback URI, held in an in-memory subscription store; OmniUDR emits DataChangeNotify notifications (ADD / REPLACE / REMOVE) to subscribers when the monitored data changes (per TS 29.504 subscriptions-to-notify).
  • Nudr_DR application data: generic CRUD (GET collection / GET / PUT / DELETE) over the application-data families (pfds, influenceData, bdtData) backed by a local in-memory (ETS) store; not HSS-backed and not persisted across a restart.
  • Proprietary auth-vector generation: a non-standard authentication-vectors POST that delegates Milenage vector generation and SQN/resync handling to the HSS, consumed by OmniUDM only.
  • HSS-backed statelessness: no local subscriber store; read availability and latency track the HSS directly, surfaced through a health gauge and per-endpoint request metrics.
  • NRF integration: automatic registration and periodic heartbeat, with an OAM API for live config changes, forced re-registration, and context-cache flushing.

Quick Start

The primary operator setting is the OmniHSS REST backend URL. A minimal deployment binds the SBI listener and points OmniUDR at its NRF and HSS:

config :omniudr,
hss_api_base_url: "https://hss.example.net:8443",
sbi_scheme: "http",
sbi_addr: "127.0.0.22",
sbi_port: 7777,
nrf_uri: "http://127.0.0.1:7777",
mcc: "999",
mnc: "70"

The full parameter set - including PLMN identity, metrics/heartbeat tuning, slice-mapping overrides, and the lab test-subscriber aid - is documented in the Configuration Reference.