Provision subscribers
Get subscribers into the DPF — using the built-in test vectors, or a persistent SQLite/Postgres store.
Where subscribers live
The DPF (AUSF + UDM + UDR + PCF) holds subscriber identity, authentication keys, and per-subscriber slice/DNN data. It backs that store with one of three backends, chosen by -store: memory (default), sqlite, or postgres. How you provision depends on which you pick.
Option 1 — Seed the test vectors
The fastest path. -seed installs the canonical lab fixture on startup, into whichever backend is active. With the default in-memory store this is a one-flag core:
The seeder is idempotent, so restarting with -seed is safe. This is what the Docker lab and the native run use.
The seeded vectors
The fixture installs five subscribers using the well-known open5gs test key and OPc. Every subscriber shares the same K and OPc; only the SUPI differs:
The DPF seeds the SUPIs in the compact imsi-00101… form shown above (no separators after the MCC/MNC). Some lab tooling and the bundled lab-subscribers.yaml display the same identities in the dashed form imsi-001-01-0000000001. They refer to the same subscribers — the IMSI digits are identical — but if you query the DPF directly, use the compact string.
Subscribers 1–4 authenticate with 5G-AKA; subscriber 5 is provisioned for EAP-AKA′ so the non-3GPP auth path has a fixture. Use one of the first four for a standard registration.
Option 2 — A persistent store
To keep subscribers across restarts, point the DPF at SQLite or Postgres. Pass -db-migrate on first run so the schema is created; without it the DPF probes the schema at startup and aborts with a clear error if migrations have not been run.
You can combine a persistent backend with -seed to pre-load the test vectors into the database on first boot. See Persistent storage for the broader story across NFs.
Provisioning your own subscribers
A subscriber spans several tables — authentication material plus subscription data. The key tables in the DPF schema are:
udm_auth_subscriptions— the authentication record: permanent key (K), OPc, AMF (authentication management field), SQN (sequence number), auth method, and algorithm.udm_am_data/udm_nssai— access-and-mobility data and the allowed S-NSSAIs (slice).udm_smf_sel/udm_sm_data— SMF selection and per-DNN session management data (which DNNs the subscriber may use, and their AMBR).udm_am_policy_data/udm_sm_policy_data— the PCF policy records.
The fields a registerable subscriber needs:
- SUPI — the subscriber identity (
imsi-<mcc><mnc><msin>). - K and OPc — the 128-bit Milenage key material.
- AMF (authentication management field) and SQN (sequence number) — used by the authentication vector generation.
- NSSAI / S-NSSAI — the slice(s) the subscriber is allowed on (the fixture uses SST 1).
- DNN configuration — the data networks the subscriber may reach (the fixture uses
internet).
Where to go next
- Full field-by-field layout: Subscriber schema reference.
- How the subscriber model maps to 5G concepts: Subscribers.
- Use a seeded identity end to end: First registration.