Skip to main content

OmniNEF Configuration Reference

Overview | Operations Guide | Metrics and Monitoring | Troubleshooting

All configuration lives under the :omninef application key. Compile-time defaults are in config/config.exs (mirrored by OmniNef.Config); production deployments override a subset via environment variables in config/runtime.exs.

Table of Contents​

SBI Listener​

KeyTypeDefaultDescription
sbi_schemestring"http"Scheme advertised in the NRF profile. The listener itself serves plain HTTP.
sbi_addrstring"127.0.0.30"SBI bind/advertise address.
sbi_portinteger7777SBI listen port (northbound API + status).

NRF and PLMN​

KeyTypeDefaultDescription
nrf_uristring"http://127.0.0.10:7777"Base URI of the NRF for registration and discovery.
mccstring"999"Served PLMN MCC. Used in the registration profile and the derived NEF FQDN.
mncstring"70"Served PLMN MNC.
heartbeat_intervalinteger (ms)10_000NRF heartbeat interval.
nef_fqdnstringderivedThis NEF's FQDN. Defaults to nef.5gc.mnc<mnc>.mcc<mcc>.3gppnetwork.org.

AF Registry​

af_registry is a map keyed by the AF's API key. Each value scopes what the AF may do. It is empty by default: no AF can call the NEF until one is provisioned.

config :omninef,
af_registry: %{
"af-secret-001" => %{
af_id: "af-acme", # identifier echoed into logs
allowed_apis: :all, # or a list of API atoms (see below)
rate_limit_per_sec: 20 # optional; falls back to default_rate_limit_per_sec
}
}

allowed_apis is either :all or a list drawn from:

API atomNorthbound resource
:monitoring_event/3gpp-monitoring-event/...
:parameter_provision/nnef-pp/...
:af_session_with_qos/3gpp-as-session-with-qos/...
:traffic_influence/3gpp-traffic-influence/...

The API key is presented by the AF as Authorization: Bearer <key> or X-Api-Key: <key>.

Throttling​

KeyTypeDefaultDescription
default_rate_limit_per_secinteger10Per-AF request ceiling applied when an AF spec omits rate_limit_per_sec.

Throttling uses a sliding one-second window per AF. An AF at or over its ceiling receives 429.

Environment Variables​

Set in config/runtime.exs for MIX_ENV=prod. Unset variables fall back to the compile-time defaults above.

VariableMaps toDefault
NEF_SBI_SCHEMEsbi_schemehttp
NEF_SBI_ADDRsbi_addr127.0.0.30
NEF_SBI_PORTsbi_port7777
NEF_NRF_URInrf_urihttp://127.0.0.10:7777
NEF_MCCmcc999
NEF_MNCmnc70
NEF_FQDNnef_fqdnderived
NEF_DEFAULT_RATE_LIMIT_PER_SECdefault_rate_limit_per_sec10
NEF_AF_REGISTRYaf_registry (JSON)unset (empty)

NEF_AF_REGISTRY is a JSON object of the same shape as the af_registry map, with allowed_apis as the string "all" or an array of API-name strings:

NEF_AF_REGISTRY='{"af-secret-001":{"af_id":"af-acme","allowed_apis":"all","rate_limit_per_sec":20}}'

Malformed JSON raises at boot so a bad deployment config fails fast rather than silently disabling all AFs.