OmniAMF
OmniAMF é a Função de Gerenciamento de Acesso e Mobilidade (AMF) para o Núcleo 5G da Omnitouch. Ele termina as interfaces N1 (NAS) e N2 (NGAP) da rede de acesso rádio 5G (gNBs) e orquestra o registro do UE, autenticação, mobilidade, gerenciamento de conexão, paginação e retransmissão de sinalização de sessão PDU.
Ele participa da Arquitetura Baseada em Serviços 5G (SBA) sobre o SBI, tanto produzindo quanto consumindo serviços Namf e outros serviços NF, e fornece interconexão N26 EPS↔5GS com um MME 4G. OmniAMF é o âncora de mobilidade e conexão para cada UE no Núcleo 5G: aceita associações SCTP/NGAP de gNBs, termina a sinalização NAS retransmitida dentro do NGAP e coordena com NFs pares para autenticar o UE, recuperar dados de assinatura, selecionar slices e gerenciar sessões PDU.
Documentação
- Guia de Operações - Conceitos principais, referências 3GPP, interfaces / endpoints do SBI, e procedimentos-chave com seus diagramas de sequência.
- Referência de Configuração - Documentação completa de parâmetros, endpoints da API de gerenciamento/OAM, e notas de registro.
- API de Gerenciamento - API REST OAM do operador: status/inventário, configuração em tempo de execução, e ações de controle de UE/gNB/NRF/manutenção.
- Métricas & Monitoramento - Métricas do Prometheus e exemplos de consultas PromQL.
- Solução de Problemas - Problemas comuns e resoluções.
Visão Geral da Arquitetura
Cada UE é gerenciada por um processo dedicado UeWorker supervisionado sob um supervisor de UE. As mensagens NGAP são desmultiplexadas por identificadores de UE NGAP para o trabalhador proprietário, de modo que as máquinas de estado do UE funcionem em isolamento. Um Armazenamento de Contexto GUTI separado, suportado por ETS, persiste o contexto de segurança NAS nativo 5G de cada UE (SUPI, K_AMF, contagens NAS, capacidades de segurança) indexado por 5G-TMSI, independente da vida útil do trabalhador. Isso sobrevive à rotatividade do trabalhador e permite que uma UE retornando do modo ocioso retome sem reautenticação.
Visão Geral dos Recursos
- Terminação NGAP / N2 - aceita associações SCTP de gNBs; gerencia NG Setup, Mensagem Inicial de UE, configuração/liberação de contexto de UE, transporte NAS, paginação e preparação para transferência (TS 38.413).
- Registro de UE e 5G-AKA - orquestra a autenticação com o AUSF e a recuperação de assinatura / registro UECM com o UDM.
- Segurança NAS: deriva K_AMF e chaves NAS, executa Controle de Modo de Segurança e negocia integridade NAS (NIA) e criptografia (NEA) com base nas capacidades do UE, preferindo NIA2/NEA2 e voltando para NIA0/NEA0. Defina
force_null_cipheringpara forçar NEA0 (criptografia nula) independentemente das capacidades do UE. - Alocação de GUTI baseada em GUAMI - aloca 5G-GUTIs a partir do GUAMI configurado e suporta a retomada de GUTI em modo ocioso via o armazenamento de contexto suportado por ETS.
- Paginação e Solicitação de Serviço - pagina UEs CM-IDLE em sua lista TAI e reativa o plano de usuário na Solicitação de Serviço.
- Retransmissão de sessão PDU (N11) - retransmite NAS 5GSM de/para o SMF e conduz a Configuração/Modificação de Recurso de Sessão PDU N2 em direção ao gNB.
- Política AM do PCF (N15) - cria e exclui associações de política de Acesso & Mobilidade durante registro e desregistro.
- Descoberta NF - resolve URIs de NF pares via descoberta NRF com fallback estático por NF (cache de 60 s).
- Interconexão N26 EPS↔5GS - endpoint GTPv2-C opcional para transferência entre sistemas com um MME 4G, incluindo descoberta de MME S-NAPTR.
- Serviços Namf - produz Namf_Communication (transferência N1N2, transferência de contexto, atribuição de EBI, assinaturas de status) e Namf_EventExposure.
- Gerenciamento do Operador - API REST de gerenciamento e Painel de Controle web para inspeção de status e ações OAM.
Início Rápido
OmniAMF lê a configuração do operador do ambiente da aplicação Elixir sob a chave :omniamf, preenchida na inicialização a partir de config/runtime.exs. Cada chave em tempo de execução é impulsionada por uma variável de ambiente com um padrão embutido, de modo que uma implantação pode ser ajustada inteiramente através de variáveis de ambiente.
config :omniamf,
# Servidor HTTP SBI (serviços Namf produzidos)
sbi_scheme: "http",
sbi_addr: "127.0.0.5",
sbi_port: 7777,
# NRF (registro, heartbeat, descoberta)
nrf_uri: "http://127.0.0.1:7777",
# URIs base de NF pares consumidos (fallbacks estáticos; descoberta NRF preferida)
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 Serviço
mcc: "999",
mnc: "70",
# Identidade AMF (GUAMI)
amf_name: "OmniAMF",
amf_id: %{region_id: 2, set_id: 1, pointer: 0},
# Observabilidade
prometheus_metrics_port: 9569,
# N2 / NGAP (listener SCTP para gNBs)
ngap_addr: "0.0.0.0",
ngap_port: 38412,
# Cadência de heartbeat do NRF
heartbeat_interval: 10_000,
# Interconexão N26 EPS↔5GS com um MME 4G
n26_enabled: true,
n26_addr: "0.0.0.0",
n26_mme_peer: %{ip: "127.0.0.11", port: 2123}
A documentação completa de cada parâmetro, incluindo chaves de configuração de aplicativo avançadas e a API de gerenciamento/OAM, está na Referência de Configuração.