OmniAMF
OmniAMF es la Función de Gestión de Acceso y Movilidad (AMF) para el Núcleo 5G de Omnitouch. Termina las interfaces N1 (NAS) y N2 (NGAP) de la red de acceso radio 5G (gNBs) y orquesta el registro de UE, autenticación, movilidad, gestión de conexiones, paginación y relé de señalización de sesión PDU.
Participa en la Arquitectura Basada en Servicios 5G (SBA) a través del SBI, produciendo y consumiendo servicios Namf y otros servicios NF, y proporciona interoperabilidad N26 EPS↔5GS con un MME 4G. OmniAMF es el ancla de movilidad y conexión para cada UE en el Núcleo 5G: acepta asociaciones SCTP/NGAP de gNBs, termina la señalización NAS retransmitida dentro de NGAP, y coordina con NFs pares para autenticar la UE, recuperar datos de suscripción, seleccionar slices y gestionar sesiones PDU.
Documentación
- Guía de Operaciones - Conceptos básicos, referencias 3GPP, interfaces / puntos finales del SBI, y procedimientos clave con sus diagramas de secuencia.
- Referencia de Configuración - Documentación completa de parámetros, los puntos finales de la API de gestión/OAM, y notas de registro.
- API de Gestión - API REST OAM del operador: estado/inventario, configuración en tiempo de ejecución, y acciones de control de UE/gNB/NRF/mantenimiento.
- Métricas y Monitoreo - Métricas de Prometheus y ejemplos de consultas PromQL.
- Resolución de Problemas - Problemas comunes y soluciones.
Visión General de la Arquitectura
Cada UE es manejada por un proceso UeWorker dedicado supervisado bajo un supervisor de UE. Los mensajes NGAP son demultiplexados por identificadores de UE NGAP al trabajador propietario, por lo que las máquinas de estado de UE se ejecutan de forma aislada. Un Almacén de Contexto GUTI respaldado por ETS persiste el contexto de seguridad NAS nativo 5G de cada UE (SUPI, K_AMF, conteos NAS, capacidades de seguridad) indexado por 5G-TMSI, independiente de la duración del trabajador. Esto sobrevive al cambio de trabajadores y permite que una UE que regresa del modo inactivo se reanude sin re-autenticación.
Visión General de Características
- Terminación NGAP / N2 - acepta asociaciones SCTP de gNBs; maneja Configuración NG, Mensaje Inicial de UE, configuración/liberación de contexto de UE, transporte NAS, paginación y preparación de transferencia (TS 38.413).
- Registro de UE y 5G-AKA - orquesta la autenticación con el AUSF y la recuperación de suscripción / registro UECM con el UDM.
- Seguridad NAS: deriva K_AMF y claves NAS, ejecuta Control de Modo de Seguridad, y negocia integridad NAS (NIA) y cifrado (NEA) según las capacidades de la UE, prefiriendo NIA2/NEA2 y retrocediendo a NIA0/NEA0. Establezca
force_null_cipheringpara forzar NEA0 (cifrado nulo) independientemente de las capacidades de la UE. - Asignación de GUTI basada en GUAMI - asigna 5G-GUTIs desde el GUAMI configurado y soporta reanudación de GUTI en modo inactivo a través del almacén de contexto respaldado por ETS.
- Paginación y Solicitud de Servicio - pagina UEs CM-IDLE a través de su lista TAI y reactiva el plano de usuario en la Solicitud de Servicio.
- Relé de sesión PDU (N11) - retransmite NAS 5GSM hacia/desde el SMF y dirige la Configuración/Modificación de Recursos de Sesión PDU N2 hacia el gNB.
- Política AM de PCF (N15) - crea y elimina asociaciones de políticas de Acceso y Movilidad durante el registro y la desregistración.
- Descubrimiento NF - resuelve URIs de NF pares a través del descubrimiento NRF con retrocesos estáticos por NF (caché de 60 s).
- Interoperabilidad N26 EPS↔5GS - punto final GTPv2-C opcional para transferencia entre sistemas con un MME 4G, incluyendo descubrimiento S-NAPTR MME.
- Servicios Namf - produce Namf_Communication (transferencia N1N2, transferencia de contexto, asignación de EBI, suscripciones de estado) y Namf_EventExposure.
- Gestión del operador - API REST de gestión y Panel de Control web para inspección de estado y acciones OAM.
Inicio Rápido
OmniAMF lee la configuración del operador desde el entorno de la aplicación Elixir bajo la clave :omniamf, poblada al inicio desde config/runtime.exs. Cada clave de tiempo de ejecución es impulsada por una variable de entorno con un valor predeterminado incorporado, por lo que un despliegue puede ajustarse completamente a través de variables de entorno.
config :omniamf,
# Servidor HTTP SBI (servicios Namf producidos)
sbi_scheme: "http",
sbi_addr: "127.0.0.5",
sbi_port: 7777,
# NRF (registro, latido, descubrimiento)
nrf_uri: "http://127.0.0.1:7777",
# URIs base de NF pares consumidos (retrocesos estáticos; descubrimiento NRF preferido)
ausf_uri: "http://127.0.0.12:7777",
udm_uri: "http://127.0.0.12:7777",
smf_uri: "http://127.0.0.4:7777",
nssf_uri: "http://127.0.0.14:7777",
# PLMN de servicio
mcc: "999",
mnc: "70",
# Identidad AMF (GUAMI)
amf_name: "OmniAMF",
amf_id: %{region_id: 2, set_id: 1, pointer: 0},
# Observabilidad
prometheus_metrics_port: 9569,
# N2 / NGAP (escuchador SCTP para gNBs)
ngap_addr: "0.0.0.0",
ngap_port: 38412,
# Cadencia de latido NRF
heartbeat_interval: 10_000,
# Interoperabilidad N26 EPS↔5GS con un MME 4G
n26_enabled: true,
n26_addr: "0.0.0.0",
n26_mme_peer: %{ip: "127.0.0.11", port: 2123}
La documentación completa de cada parámetro, incluyendo claves de configuración de aplicación avanzadas y la API de gestión/OAM, se encuentra en la Referencia de Configuración.