Saltar al contenido principal

← Resumen

Referencia de Configuración de OmniAMF

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 está 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.

Tabla de Contenidos


Ejemplo de Configuración

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 par consumidos (fallbacks 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 que sirve
mcc: "999",
mnc: "70",

# Identidad de 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 de 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}

Parámetros del Servidor SBI

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
sbi_schemeStringNo"http"SBI_SCHEMEEsquema URI publicitado para el servidor HTTP SBI.
sbi_addrStringNo"127.0.0.5"SBI_ADDRDirección IP a la que se vincula el servidor HTTP SBI y que se publicita en los encabezados Location y al NRF.
sbi_portIntegerNo7777SBI_PORTPuerto TCP en el que escucha el servidor HTTP SBI.

Parámetros de NRF y NF Par

Las URIs de NF par son fallbacks estáticos. Cuando nrf_uri está configurado, OmniAMF prefiere el descubrimiento de servicios NRF (en caché, TTL de 60 s) y solo recurre a la URI estática cuando el descubrimiento no está disponible. Configurar una URI estática no desactiva el descubrimiento por NF a menos que el propio descubrimiento sea inalcanzable.

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
nrf_uriStringNo"http://127.0.0.1:7777"NRF_URIURI base del NRF para registro de NF, latido y descubrimiento. Cuando se establece, habilita el descubrimiento basado en NRF de NFs par.
ausf_uriStringNo"http://127.0.0.12:7777"AUSF_URIURI base estática del AUSF para autenticación 5G-AKA (Nausf_UEAuthentication, N12).
udm_uriStringNo"http://127.0.0.12:7777"UDM_URIURI base estática del UDM para datos de suscripción (Nudm_SDM) y registro de contexto de UE (Nudm_UECM, N8).
smf_uriStringNo"http://127.0.0.4:7777"SMF_URIURI base estática del SMF para gestión de sesiones PDU (Nsmf_PDUSession, N11).
nssf_uriStringNo"http://127.0.0.14:7777"NSSF_URIURI base estática del NSSF para selección de corte de red (Nnssf_NSSelection, N22).
pcf_uriStringNo"http://127.0.0.7:7777"-URI base estática del PCF para asociación de políticas AM (Npcf_AMPolicyControl, N15). Resuelto a través de descubrimiento/fallback como los otros NFs. Se establece solo en la configuración de la aplicación (sin var de entorno dedicada).
heartbeat_intervalInteger (ms)No10000HEARTBEAT_INTERVALIntervalo entre solicitudes de latido de NRF (PATCH) para mantener vivo el NFProfile.

Parámetros de PLMN e Identidad de AMF

El GUAMI (Identificador de AMF Globalmente Único) se forma a partir del PLMN que sirve (mcc/mnc) más el Identificador de AMF, que a su vez se compone de region_id, set_id y pointer. El GUAMI se publicita en la configuración de NG y se utiliza para asignar el 5G-GUTI a las UEs.

Par��metroTipoRequeridoPredeterminadoVar de EntornoDescripción
mccStringNo"999"MCCCódigo de País Móvil del PLMN que sirve.
mncStringNo"70"MNCCódigo de Red Móvil del PLMN que sirve.
amf_nameStringNo"OmniAMF"AMF_NAMENombre de AMF publicitado en la configuración de NG y registrado en el NFProfile de NRF.
amf_id.region_idInteger (8-bit)No2AMF_REGION_IDComponente de ID de Región de AMF del Identificador de AMF / GUAMI.
amf_id.set_idInteger (10-bit)No1AMF_SET_IDComponente de ID de Conjunto de AMF del Identificador de AMF / GUAMI.
amf_id.pointerInteger (6-bit)No0AMF_POINTERComponente de Puntero de AMF que identifica de manera única este AMF dentro del conjunto.

Parámetros de N2 / NGAP

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
ngap_addrStringNo"0.0.0.0"NGAP_ADDRDirección IP a la que se vincula el escuchador SCTP/NGAP. Utilice una dirección de interfaz específica para restringir qué gNBs pueden conectarse.
ngap_portIntegerNo38412NGAP_PORTPuerto SCTP para NGAP. El puerto bien conocido es 38412 según TS 38.412.

Parámetros de Interoperabilidad N26

La interfaz N26 permite la movilidad entre sistemas entre 5GS y EPS al hablar GTPv2-C a un MME 4G (reutiliza el conjunto de mensajes de Relocación Adelantada estilo S10). Se inicia como un punto final GTPv2-C separado solo cuando n26_enabled es verdadero.

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
n26_enabledBooleanNotrue (runtime.exs)N26_ENABLEDHabilita el punto final GTPv2-C N26 y la interoperabilidad. Establezca la var de entorno a cualquier valor diferente de "true" para deshabilitar.
n26_addrStringNovalor de ngap_addrN26_ADDRLa IP N26 publicitada del AMF colocada en F-TEIDs de GTPv2-C. Debe ser una dirección enrutada accesible por el MME; no deje como 0.0.0.0 en producción.
n26_mme_peer.ipStringNo"127.0.0.11"N26_MME_IPIP del MME par estático objetivo utilizado para la transferencia de 5G→4G (fallback cuando el descubrimiento DNS no produce resultados).
n26_mme_peer.portIntegerNo2123N26_MME_PORTPuerto GTPv2-C del MME par estático objetivo.

El escuchador GTPv2-C vinculado por la biblioteca compartida gtpc utiliza lo siguiente, también impulsado por el entorno:

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
listen IPStringNovalor de n26_addr (luego ngap_addr)N26_ADDR / NGAP_ADDRDirección local de enlace para el socket GTPv2-C N26.
listen portIntegerNo2123N26_PORTPuerto UDP local para el socket GTPv2-C N26 (puerto estándar GTP-C).

Parámetros de Observabilidad

ParámetroTipoRequeridoPredeterminadoVar de EntornoDescripción
prometheus_metrics_portIntegerNo9569PROMETHEUS_PORTPuerto TCP que expone el punto de recolección /metrics de Prometheus.

Consulte la guía de Métricas y Monitoreo para las métricas expuestas en este punto.


Parámetros Avanzados (configuración de la aplicación)

Estas claves tienen valores predeterminados sensatos y no están conectadas a variables de entorno en runtime.exs. Establezca en la configuración de la aplicación solo cuando se requiera anular el comportamiento.

ParámetroTipoPredeterminadoDescripción
relative_amf_capacityInteger (0–255)255Capacidad relativa de AMF publicitada en la Respuesta de Configuración de NG; también mutable en tiempo de ejecución a través de la API de gestión. Influye en el balanceo de carga de gNB entre AMFs.
served_guami_listLista de mapas[{plmn_id, amf_id}] derivada de mcc/mnc/amf_idLista de GUAMIs que este AMF sirve; visible y configurable a través de la API de gestión. La Respuesta de Configuración de NG publicita cada GUAMI en esta lista (mapeado desde el plmn_id/amf_id de cada entrada), por lo que se respeta una configuración de múltiples GUAMIs hacia el gNB.
served_nssaiLista de mapas[{sst:1}, {sst:1,sd:000001}, {sst:2,sd:000002}, {sst:3,sd:000003}]S-NSSAIs que este AMF soporta. Estos también impulsan la SliceSupportList publicitada en el ítem de soporte PLMN de la Respuesta de Configuración de NG (TS 38.413 §8.7.1).
supported_ta_listLista de mapas[{tac:1, plmn_list:[{mcc,mnc}]}]Áreas de seguimiento que este AMF sirve. La SupportedTAList/PLMN de un gNB se valida contra esta lista; un gNB que no sirva TAC/PLMN coincidentes es rechazado con un Fallo de Configuración de NG (causa unknown-PLMN-or-SNPN).
force_null_cipheringBooleanfalsePredeterminado (false) selecciona el algoritmo de cifrado NAS preferido del AMF que la UE también soporta, prefiriendo NEA2 y retrocediendo a NEA0 (nulo) cuando la UE no ofrece NEA2. La integridad se negocia de la misma manera, prefiriendo NIA2 (retrocediendo a NIA0). Establezca true para forzar NEA0 independientemente de las capacidades de la UE, para depuración/interoperabilidad.
dns_portInteger53Puerto UDP/TCP utilizado para las consultas DNS S-NAPTR N26 descritas bajo n26_dns_servers. Rara vez cambiado; principalmente una anulación de prueba/interoperabilidad.
maintenance_modeBooleanfalseBandera de modo de mantenimiento persistente. Cuando true, el AMF se desregistra del NRF y rechaza nuevos registros de UE (drenaje para reinicio). Normalmente se alterna en tiempo de ejecución a través de la API de gestión en lugar de establecerse aquí.
n26_selection_methodAtom:dns_lookupDescubrimiento de MME objetivo para la transferencia 5G→4G. :dns_lookup realiza una consulta S-NAPTR (servicio x-3gpp-mme:x-s10) en el FQDN TAI EPS objetivo según TS 29.303 §5.4, retrocediendo a n26_mme_peer si DNS no produce resultados. :static (cualquier valor diferente de :dns_lookup) omite DNS y utiliza n26_mme_peer directamente. Consulte Descubrimiento de MME objetivo.
n26_dns_serversLista de mapas[%{server: "127.0.0.53", domain: "3gppnetwork.org"}]Resolutores DNS consultados (en orden) para el descubrimiento de MME S-NAPTR N26 cuando n26_selection_method es :dns_lookup. Cada entrada tiene server (IP del resolutor, consultado a través de TCP) y domain (el dominio base de la red doméstica agregado al FQDN TAI EPS, por ejemplo, 3gppnetwork.org).
n26_smf_uriString"http://127.0.0.4:8443"URL base de la API de interoperabilidad interna del SMF, consultada durante la transferencia 5G→4G para los datos de conexión real de PDN EPS de la UE (IP, EBI, dirección PGW-C).

Subcampos de Configuración Estructurada

Varios parámetros avanzados son listas de mapas. Sus subcampos y semántica son:

served_guami_list - los GUAMIs que este AMF sirve. Cada entrada:

SubcampoTipoDescripción
plmn_id.mcc / plmn_id.mncStringPLMN que sirve del GUAMI (por defecto al mcc/mnc de nivel superior).
amf_id.region_idInteger (8-bit)ID de Región de AMF.
amf_id.set_idInteger (10-bit)ID de Conjunto de AMF.
amf_id.pointerInteger (6-bit)Puntero de AMF dentro del conjunto.

served_nssai - los S-NSSAIs que este AMF soporta. Cada entrada es un mapa con claves de cadena:

SubcampoTipoDescripción
"sst"Integer (0–255)Tipo de Corte/Servicio. Valores estandarizados: 1 eMBB, 2 URLLC, 3 MIoT.
"sd"String (6 dígitos hexadecimales)Diferenciador de Corte Opcional. Omitir para un corte solo SST (por ejemplo, %{"sst" => 1}).

supported_ta_list - las Áreas de Seguimiento que este AMF sirve. Cada entrada:

SubcampoTipoDescripción
tacIntegerCódigo de Área de Seguimiento.
plmn_listLista de mapasPLMNs servidos en esta TA; cada uno es %{mcc: ..., mnc: ...}.

La SupportedTAList de un gNB se empareja con esta lista (una TA coincide cuando tanto tac como un PLMN coinciden). Un gNB que no publicite ninguna TA coincidente es rechazado en la Configuración de NG con un Fallo de Configuración de NG - consulte gNB NG Setup rejected.

n26_dns_servers - resolutores para el descubrimiento de MME S-NAPTR N26. Cada entrada:

SubcampoTipoDescripción
serverStringIP del resolutor, consultado a través de TCP.
domainStringDominio base de la red doméstica agregado al FQDN TAI EPS (por ejemplo, 3gppnetwork.org).

API de Gestión y Panel de Control

OmniAMF expone una API REST de gestión para operadores y un Panel de Control web a través de HTTPS. Estos se configuran en la configuración de la aplicación (compilada) en lugar de runtime.exs; los controles relevantes para el tiempo de ejecución son la dirección de escucha, los puertos y el material TLS.

ParámetroTipoPredeterminadoDescripción
API de gestión portInteger8443Puerto HTTPS para la API de gestión/estado del operador (estado, inventario de UE/gNB, acciones OAM).
API de gestión listen_ipString"0.0.0.0"Dirección de enlace para la API de gestión.
API de gestión enable_tlsBooleantrueSirve la API de gestión a través de TLS.
API de gestión tls_cert_path / tls_key_pathStringpriv/cert/omnitouch.crt / .pemCertificado TLS y clave privada para la API de gestión.
Puerto HTTPS del Panel de ControlInteger7443Puerto HTTPS para la interfaz de usuario del Panel de Control web.

La API de gestión presenta estado de solo lectura (estado de NRF/NF/licencia, inventario de gNB y UE, sesiones PDU por UE, estadísticas) y acciones OAM (vista/actualización de configuración en tiempo de ejecución, limpieza de caché, cambio de nivel de registro, modo de mantenimiento, re-registro de NRF, diagnósticos y desmantelamiento forzado de UE/PDU/gNB). La lista completa de puntos finales, semántica por acción y precondiciones están documentadas en la guía de API de Gestión.