Saltar al contenido principal

← Resumen

Configuración de OmniAUSF

La configuración se lee desde la clave del entorno de la aplicación :omniausf, poblada desde config/runtime.exs. La mayoría de las claves de tiempo de ejecución están respaldadas por una variable de entorno del sistema operativo leída al inicio, como se muestra a continuación; las dos claves del recolector de contexto se leen directamente del entorno de la aplicación :omniausf y no están respaldadas por variables de entorno.

config :omniausf,
udm_uri: "http://127.0.0.12:7777",
sbi_scheme: "http",
sbi_addr: "127.0.0.19",
sbi_port: 7777,
nrf_uri: "http://127.0.0.1:7777",
mcc: "999",
mnc: "70",
prometheus_metrics_port: 9568,
heartbeat_interval: 10_000

config :logger, :default_formatter,
format: {OmniLogger.JsonFormatter, :format},
metadata: :all

Referencia de Parámetros

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
udm_uricadenaNo"http://127.0.0.12:7777"UDM_URIURI base de respaldo del UDM, utilizado solo cuando el descubrimiento de NRF (Nnrf_NFDiscovery) no devuelve ninguna instancia de UDM o el NRF es inalcanzable. Cuando el descubrimiento tiene éxito, las llamadas de Nudm_UEAuthentication (generate-auth-data, auth-events) se dirigen al UDM descubierto en su lugar
sbi_schemecadenaNo"http"SBI_SCHEMEEsquema URI anunciado para el servidor SBI y utilizado para construir el perfil NRF y los hrefs de _links. El propio oyente SBI se sirve a través de HTTP
sbi_addrcadenaNo"127.0.0.19"SBI_ADDRDirección IP a la que se vincula el servidor HTTP SBI y que se anuncia al NRF
sbi_portenteroNo7777SBI_PORTPuerto TCP en el que escucha el servidor HTTP SBI
nrf_uricadenaNo"http://127.0.0.1:7777"NRF_URIURI base del NRF, utilizado para el registro de NF, latido y descubrimiento de NF pares (UDM) a través de Nnrf_NFDiscovery
mcccadenaNo"999"MCCCódigo de País Móvil del PLMN que sirve. Utilizado en el perfil NRF y para construir el nombre de la red que sirve
mnccadenaNo"70"MNCCódigo de Red Móvil del PLMN que sirve. Los MNC de dos dígitos se rellenan con ceros a tres dígitos en el nombre de la red que sirve
prometheus_metrics_portenteroNo9568PROMETHEUS_PORTPuerto TCP en el que se exponen las métricas de Prometheus (GET /metrics)
heartbeat_intervalentero (ms)No10000HEARTBEAT_INTERVALIntervalo en milisegundos entre las solicitudes de latido del NRF
context_ttl_secondsentero (s)No3600-Edad máxima, en segundos, antes de que un contexto de autenticación de UE inactivo o abandonado sea cosechado. Un contexto que el AMF inicia pero nunca confirma se elimina una vez que supera esta edad. Se establece directamente bajo el entorno de la aplicación :omniausf (no respaldado por variable de entorno)
context_reap_interval_msentero (ms)No60000-Con qué frecuencia, en milisegundos, el recolector de contexto barre los contextos más antiguos que context_ttl_seconds. Se establece directamente bajo el entorno de la aplicación :omniausf (no respaldado por variable de entorno)

Nota sobre el valor predeterminado de nrf_uri: config/runtime.exs establece NRF_URI en http://127.0.0.1:7777. En un despliegue de bucle de retorno estándar, el NRF se alcanza en http://127.0.0.10:7777; establezca NRF_URI explícitamente para que coincida con la dirección de su NRF.

Registro

Los registros se emiten como JSON (OmniLogger.JsonFormatter) con todos los metadatos incluidos. Las líneas de registro en el camino de autenticación llevan contexto de sesión (supi, auth_ctx_id, procedure) para que un único intercambio de autenticación pueda ser rastreado de extremo a extremo por auth_ctx_id o SUPI/SUCI. El nivel de registro se puede cambiar en tiempo de ejecución a través de la API de Gestión (ver más abajo).

API de Gestión (Puerto 8443)

Además del oyente SBI y el puerto de métricas, OmniAUSF expone una API de gestión/OAM HTTPS en el puerto 8443 (TLS, nombre del producto OmniAUSF). Se utiliza para la inspección operativa y el control en tiempo de ejecución, y no forma parte del SBI de 3GPP. Puntos finales clave:

MétodoRutaPropósito
GET/api/status/apiEstado del servicio API
GET/api/status/nrfEstado del registro NRF
GET/api/status/nfResumen de NF (tipo AUSF, servicio nausf-auth, conteo de contexto UE activo)
GET/api/ausf_sessionsListar sesiones de autenticación activas (id de contexto, SUCI/SUPI, nombre de la red que sirve, tipo/resultados de autenticación)
DELETE/api/ausf_sessions/{id}Limpiar una sesión de autenticación específica por id de contexto
POST/api/ausf_sessionsLimpiar todas las sesiones de autenticación activas
GET/api/statisticsContadores de sesiones de autenticación (total / éxito / fallo / pendiente)
GET/api/oam/configVer configuración de tiempo de ejecución efectiva (sbi_addr, sbi_port, nrf_uri, udm_uri, capacidad/prioridad de NF, nivel de registro)
PATCH/api/oam/config/{id}Actualizar configuración de tiempo de ejecución: udm_uri, nrf_uri, nf_capacity, nf_priority, log_level
POST/api/oam/log_levelCambiar el nivel de registro en tiempo de ejecución (emergencydebug)
GET/api/oam/resourcesUso de recursos de la VM BEAM (memoria, conteos de procesos/puertos, versión de OTP/BEAM)
GET/api/oam/diagnosticsDiagnósticos de la VM BEAM (cola de ejecución, I/O, GC, nodos conectados)
POST/api/oam/nrf/reregisterForzar la re-registro con el NRF

Los cambios en tiempo de ejecución realizados a través de PATCH /api/oam/config y POST /api/oam/log_level se aplican solo al nodo en ejecución y no se persisten; vuelven a los valores configurados al reiniciar.

Configuraciones solo OAM

Dos valores se exponen a través de GET/PATCH /api/oam/config pero no son parámetros de inicio en la tabla anterior; viven en el perfil NRF en lugar de la configuración central :omniausf:

CampoTipoSignificado
nf_capacityentero (0-65535)Capacidad relativa anunciada en el perfil NRF del AUSF, utilizada por los consumidores como un peso de balanceo de carga cuando varias instancias de AUSF están registradas. Un PATCH vuelve a anunciar el nuevo valor al NRF
nf_priorityentero (0-65535)Prioridad de selección relativa anunciada en el perfil NRF; se prefiere un número menor. Un PATCH vuelve a anunciar el nuevo valor al NRF

PATCH /api/oam/config valida estos antes de aplicarlos: nf_capacity/nf_priority deben ser enteros (se acepta y analiza una cadena decimal), y log_level debe ser un nivel conocido. Un valor no válido rechaza toda la solicitud con 400 sin aplicar nada.

Inspeccionando sesiones de autenticación

GET /api/ausf_sessions devuelve una entrada por cada contexto de autenticación de UE en memoria, con estos campos:

CampoSignificado
ctx_idEl authCtxId (UUID); páselo a DELETE /api/ausf_sessions/{ctx_id} para limpiar una sesión
suciEl supiOrSuci que el AMF presentó al inicio
supiEl SUPI plano resuelto por el UDM (nulo hasta que llegue la respuesta del vector)
serving_network_nameEl nombre de la SN al que están vinculadas las claves de la sesión
auth_type5G_AKA una vez que se almacena el vector
auth_resultResultado final, o nulo mientras la sesión aún está en vuelo (pendiente)
has_kausfSi se mantiene K_AUSF para esta sesión - indica que se obtuvo el vector y se derivaron las claves. El material de clave en s�� nunca se expone

Debido a que los contextos se eliminan en el momento en que se confirma un asentamiento, las entradas en esta lista son normalmente de corta duración; una sesión que persiste es una que el AMF inició pero nunca confirmó o desregistró.