Pular para o conteúdo principal

Solução de Problemas do OmniSCEF

Orientações sobre problemas operacionais comuns do OmniSCEF e suas resoluções. Para os fluxos subjacentes, consulte NIDD e Eventos de Monitoramento; para parâmetros, veja a Referência de Configuração.

Índice​

MME Não Consegue Conectar Via T6a​

Sintomas: O MME não consegue estabelecer uma conexão Diameter com o OmniSCEF; nenhuma troca de capacidades é concluída.

Causas possíveis:

  • Firewall bloqueando a porta Diameter (padrão 3868).
  • Incompatibilidade de transporte: o MME usa SCTP enquanto apenas TCP está acessível, ou vice-versa.
  • A autorização do par está restrita e o MME não é um par configurado.
  • Incompatibilidade de Origin-Host / realm entre o que o MME espera e o que o OmniSCEF anuncia.

Resolução:

  1. Confirme se o firewall permite o listen_port configurado tanto em TCP quanto em SCTP. O OmniSCEF escuta em ambos. Veja Listeners.
  2. Verifique se o transporte configurado do MME corresponde. Os listeners de TCP e SCTP são sempre iniciados.
  3. Se allow_undefined_peers_to_connect for false, adicione o MME a peers com seu exato Origin-Host. Veja Peers.
  4. Confirme se o host e o realm do OmniSCEF correspondem ao que o MME está provisionado para se comunicar. Verifique a saída de log log_unauthorized_peer_connection_attempts para tentativas rejeitadas.

Conexão Rejeitada Com USER_UNKNOWN (5001)​

Sintomas: O MME estabelece a conexão Diameter, mas uma solicitação de conexão NIDD (CMR) é respondida com DIAMETER_ERROR_USER_UNKNOWN (5001).

Causas possíveis:

  • Nenhuma configuração NIDD existe para o IMSI desse assinante.
  • O Servidor de Aplicação criou uma configuração usando uma identidade externa que não resolve para o IMSI do assinante.

Resolução:

  1. Confirme se o Servidor de Aplicação criou uma configuração NIDD para o dispositivo antes de o UE se conectar.
  2. Verifique se o externalId/msisdn do dispositivo resolve para o IMSI correto no mapa de identidade.
  3. Confirme se o IMSI no mapa de identidade corresponde ao IMSI que o MME apresenta no CMR.

Sintomas: Um POST para downlink-data-deliveries retorna uma entrega cujo deliveryStatus é um valor FAILURE_*, ou um 404.

Causas possíveis:

  • Nenhuma conexão T6a ativa existe para o dispositivo (404 NIDD_CONFIGURATION_NOT_AVAILABLE). O UE não se conectou, ou o OmniSCEF liberou sua conexão.
  • O UE está inacessível (FAILURE_UE_NOT_REACHABLE).
  • O MME / nó de serviço rejeitou a solicitação (FAILURE_REMOTE_FAILURE).
  • O campo data está ausente ou não é um base64 válido (400 DATA_MISSING).

Resolução:

  1. Confirme se o dispositivo está conectado e sua conexão está estabelecida (um CMR anterior foi aceito).
  2. Verifique se o campo data está presente e codificado em base64.
  3. Para um UE ocioso, espere que o MME faça buffer e pagine; a entrega relata sucesso uma vez que o MME assume a responsabilidade. Veja Dados Terminados em Móvel.
  4. Para FAILURE_REMOTE_FAILURE, inspecione o lado do MME/nó de serviço para a causa da rejeição.

Sintomas: O UE envia dados de uplink, mas o callback do Servidor de Aplicação não é invocado.

Causas possíveis:

  • O dispositivo não possui configuração NIDD (portanto, nenhum callback é conhecido).
  • A URL notificationDestination é inacessível a partir do OmniSCEF, ou retorna um status não 2xx.
  • Nenhum binding ativo existe para o {IMSI, EBI} apresentado no uplink.

Resolução:

  1. Confirme se uma configuração NIDD existe para o dispositivo e possui um notificationDestination acessível.
  2. Verifique a conectividade de rede do OmniSCEF para a URL de callback, incluindo a confiança TLS se for HTTPS.
  3. Confirme se o callback retorna um status 2xx; um não 2xx é tratado como uma falha de entrega.
  4. Confirme se o dispositivo se conectou (um CMR foi aceito) antes de enviar dados de uplink.

Sintomas: Um downlink para uma configuração de grupo retorna 404 NIDD_CONFIGURATION_NOT_AVAILABLE, ou alcança menos dispositivos do que o esperado.

Causas possíveis:

  • O externalGroupId não está presente no mapa de grupo, ou não mapeia para membros.
  • Nenhum membro do grupo atualmente possui uma conexão T6a ativa.

Resolução:

  1. Confirme se o externalGroupId está definido no mapa de grupo e lista os IMSIs dos membros esperados.
  2. Confirme se pelo menos um dispositivo membro está conectado. Apenas membros com uma conexão ativa recebem a entrega. O status agregado reflete o pior resultado por membro. Veja Grupo NIDD.

Relatórios de Monitoramento Não Entregues​

Sintomas: Uma assinatura de monitoramento é criada, mas o Servidor de Aplicação não recebe notificações.

Causas possíveis:

  • O evento nunca foi armado na rede (nenhum destino de monitoramento configurado, e nenhum outro caminho o armou).
  • O SCEF-Reference-ID do relatório não corresponde a uma assinatura ativa. Isso pode acontecer após uma reinicialização, porque o estado da assinatura está na memória.
  • O notificationDestination da assinatura é inacessível.

Resolução:

  1. Se o OmniSCEF deve armar o evento, configure um destino de monitoramento para que o CIR seja enviado.
  2. Recrie assinaturas após uma reinicialização do OmniSCEF. O estado da assinatura e do reference-ID é volátil e não sobrevive a uma reinicialização.
  3. Verifique a conectividade do OmniSCEF para o callback da assinatura.

API T8 Retorna 404 para um Endpoint Válido​

Sintomas: Uma solicitação para um caminho T8 documentado retorna 404, e o endpoint não aparece no documento OpenAPI em /api/schema.

Causas possíveis:

  • A tabela de rotas foi alterada, mas a camada da API não foi recompilada, então a nova rota não está registrada.
  • A solicitação omite o prefixo /api que todas as rotas T8 estão montadas.

Resolução:

  1. Confirme se o caminho da solicitação inclui o prefixo /api (por exemplo, /api/3gpp-nidd/v1/{scsAsId}/configurations).
  2. Se a tabela de rotas foi modificada, a dependência da API deve ser recompilada para que as novas rotas sejam registradas (mix deps.compile api_ex --force), e então o serviço deve ser reiniciado.

Endpoint T8 Não Inicia​

Sintomas: O OmniSCEF falha ao iniciar o endpoint HTTPS T8.

Causas possíveis:

  • O arquivo de certificado ou chave TLS está ausente ou ilegível.
  • A port configurada já está em uso.

Resolução:

  1. Confirme se tls_cert_path e tls_key_path apontam para arquivos PEM válidos e legíveis. Veja Endpoint da API T8.
  2. Confirme se nada mais está vinculado à port configurada na interface listen_ip.
  3. Para executar sem TLS em um ambiente controlado, defina enable_tls: false. Implementações de produção devem sempre encerrar o TLS em ou antes do OmniSCEF.