Pular para o conteúdo principal

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_ciphering para 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.