Pular para o conteúdo principal

OmniPCF

OmniPCF implementa a Função de Controle de Política (PCF) do Core 5G da Omnitouch. É o ponto de decisão de política da rede: informa ao SMF como cada sessão PDU deve ser tratada (regras PCC, session-AMBR, QoS por fluxo) e informa ao AMF a política de acesso e mobilidade para cada UE registrada. Também expõe o serviço de autorização de política voltado para a Função de Aplicação que transforma uma chamada IMS/VoNR em um fluxo dedicado de taxa de bits garantida.

OmniPCF serve três serviços SBI: Npcf_SMPolicyControl (TS 29.512), Npcf_AMPolicyControl (TS 29.507), e Npcf_PolicyAuthorization (TS 29.514). Ele busca dados de política por assinante do UDR (Nudr_DataRepository, TS 29.519), registra a associação de endereço UE para PCF no BSF (Nbsf_Management, TS 29.521) e registra/bate o coração com o NRF. As associações de política são um estado em tempo de execução mantido na memória; o UDR é a fonte autoritativa de dados de política de assinante, e as associações são restabelecidas pelo SMF e AMF à medida que sessões e registros são configurados.

Documentação

Visão Geral da Arquitetura

Visão Geral dos Recursos

  • Ciclo de vida completo do Npcf_SMPolicyControl: Criação, leitura, atualização e exclusão de associação de política SM, retornando uma SmPolicyDecision (regras de sessão, regras PCC, decisões de QoS, controle de tráfego, gatilhos de controle de política) conforme TS 29.512.
  • Ciclo de vida completo do Npcf_AMPolicyControl: Criação, leitura, atualização e exclusão de associação de política AM, retornando o UE-AMBR autorizado e gatilhos de política conforme TS 29.507.
  • Npcf_PolicyAuthorization para AF/IMS: Contextos de Sessão de Aplicação, sub-recurso de assinatura de eventos e restauração do P-CSCF; componentes de mídia AF (AUDIO/VIDEO) são traduzidos em regras PCC GBR dedicadas e enviadas ao SMF proprietário para VoNR.
  • Política orientada por UDR: dados de política SM/AM por assinante são buscados do UDR (Nudr-DR v2); regras de cobrança de portadora dedicada estática provisionadas no UDR tornam-se fluxos QoS 5G dedicados. Retorna à política padrão segura quando o UDR não está disponível.
  • Registro de associação BSF: a associação de endereço UE para PCF é registrada no BSF para que um AF possa descobrir este PCF para QoS iniciada por AF.
  • Assinaturas de mudança de dados de política: o PCF se inscreve em notificações de mudança de dados de política do UDR e reage a mudanças para associações afetadas.
  • Negociação de recursos suportados: suppFeat é negociado por AND bit a bit contra o bitmap suportado de cada serviço.
  • API de gerenciamento do operador e métricas Prometheus para observabilidade e controle em tempo de execução. Um Painel de Controle LiveView (Recursos, Configuração, Licença e Visualizações de Log) é servido via HTTPS na porta 7443, juntamente com a API de gerenciamento REST.

Início Rápido

OmniPCF lê sua configuração da chave de ambiente da aplicação :omnipcf. O mecanismo de implantação padrão é config/runtime.exs, que mapeia cada valor de uma variável de ambiente do OS com um padrão embutido.

config :omnipcf,
sbi_scheme: System.get_env("SBI_SCHEME", "http"),
sbi_addr: System.get_env("SBI_ADDR", "127.0.0.13"),
sbi_port: String.to_integer(System.get_env("SBI_PORT", "7777")),
nrf_uri: System.get_env("NRF_URI", "http://127.0.0.1:7777"),
udr_uri: System.get_env("UDR_URI", "http://127.0.0.12:7777"),
bsf_uri: System.get_env("BSF_URI", "http://127.0.0.15:7777"),
mcc: System.get_env("MCC", "999"),
mnc: System.get_env("MNC", "70"),
heartbeat_interval: String.to_integer(System.get_env("HEARTBEAT_INTERVAL", "10000")),
prometheus_metrics_port: String.to_integer(System.get_env("PROMETHEUS_PORT", "9568"))

A referência completa de parâmetros, padrões de política compilados, a API de Gerenciamento/OAM e notas de registro estão na Referência de Configuração.