Pular para o conteúdo principal

Cobrança Online (Interface Ro)

📖 Voltar à Documentação Principal

Detalhes de configuração e operação para a interface Diameter Ro (Cobrança Online).

Documentação Relacionada

Documentação Principal

Integração de Processamento de Chamadas

Interfaces Relacionadas

  • 👥 Interface Sh - Interface de dados do assinante (também usa Diameter)
  • 📡 SS7 MAP - Alternativa para roteamento de assinantes

Monitoramento


Configuração Ro

Se o Ro (Cobrança Online) for utilizado, deve ser habilitado na configuração.

Você, é claro, precisará de um par Diameter conectado que possa lidar com Ro ou um DRA que tenha um.

periodic_ccr_time_seconds define com que frequência durante uma sessão um Credit-Control-Request tipo 2 (Atualização) é enviado. Isso provavelmente precisará ser ajustado com base nas necessidades do OCS.

Se o Credit-Control-Request tipo 1 (Inicial) retornar os segundos de uso máximo para todo o saldo, podemos definir um desligamento programado para esse tempo. Isso é controlado pela flag schedule_hangup_auth, que se habilitada, obterá os segundos alocados no CCR-I e definirá a chamada para desligar nesse momento.

skipped_regex (opcional) permite que você especifique padrões de expressão regular para corresponder a números de destino que devem ignorar a cobrança online. Chamadas para destinos que correspondem a esses padrões serão autorizadas sem contatar o OCS. Isso é útil para serviços internos, correio de voz, números de emergência ou outros destinos que não devem ser cobrados. Se omitido ou definido como uma lista vazia, todas as chamadas passarão pela cobrança online quando habilitada. Os padrões usam a sintaxe de regex do Elixir (por exemplo, "^2222" corresponde a números que começam com 2222, "^344[4-6]" corresponde a números que começam com 3444, 3445 ou 3446).

config :tas,
...
online_charging: %{
enabled: true,
periodic_ccr_time_seconds: 10,
schedule_hangup_auth: true,
skipped_regex: ["^2222", "^2223", "^8999", "^344[4-6]"] # Opcional
},

Comportamento Operacional da Cobrança Online

Como Funciona a Cobrança Periódica:

Quando uma chamada originada de um celular (MO) é atendida:

  1. O sistema envia um CCR-I inicial (Solicitação de Controle de Crédito Inicial) para autorizar a chamada
  2. Se o crédito estiver disponível, o OCS retorna o tempo alocado (por exemplo, 120 segundos)
  3. Um processo em segundo plano começa a ser executado a cada periodic_ccr_time_seconds para reautorizar a chamada
  4. Esse processo envia solicitações CCR-U (Atualização) para verificar se o assinante ainda tem crédito
  5. Cada CCR-U bem-sucedido estende a chamada e concede tempo adicional
  6. Quando a chamada termina, um CCR-T (Terminar) é enviado para a contabilidade final

Valores do Tipo de Solicitação:

  • 1 = Inicial (CCR-I) - enviado quando a chamada é autorizada pela primeira vez
  • 2 = Atualização (CCR-U) - enviado na resposta e periodicamente durante a chamada
  • 3 = Terminar (CCR-T) - enviado quando a chamada termina
  • 4 = Evento - usado para cobrança de SMS ou eventos únicos

O Que Acontece Quando o Crédito Acaba:

Se um CCR-U periódico retornar zero segundos ou um erro:

  • O processo de cobrança periódica para automaticamente
  • Se schedule_hangup_auth estiver habilitado, a chamada será encerrada quando o tempo alocado expirar
  • A chamada do assinante termina e ele recebe a notificação apropriada

Ajustando periodic_ccr_time_seconds:

Escolha o intervalo com base nas suas necessidades operacionais:

  • Valores mais baixos (5-10 segundos): Mais responsivo à exaustão de crédito, captura rapidamente situações de falta de crédito, mas cria maior carga no OCS
  • Valores mais altos (30-60 segundos): Menor carga no OCS e tráfego de rede, mas os assinantes podem consumir um pouco mais de crédito do que o disponível entre as verificações
  • Recomendado: Comece com 10-30 segundos com base no seu incremento mínimo de crédito e capacidade do OCS

Monitorando a Cobrança Periódica:

Observe essas métricas para garantir que a cobrança periódica esteja funcionando corretamente:

  • online_charging_events_total{event_type="reauth"} - rastreia solicitações CCR-U periódicas
  • online_charging_events_total{event_type="reauth",result="success"} - reautorizações bem-sucedidas
  • online_charging_events_total{event_type="reauth",result="nocredit"} - assinantes ficando sem crédito durante a chamada
  • Altas taxas de falha de reautorização indicam problemas de conectividade ou desempenho do OCS

Resolvendo Problemas de Cobrança Periódica:

Se as chamadas não estão sendo reautorizadas corretamente:

  1. Verifique os logs para mensagens "Enviando CCR-U periódico para <call_id>" - confirma que o processo em segundo plano está em execução
  2. Procure avisos "CCR periódico falhou - Parando o trabalho" - indica exaustão de crédito ou erros do OCS
  3. Verifique se a métrica ocs_authorization_duration_milliseconds mostra tempos de resposta razoáveis
  4. Confirme se o OCS está retornando respostas CCA-U válidas com unidades de tempo concedidas
  5. Verifique se periodic_ccr_time_seconds não está definido de forma muito agressiva para a capacidade do seu OCS