Configurando o FreePBX + GoIP

Existem alguns exemplos de personalização na Internet. Mas nenhum deles trabalhou para mim como deveria. Um dos problemas que encontrei foi a definição incorreta da linha com uma chamada recebida. Ao mesmo tempo, nunca encontrei um manual para resolver esse problema. Portanto, decidi postar minha versão das instruções aqui. Ao mesmo tempo, e um berço para si mesmo para o futuro.

Configuração do GoIP


"Configurações" - "Preferências"


O gateway GSM está em uma rede local sem acesso à Internet. Configure um servidor NTP na rede local para distribuir o tempo. Após a reinicialização, o gateway GSM sincroniza e exibe corretamente a hora atual. Você pode pular esta etapa e definir manualmente a hora no gateway. Se você tiver acesso à Internet, especifique um dos servidores NTP públicos.

  • No Time Server, escreva o endereço IP do servidor NTP.
  • Especifique o fuso horário, eu tenho o fuso horário: GMT + 6.
  • Desative a reinicialização automática. Com a versão mais recente do firmware, não são observados problemas com o congelamento do gateway GSM.
  • Desative a URA.

imagem

"Configurações" - "Rede"


  • Porta LAN - IP estático
  • Endereço IP - especifique o endereço IP estático do gateway

"Configurações" - "VoIP básico"


Modo de configuração - Configuração por linha.

Para o primeiro canal em que "Prefixo de roteamento da linha 1", especificamos 1, para o segundo 2, o terceiro 3, etc.
ID de autenticação: registre o número do cartão SIM (eu o registrei sem 8 / + 7), por exemplo 9651234567
Servidor SIP Registrar: Endereço IP do servidor SIP (192.168.0.10)

Line 1 Authentication ID: 9651234567 Password:  Routing Prefix: 1 Sip Proxy: SIP Registrar Server: 192.168.0.10:5160 Phone Nymber: 9651234567 Display Name: 9651234567 

Fazemos o mesmo com o resto das linhas.

imagem

"Configurações" - "VoIP avançado"


imagem

"Configurações" - "Chamada"


Para cada linha, especifique o prefixo que acompanha o Asterisk e será excluído no canal do gateway antes de fazer uma chamada: por exemplo, para o Plano de Discagem CH1: 1: -1, Plano de Discagem CH2: 2: -2, etc.

  Dial Plan: 1:-1 

imagem

"Configurações" - "Ligar"


As instruções de configuração recomendam o modo de encaminhamento de CID: selecione Usar CID como identificação de chamada SIP para determinar corretamente o número recebido. Eu selecionei Usar ID de parte remota. Isso foi feito para determinar corretamente a linha com a qual a chamada foi recebida. O número recebido é determinado corretamente.

imagem

Isso completa a configuração do GoIP.

Configurando o FreePBX 14


Conexões - Troncos


Selecione "Adicionar tronco SIP (chan_sip)".

Guia Geral


imagem

Vá para a guia "Regras de manipulação de discagem"


Prescreva modelos. Especifique os prefixos para cada tronco em ordem. Para a primeira linha 1, para a segunda 2, etc.

imagem

Configurações da guia Configurações gerais


Saída

O Asterisk usa a mesma porta para várias contas. Isso cria um problema para determinar a linha com a qual a chamada foi recebida. Com uma chamada recebida, a última festa registrada é sempre usada e, como resultado, a linha GoIP da qual a chamada veio é determinada incorretamente. Para determinar corretamente a linha, o modo GoIP foi definido como Usar ID de parte remota e, no Astrisk, trustrpid = yes .

 host=dynamic username=7712020077 secret=Djfgkjgfd!!!!234%$^%# type=friend context=from-trunk-sip-9651234567-custom trustrpid=yes 

imagem

De entrada

 in-9651234567 secret=Djfgkjgfd!!!!234%$^%# type=user context=from-trunk-sip-9651234567-custom 

imagem

Em seguida, crie os números de ramal e o grupo de chamadas. Não vou descrever como isso é feito. No FreePBX, isso é feito através do menu "Aplicativos" - "Extensões" e "Aplicativos" - "Grupos de chamadas". Tudo é bastante simples e intuitivo.

Conexões - Roteamento de Saída


Selecione "Adicionar rota de saída".

Guia Configurações de rota


Especifique o nome da rota, por exemplo, all_line. A seguir, indicamos em ordem os troncos pelos quais as chamadas efetuadas serão feitas.

imagem

Vá para a guia "Regras de discagem"


Aqui, prescrevemos padrões para números de saída.

imagem

As guias restantes são deixadas por padrão. Isso completa a configuração da rota de saída. Você pode tentar fazer uma ligação.

Aqui pode surgir um problema de que as chamadas passarão pelos troncos na ordem em que são indicados na rota. O que, por sua vez, levará ao fato de que as unidades nas primeiras linhas vão mais do que as que as seguem. Para resolver esse problema, você pode reescrever as regras da rota de saída usando extensions_override_freepbx.conf.

Dependendo do número de linhas, você pode usar aleatoriamente. Para duas linhas, por exemplo, 1.2. Eu uso código assim

  [outrt-sets](!) exten => _.,50,Set(a_rand_num=${RAND(1,2)}); same => n,GotoIf($["${a_rand_num}"<"2"]?${n}+1:${n}+2) same => n,GotoIf($["${GROUP_COUNT(OUT_1)}">="${OUTMAXCHANS_1}"]?${n}+1:out-1-cust) ... [outrt](outrt-sets) ; all_line exten => _+7XXXXXXXXXX,3,Goto(50) exten => _8XXXXXXXXXX,3,Goto(50) 

Conexões - roteamento de entrada


Adicionar rota de entrada.

Guia Geral


Especifique sua descrição, por exemplo - "entrada".

Em seguida, selecione o último item "Definir direção", no qual selecionamos o ponto final da rota. No meu caso, indiquei um grupo de chamadas para que as chamadas fossem para qualquer operador gratuito.

Na verdade, tenho uma lógica mais complexa. Usando um script AGI, procuro o número de entrada no banco de dados; se o encontrar, enviarei para o operador ao qual está atribuído. Antes de receber uma chamada para o cliente sip através do jabber, envio uma mensagem ao operador com informações sobre o cliente. Se o número não for encontrado no banco de dados, a chamada será direcionada ao grupo.

imagem

Isso completa a instalação. Você pode tentar fazer e receber chamadas.

Conclusão


Muitos não gostam de configurar o FreePBX, mas colocam um Asterisk vazio. Eu não tinha experiência com telefonia IP, então a escolha caiu no FreePBX. Não tive problemas com a edição de configurações. Qualquer alteração pode ser feita usando os arquivos de configuração extensions_custom.conf e extensions_override_freepbx.conf. Não é tão difícil descobrir isso. Temos um pequeno call center. O GoIP provou ser o melhor. A única coisa que não foi organizada pelo servidor SMS nativo. Portanto, o meu foi escrito, que suporta o envio e o recebimento de mensagens SMS e também mostra o status da entrega do SMS. Temos uma substituição completa do telefone.
Como cliente sip, usamos um telefone da Web escrito com base na biblioteca JsSip, que funciona bem no Firefox 68 e Chrome 76. Se tiver tempo, escreverei instruções mais detalhadas sobre o uso da biblioteca JsSip. Além de um artigo separado sobre como criar seu próprio servidor SMS.

Source: https://habr.com/ru/post/pt464765/


All Articles