Pular para o conteúdo principal

Solução de Problemas do OmniSCEF

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

Índice

MME Não Consegue Conectar Sobre 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).
  • Desconexão de transporte — o MME usa SCTP enquanto apenas TCP está acessível, ou vice-versa.
  • Autorização de par restrita e o MME não é um par configurado.
  • Desconexão entre Origin-Host / realm entre o que o MME espera e o que o OmniSCEF anuncia.

Resolução:

  1. Confirme que o firewall permite a listen_port configurada em ambos TCP e SCTP — o OmniSCEF escuta em ambos. Veja Listeners.
  2. Verifique se o transporte configurado do MME corresponde. Os listeners 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 que o host e 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 que o Servidor de Aplicação criou uma configuração NIDD para o dispositivo antes do UE se conectar.
  2. Verifique se o externalId/msisdn do dispositivo resolve para o IMSI correto no mapa de identidade.
  3. Confirme que 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 sua conexão foi liberada.
  • O UE é inatingí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 que 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 armazene em 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 é inatingível a partir do OmniSCEF, ou retorna um status não-2xx.
  • Nenhuma vinculação ativa existe para o {IMSI, EBI} apresentado no uplink.

Resolução:

  1. Confirme que 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 que o callback retorna um status 2xx; um não-2xx é tratado como uma falha de entrega.
  4. Confirme que 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 que o externalGroupId está definido no mapa de grupo e lista os IMSIs dos membros esperados.
  2. Confirme que 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 NIDD de Grupo.

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 (por exemplo, após uma reinicialização — o estado da assinatura está na memória).
  • O notificationDestination da assinatura é inatingí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 ID de referência é 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 que 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), 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 que tls_cert_path e tls_key_path apontam para arquivos PEM válidos e legíveis. Veja Endpoint da API T8.
  2. Confirme que nada mais está vinculado à port configurada na interface listen_ip.
  3. Para executar sem TLS em um ambiente controlado, defina enable_tls: false — mas implantações em produção devem sempre terminar TLS em ou antes do OmniSCEF.