Skip to content
Docs / dflux TinyCore
ContactGet started

Subscriber data model

The fields that define a subscriber in dflux TinyCore — credentials, slice and DNN entitlements — plus the seeded lab vectors and the database tables that back them.

A dflux TinyCore subscriber is the data the DPF (UDM + UDR + AUSF) holds for one SIM: who they are, the long-term key that authenticates them, and which slices and data networks they may use. These records correspond to the 3GPP UDR authentication-subscription and subscription-data resources. See Subscribers for the conceptual model.

Identity

FieldDescription
SUPISubscription Permanent Identifier — the primary key for a subscriber. In dflux TinyCore this is an IMSI in the form imsi-<MCC><MNC><MSIN>.
GPSIGeneric Public Subscription Identifier (the external identity, e.g. an MSISDN). Optional.

Authentication credentials

The authentication subscription holds the Milenage inputs. These are stored as the operator-variant OPc (not the bare OP), as is standard for provisioned subscribers.

FieldWidthDescription
K (PermanentKey)16 bytesSubscriber permanent key. Matches the K burned into the SIM.
OPc (OpcKey)16 bytesOperator variant of OP, pre-computed per subscriber.
AMF (AuthManagementField)2 bytesAuthentication Management Field (not the AMF network function).
SQN (SequenceNumber)6 bytesSequence number for replay protection. Advanced atomically on each successful authentication.
AuthMethod5G_AKA or EAP_AKA_PRIME.
AlgorithmIDKey-derivation algorithm — MILENAGE (TUAK is reserved).

Slice & data-network entitlements

FieldDescription
NSSAI / S-NSSAIThe slices the subscriber may use. Each S-NSSAI is an SST (Slice/Service Type, e.g. 1) plus an optional SD (Slice Differentiator). Includes a default set and an allowed set.
DNNThe Data Network Name(s) the subscriber may connect to per slice (e.g. internet), carried in the SMF-selection and session-management data.
Session-AMBRPer-DNN aggregate maximum bit rate, as uplink/downlink strings (e.g. 200 Mbps / 400 Mbps).

Seeded lab vectors

Running any DPF backend with -seed installs five canonical test subscribers. They share the well-known open5gs default key material so off-the-shelf test SIMs and simulators (UERANSIM, etc.) authenticate without extra provisioning.

text

Subscribers 1–4 are provisioned for 5G_AKA; subscriber 5 (imsi-001010000000005) is provisioned for EAP_AKA_PRIME so the non-3GPP / Wi-Fi-calling auth path has a known-good fixture.

Lab credentials only
These vectors are public and identical across every dflux TinyCore install. They are for labs and conformance testing only — never reuse them for anything that matters.

Persistent-store tables

With the SQLite or PostgreSQL backend, the per-resource subscriber data is split across these tables (created by the DPF migrations). Each is keyed by SUPI:

TableHolds
udm_auth_subscriptionsK / OPc / AMF / SQN / auth method (the authentication subscription).
udm_am_dataAccess & Mobility subscription data.
udm_nssaiDefault and allowed NSSAI.
udm_smf_selSMF-selection subscription data (slice → DNN mapping).
udm_sm_dataSession-management data per (slice, DNN), including Session-AMBR.
udm_am_policy_data / udm_sm_policy_dataPCF access-mobility and session-management policy data.

Registration state (udm_amf_registrations, udm_smf_registrations), auth events, AUSF context, and shared data live in further udm_*, ausf_*, and pcf_* tables. The in-memory backend keeps the same shape without a database.

Provisioning is by seed or direct DB today
There is no admin REST API for subscribers in dflux TinyCore yet. Provision either with the built-in -seed fixture or by writing rows into the tables above on a persistent backend. See Provisioning subscribers.