Faça failover e distribua chamadas recebidas entre seus gateways
O roteamento de um tronco SIP decide o que acontece com cada chamada recebida: buscar em um grupo dos seus gateways, rejeitar a chamada ou encaminhá-la para um número verificado. Um grupo de busca é uma lista de gateways que o Bird tenta um após o outro até que um atenda. A ordem, as prioridades, os pesos e os tempos de toque do grupo decidem qual gateway toca primeiro e o que acontece quando ele não atende. Esta página mostra como configurá-los para failover e para distribuição de carga.
Antes de começar
- Um tronco SIP com chamadas de entrada ativadas e pelo menos um gateway. Configurar um tronco SIP aborda os dois. Quando você adiciona o primeiro gateway a um tronco cujo roteamento nunca foi salvo, o dashboard aponta a rota padrão para All gateways (automatic), o grupo que contém todos os gateways do tronco.
- Os gateways que você quer combinar, adicionados na aba Inbound routing > Gateways do tronco.
Como um grupo faz a busca
Cada chamada recebida inicia uma busca. O Bird ordena os gateways do grupo para essa chamada, toca o primeiro e passa para o próximo quando ele falha:
- Um gateway toca durante o seu Ring time, de 1 a 120 segundos (30 por padrão). Se ninguém atender nesse tempo, o Bird passa adiante.
- Um gateway que não envia nenhuma resposta é ignorado após um curto intervalo, para que um gateway fora do ar não prenda quem liga durante todo o tempo de toque.
- Quando um gateway recusa a chamada com um código de falha SIP, a busca passa para o próximo gateway, a menos que esse código esteja listado em Stop the hunt on do grupo.
- A busca termina quando um gateway atende ou quando todos os gateways do grupo já foram tentados.
O Bird ordena cada chamada de forma independente e não mantém nenhuma rotação entre chamadas, portanto não há round-robin. Uma distribuição uniforme resulta da ordenação aleatória ou ponderada ao longo de muitas chamadas.
| Ordem | Como ordena os gateways em cada chamada | Use para |
|---|---|---|
| Sequential | A ordem da lista, de cima para baixo | Um gateway principal fixo e gateways de backup |
| Random | Uma nova ordem aleatória | Distribuir as chamadas de forma uniforme |
| Weighted | Priority menor primeiro. Dentro de uma mesma prioridade, uma ordem aleatória em que a chance de cada gateway ser o primeiro corresponde à sua parcela dos pesos | Failover e distribuição por peso ao mesmo tempo |
Use o grupo automático
Todos os gateways de um tronco fazem parte de All gateways (automatic), a menos que o roteamento salvo do tronco tenha um grupo próprio no lugar dele (veja o final desta seção). Um gateway que você adiciona ou remove entra ou sai desse grupo. Ele usa a ordem Weighted, pesos iguais e um tempo de toque de 30 segundos, e tenta os gateways na ordem da Priority que você define na aba Gateways. No próprio grupo, não é possível editar o nome, a Order, os tempos de toque nem os membros.
Para fazer failover com esse grupo, dê ao gateway principal uma Priority menor que a do backup na aba Gateways. Gateways com a mesma Priority dividem as chamadas de forma uniforme. Para usar outros tempos de toque, pesos ou códigos em Stop the hunt on, adicione um grupo próprio com os mesmos gateways, como mostram as próximas seções.
Um grupo chamado All gateways que o dashboard criou quando você adicionou seu primeiro gateway é um grupo seu: ele mantém apenas os gateways com os quais foi salvo. Se a aba Groups não mostrar All gateways (automatic), o roteamento salvo do tronco tem um grupo próprio no lugar desse grupo, normalmente chamado All gateways. Ao excluí-lo, o grupo automático volta ao lugar dele: as chamadas que iam para esse grupo passam a tocar em todos os gateways, na ordem de Priority e com um tempo de toque de 30 segundos. Mantenha-o se ele contiver os gateways, os tempos de toque ou os códigos em Stop the hunt on que você quer.
Configure o failover
- Abra Voice > SIP Trunks, abra o trunk e acesse Inbound routing > Groups.
- Abra um grupo seu ou selecione Add group e dê um nome a ele. Não é possível editar All gateways (automatic).
- Adicione seu gateway principal e seu gateway de backup com Add gateway to group.
- Defina Order como Sequential e mantenha o principal no topo usando Move up e Move down. Como alternativa, defina Order como Weighted e atribua ao principal Priority 1 e ao backup Priority 2.
- Defina o Ring time de cada gateway. Um tempo de toque menor no principal envia as chamadas não atendidas ao backup mais cedo.
- Na aba Rules, defina o Then da Default route como Route to group e escolha o grupo, ou aponte uma regra para ele. Um grupo que nenhuma rota usa não recebe chamadas.
- Selecione Review and save e confirme.
Distribua chamadas entre gateways
- Abra Inbound routing > Groups do tronco. Abra um grupo seu ou selecione Add group, dê um nome a ele e adicione os gateways com Add gateway to group.
- Defina Order como Weighted, atribua a mesma Priority aos gateways e defina o Weight de cada um entre 1 e 100. Pesos de 70 e 30 enviam cerca de 70% e 30% das chamadas a cada gateway. Para uma distribuição uniforme, use pesos iguais ou defina Order como Random.
- Para manter também um backup, dê Priority 1 aos gateways que dividem as chamadas e Priority 2 ao backup. O backup só toca quando todos os gateways de prioridade 1 falharem.
- Na aba Rules, defina o Then da Default route como Route to group e escolha o grupo, ou aponte uma regra para ele.
- Selecione Review and save e confirme.
Interromper a busca quando a linha estiver ocupada
Se você não alterar essa configuração, o Bird tenta o próximo gateway a cada falha. Quando uma falha indica que outro gateway não vai resolver, inclua o código dela em Stop the hunt on do grupo. Por exemplo, adicione 486 (Busy Here) para que uma pessoa que já está em uma ligação não seja chamada de novo por um segundo gateway. Você pode inserir qualquer código de 400 a 699.
Encaminhar chamadas diferentes para grupos diferentes
Um tronco pode ter vários grupos. A Default route envia para um grupo as chamadas que não corresponderam a nenhuma regra, e as regras da aba Rules podem enviar outras chamadas para outros grupos. Entregar chamadas a um tronco SIP explica as regras e a rota padrão.
Solução de problemas
| O que você vê | O que verificar |
|---|---|
| O backup nunca toca | Confira se o backup está no grupo usado pela rota padrão (ou pela regra correspondente). Com Weighted, o número de Priority dele deve ser maior que o do primário. Um código em Stop the hunt on encerra a busca antes de chegar ao backup |
| Um único gateway recebe todas as chamadas com Weighted | Gateways com prioridades diferentes não dividem as chamadas. Atribua a eles a mesma Priority |
| As chamadas tocam por tempo demais antes de chegar ao gateway de backup | Reduza o Ring time do gateway principal |
| Um gateway nunca toca | Ele não está em nenhum grupo usado por uma regra ou pela rota padrão. Ao salvar, o dashboard exibe o aviso Calls never reach some gateways |
Próximos passos
| Página | O que aborda |
|---|---|
| Configurar um tronco SIP | A configuração completa de um tronco, em ordem, da criação a uma chamada de teste |
| Recebimento de chamadas | Rotas de números, regras, a rota padrão e chamadas recusadas |
| Solução de problemas de voz | Como diagnosticar uma chamada a partir do sintoma |
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico.