Roteie chamadas de entrada do trunk pela origem e pelo número de quem liga
O Inbound routing de um trunk SIP pode tratar as chamadas de forma diferente conforme quem liga e o número discado. As regras verificam dados de cada chamada, como o tipo de linha ou o país de quem liga, e definem o que acontece: enviar a chamada a um grupo de gateways, alterar o número que seu equipamento recebe, rejeitá-la ou encaminhá-la. Esta página traz configurações prontas para os casos mais comuns.
Antes de começar
- Um trunk SIP com chamadas de entrada ativadas, seus gateways em pelo menos um grupo e seus números apontados para ele. Configure um trunk SIP explica os três itens.
- Acesse Voice > SIP Trunks, abra o trunk e vá até Inbound routing > Rules.
Como as regras funcionam
O Bird verifica as regras de cima para baixo em cada chamada de entrada. A primeira regra cujo When corresponde decide a chamada. Uma chamada que não corresponde a nenhuma regra usa a Default route (No rule above matched). Cada regra e a rota padrão têm um Then: Route to group, Reject ou Forward to number. Um trunk comporta até 50 regras.
Um When é uma condição sobre estes dados da chamada. Selecione um dado na lista ou use Edit expression para escrever a condição você mesmo.
| Dado | O que contém |
|---|---|
orig.line_type | O tipo de linha de quem liga: LINE_FIXED, LINE_MOBILE, LINE_TOLL_FREE, LINE_PAYPHONE ou LINE_UNKNOWN |
orig.country | O código de país de duas letras de quem liga, como GB. Fica vazio quando quem liga ocultou o número |
orig.anonymous | true quando quem liga ocultou o número |
orig.number | O número de quem liga em E.164, com + |
orig.digits | O número de quem liga sem o + inicial |
dest.number | O número discado, em E.164, com + |
dest.digits | O número discado, sem o + inicial |
call.local_hour | A hora da chamada, de 0 a 23, no fuso horário do roteamento |
call.weekday | O dia da chamada, no fuso horário do roteamento |
Escreva os tipos de linha como constantes, como orig.line_type == LINE_MOBILE. Uma constante desconhecida gera erro ao salvar, enquanto uma string com erro de digitação, como "LINE_MOBLE", é aceita e nunca corresponde.
Enviar chamadas de celulares e de telefones fixos para gateways diferentes
Use esta configuração quando, por exemplo, as chamadas de celulares devem chegar a um SBC e todas as outras a outro.
- Em Groups, crie um grupo para cada destino, por exemplo
mobilecom o SBC para celulares elandlinecom o outro. - Em Rules, selecione Add rule e dê a ela o nome Mobile callers. Defina When como Line type com o valor
LINE_MOBILE. - Defina Then como Route to group e escolha
mobile. - Defina a Default route como Route to group e escolha
landline. Ela recebe todas as chamadas que a regra não capturou. - Selecione Review and save e confirme.
O mesmo padrão roteia por país: defina When com Edit expression como uma condição do tipo orig.country == GB.
Adicionar um prefixo conforme a origem de quem liga
Seu SBC pode esperar, antes do número discado, um prefixo que indique a origem de quem liga, por exemplo 801 para telefone fixo, 802 para celular e 800 para os demais casos. O Bird altera a parte de usuário da Request-URI que envia ao seu gateway; o host e a porta do gateway continuam os mesmos. Assim, em uma chamada para +44 808 157 0123, quem liga de um celular chega como sip:802448081570123@198.51.100.20.
Você pode configurar isso de duas formas equivalentes.
Uma regra por origem
Use esta forma quando cada origem precisar aparecer como uma entrada própria no editor ou quando as origens diferirem em mais do que o prefixo, como um grupo diferente.
- Em Rules, selecione Add rule, dê o nome Landline e defina When como Line type com o valor
LINE_FIXED. - Defina Then como Route to group, escolha seu grupo em Group e selecione Override R-URI user part. Digite
801e use Insert para adicionardest.digitslogo depois. - Repita para Mobile (
LINE_MOBILE, prefixo802). - Defina a Default route como Route to group com a parte de usuário
800seguida dedest.digits. - Selecione Review and save e confirme.
Uma expressão
Use esta opção quando apenas o prefixo muda. Deixe Rules vazio, defina a Default route como Route to group com o seu grupo, selecione Override R-URI user part, insira esta expressão e adicione dest.digits depois dela:
orig.line_type == LINE_FIXED ? "801" : orig.line_type == LINE_MOBILE ? "802" : "800"As duas configurações entregam o mesmo INVITE. O campo R-URI user part do próprio gateway aceita apenas texto fixo ao redor do número discado, então coloque um prefixo que dependa de quem liga em uma regra ou na rota padrão, como mostrado acima.
Verifique sua configuração
- Review and save verifica cada condição e cada modelo e lista os erros com a localização de cada um. Nada é salvo até que eles sejam corrigidos.
- Ligue para um dos seus números a partir de um celular, de um telefone fixo e com o seu número oculto. No seu SBC, compare a Request-URI de cada
INVITErecebido com o que você espera. - Abra cada chamada em Voice > Legs e use o SIP Call-ID dela para encontrar a mesma chamada nos logs do seu SBC.
Próximos passos
| Página | O que aborda |
|---|---|
| Recebimento de chamadas | Rotas por número, grupos, a rota padrão e chamadas recusadas |
| Configure um tronco SIP | A configuração completa de um tronco, em ordem, da criação a uma chamada de teste |
| Fazer chamadas | O que o Bird espera no INVITE que seu equipamento envia |
Recursos relacionados
Continue com a documentação, guias e exemplos sobre este tópico.