Blog
Telecom

Roteamento de chamadas no SoftSwitch: LCR, série e balanceado

LCR busca o menor custo, série faz failover, balanceado distribui carga. Entenda os modos de roteamento do SoftSwitch para operadoras.

SipPulse - Equipe Técnica15 de julho de 20256 min de leitura
Compartilhar
Roteamento de chamadas no SoftSwitch: LCR, série e balanceado

Roteamento de chamadas é onde o SoftSwitch gera ou destrói margem para uma operadora. Cada chamada que sai da rede precisa ir para algum fornecedor, e a escolha de qual fornecedor recebe essa chamada determina quanto a operadora paga. Os três modos fundamentais de roteamento em um SoftSwitch carrier-grade são LCR (Least Cost Routing), série (failover) e balanceado (distribuição de carga). Cada modo resolve um problema diferente, e a maioria das operações combina os três no mesmo sistema.

Como funciona o roteamento em um SoftSwitch

Quando uma chamada chega ao SoftSwitch, o motor de roteamento executa uma sequência de passos. Primeiro, identifica o número de destino (B-number). Depois, normaliza esse número para um formato padrão (código de país + código de área + número). Em seguida, consulta as tabelas de prefixo para descobrir quais fornecedores entregam chamadas para aquele destino. Finalmente, aplica a lógica de roteamento configurada para selecionar o fornecedor.

As tabelas de prefixo são a base de tudo. Cada fornecedor publica uma lista de prefixos que ele aceita (por exemplo: 5511 para fixo São Paulo, 55119 para móvel São Paulo) junto com a tarifa por minuto para cada prefixo. O SoftSwitch carrega essas tabelas, que podem ter milhares de entradas, e as consulta em tempo real a cada chamada.

A granularidade do prefixo importa. Um fornecedor pode cobrar R$ 0,03/min para o prefixo 5511 (todo o DDD 11), mas outro pode oferecer R$ 0,02/min para o prefixo 551134 (apenas uma faixa de números do DDD 11). O SoftSwitch precisa fazer o match mais longo (longest prefix match) para encontrar a tarifa mais específica.

LCR: Least Cost Routing

O LCR (Least Cost Routing, ou roteamento por menor custo) é o modo de roteamento mais importante para operadoras que compram rotas de múltiplos fornecedores. O princípio é simples: para cada chamada, o SoftSwitch identifica todos os fornecedores que atendem aquele destino, compara as tarifas e seleciona o mais barato.

Na prática, o LCR funciona assim:

  1. A chamada chega com destino 551134567890.
  2. O SoftSwitch faz longest prefix match nas tabelas de todos os fornecedores.
  3. Fornecedor A cobra R$ 0,035/min para 5511. Fornecedor B cobra R$ 0,028/min para 551134. Fornecedor C cobra R$ 0,032/min para 5511.
  4. O match mais longo para o fornecedor B (551134) dá a tarifa mais específica: R$ 0,028/min.
  5. A chamada é roteada para o fornecedor B.

O LCR não é "configurar uma vez e esquecer". Fornecedores mudam tarifas com frequência, às vezes semanalmente. O SoftSwitch precisa de uma forma eficiente de atualizar as tabelas de tarifas sem interromper o tráfego. Import de CSV, upload via API ou integração direta com o sistema de billing do fornecedor são os métodos mais comuns.

Roteamento em série (failover)

O roteamento em série é o mecanismo de failover. Quando o SoftSwitch envia uma chamada para o fornecedor escolhido (seja por LCR ou por configuração estática) e esse fornecedor falha (timeout, 503 Service Unavailable, 488 Not Acceptable), o SoftSwitch tenta o próximo fornecedor na lista, em ordem de prioridade.

A lista de failover pode ser baseada em custo (LCR com fallback: tenta o mais barato primeiro, depois o segundo mais barato) ou em prioridade fixa (o fornecedor A é sempre o preferido; o B só recebe tráfego se o A falhar).

O roteamento em série é indispensável para operadoras que dependem de alta taxa de completamento. Se a operadora tem apenas uma rota para determinado destino e essa rota falha, a chamada não é completada. Com série, o SoftSwitch tenta automaticamente rotas alternativas antes de retornar erro ao originador.

Parâmetros críticos do failover:

  • Timeout de INVITE: quanto tempo o SoftSwitch espera uma resposta do fornecedor antes de tentar o próximo. Tipicamente 5 a 10 segundos. Curto demais e você desiste de rotas que estão apenas lentas. Longo demais e o assinante espera uma eternidade.
  • Cause codes de failover: quais códigos SIP disparam o failover. Nem todo erro justifica tentar outro fornecedor. Um 486 (Busy) significa que o destino está ocupado em qualquer rota; não adianta tentar outra. Um 503 (Service Unavailable) significa que o fornecedor está fora; vale tentar o próximo.

Roteamento balanceado

O roteamento balanceado distribui o tráfego entre dois ou mais fornecedores para o mesmo destino. Existem duas abordagens principais:

Round-robin envia a primeira chamada para o fornecedor A, a segunda para o B, a terceira para o A novamente, e assim por diante. Distribuição simples, igual, sem considerar capacidade.

Balanceamento por peso permite definir a proporção de tráfego que cada fornecedor recebe. Por exemplo: 70% para o fornecedor A (que tem mais capacidade e preço melhor) e 30% para o fornecedor B (que serve como backup e diversificação). Os pesos são configuráveis por destino.

O roteamento balanceado resolve dois problemas. O primeiro é capacidade: se um único fornecedor não suporta todo o tráfego da operadora para determinado destino, dividir a carga evita congestionamento. O segundo é gestão de risco: concentrar 100% do tráfego em um único fornecedor significa que a queda desse fornecedor derruba 100% das chamadas para aquele destino. Com balanceamento, o impacto é parcial.

Combinando os três modos

Na operação real, os três modos trabalham juntos. Um cenário típico: o SoftSwitch aplica LCR para selecionar o fornecedor mais barato, usa série (failover) caso esse fornecedor falhe, e dentro de um grupo de fornecedores com tarifa similar, usa balanceamento por peso para distribuir a carga.

A configuração dessas regras é feita por destino ou por grupo de destinos. A operadora pode definir, por exemplo, que chamadas para móvel nacional usam LCR com failover em série, enquanto chamadas internacionais usam um fornecedor fixo com failover para um segundo.

Roteamento no SipPulse PCRT

O SoftSwitch SipPulse PCRT implementa os três modos de roteamento: LCR com longest prefix match, roteamento em série com failover automático baseado em cause codes configuráveis, e balanceamento por peso. As tabelas de prefixo suportam milhares de entradas por fornecedor e são atualizáveis em tempo real via interface web ou API.

O PCRT, com engine OpenSIPS, processa até 1000 CAPS, o que significa que o motor de roteamento precisa tomar a decisão de rota, incluindo lookup de prefixo, cálculo de LCR e seleção de fornecedor, em menos de 1 milissegundo por chamada. As APIs abertas permitem integração com sistemas de billing externos para atualização automática de tabelas de tarifas. São 120+ operadoras brasileiras usando essa lógica de roteamento em produção.

Leia também

Conclusão

LCR otimiza custo. Série garante completamento. Balanceado distribui risco e capacidade. Os três modos, operando juntos, formam a lógica de roteamento que define a eficiência financeira e operacional de uma operadora. Se você quer entender como configurar o roteamento do SipPulse PCRT para a sua operação, fale com a equipe técnica.

#softswitch#LCR#roteamento#plataforma voip#operadora#VoIP

Artigos Relacionados