WaCalls
O que é o WaCalls?
O WaCalls é um serviço responsável pelas chamadas de voz do WhatsApp integrado ao NextChat.
Com ele você poderá:
- Receber chamadas de voz do WhatsApp.
- Realizar chamadas diretamente pela tela de atendimento.
- Direcionar chamadas automaticamente para os atendentes.
- Utilizar múltiplas conexões (SID) para aumentar a disponibilidade das chamadas.
⚠️ Avisos Importantes
Este é um recurso novo e experimental.
Antes de utilizar em produção, leia atentamente as informações abaixo.
- O consumo de CPU, memória e rede pode variar conforme a quantidade de chamadas simultâneas.
- Ainda não é possível garantir estabilidade em todos os ambientes.
- A Meta pode alterar o funcionamento das chamadas do WhatsApp a qualquer momento.
- Dependendo da quantidade de chamadas simultâneas, pode ser recomendado utilizar uma VPS dedicada exclusivamente ao WaCalls.
Utilizamos uma versão modificada
Neste tutorial utilizaremos uma versão modificada do WaCalls.
A versão original disponível no GitHub não possui autenticação na API, o que torna sua instalação insegura quando publicada em uma VPS com acesso à internet.
Nossa versão adiciona autenticação por API Key, protegendo o acesso ao serviço.
Pré-requisitos
Antes de iniciar, sua VPS deve possuir:
- Docker instalado.
- Proxy reverso (Caddy ou Nginx).
- Domínio público apontando para a VPS.
- Portas TCP e UDP liberadas.
Se você já possui o NextChat instalado, normalmente já possui Docker, Caddy e HTTPS configurados.
Não quer fazer a instalação?
Caso não tenha experiência com Linux, Docker ou configuração de servidores, nossa equipe pode realizar toda a instalação para você.
O serviço inclui:
- Instalação completa do WaCalls.
- Configuração do Docker.
- Configuração do Caddy.
- Configuração do HTTPS.
- Liberação das portas necessárias.
- Testes de funcionamento.
- Integração com o NextChat.
Contratar serviço de instalação:
https://gestor.nextchat.com.br/products/client/detail/14
Configurando o domínio
Crie um subdomínio apontando para sua VPS.
Exemplo:
call.seudominio.com.br
Após criar o registro DNS, aguarde a propagação.
Você pode verificar utilizando:
Importante: somente continue quando o domínio estiver propagado corretamente.
Instalando o WaCalls
Execute o comando abaixo:
docker run -d \
--name wacalls \
-p 8082:8080/tcp \
-p 5000:5000/tcp \
-p 5000:5000/udp \
-e WACALLS_PUBLIC_IP=auto \
-e WACALLS_UDP_PORT=5000 \
-e WACALLS_MAX_CALLS=1 \
-e WACALLS_API_KEY=troque-esta-chave \
-v wacalls-data:/data \
--restart unless-stopped \
nextchat/wacalls:latest
Após criar o container, conecte-o também na rede bridge:
docker network connect bridge wacalls || true
Configurando as variáveis
WACALLS_PUBLIC_IP
auto
O WaCalls tentará detectar automaticamente o IP público da VPS.
Caso a detecção automática não funcione, informe manualmente o IP público.
Exemplo:
WACALLS_PUBLIC_IP=123.123.123.123
WACALLS_UDP_PORT
Porta utilizada para transmissão do áudio.
Neste tutorial utilizaremos:
5000
Essa porta deve estar aberta tanto em TCP quanto em UDP.
Caso contrário, a chamada poderá conectar normalmente, porém ficará sem áudio.
Caso utilize UFW, execute:
sudo ufw allow 5000/tcp
sudo ufw allow 5000/udp
sudo ufw reload
WACALLS_MAX_CALLS
Quantidade máxima de chamadas simultâneas permitidas por QR Code.
Recomendamos manter:
1
Esse é o comportamento mais próximo ao funcionamento original do WhatsApp.
Caso necessite mais chamadas simultâneas, recomendamos conectar o mesmo número mais de uma vez, gerando múltiplos QR Codes e múltiplos SIDs.
WACALLS_API_KEY
Token utilizado para proteger sua instalação.
Escolha uma chave segura.
Exemplo:
9ecf26d4db9d7d8e86c44ef8e...
Nunca utilize uma senha simples.
Configurando o Caddy
Edite o arquivo:
sudo nano /etc/caddy/Caddyfile
Adicione:
call.seudominio.com.br {
reverse_proxy 127.0.0.1:8082
request_body {
max_size 200MB
}
}
Salve o arquivo.
Depois reinicie o Caddy:
sudo systemctl reload caddy
Primeiro acesso
Acesse pelo navegador:
https://call.seudominio.com.br
Informe a API Key configurada anteriormente.
Depois:
- Crie uma conta.
- Faça a leitura do QR Code.
- Aguarde a conexão.
Testando o áudio
Após conectar o WhatsApp, realize uma chamada de teste.
Se a ligação conectar mas ficar sem áudio, normalmente significa que existe bloqueio na porta utilizada pelo RTP.
Verifique:
- Porta 5000 TCP aberta.
- Porta 5000 UDP aberta.
- Firewall.
- NAT da VPS.
- Valor correto em WACALLS_PUBLIC_IP.
Na maioria dos casos o problema está relacionado à porta 5000 bloqueada.
Configurando o WaCalls no NextChat
No Painel SaaS acesse:
Canais → WaCalls — Chamadas de Voz
Preencha:
URL
https://call.seudominio.com.br
Token
Utilize exatamente a mesma API Key configurada na instalação.
Depois clique em:
Gerenciar Contas
Você poderá:
- Criar novas contas.
- Visualizar QR Codes.
- Copiar o SID de cada conexão.
Também é possível criar contas diretamente pelo painel do próprio WaCalls.
Configurando o SID no canal
Acesse:
Configurações → Canais/API → Configuração Avançada
Localize o campo:
WaCalls SID
Informe um ou mais SIDs.
Exemplo:
SID01,SID02,SID03
Caso um SID esteja ocupado durante uma chamada, o NextChat tentará automaticamente utilizar o próximo SID disponível.
QR Code
Sempre que precisar conectar um novo WhatsApp, acesse:
Ferramentas → QR Code WaCalls
Faça a leitura normalmente pelo WhatsApp.
Gestão WaCalls
Após configurar o canal, acesse:
Gestão WaCalls
Assim como no WaVoIP, você poderá definir quais usuários terão permissão para utilizar aquele canal de chamadas.
Como funcionam as chamadas
Quando uma ligação é recebida:
- Se existir um ticket aberto para aquele contato e o responsável estiver online, somente ele receberá a chamada.
- Caso contrário, a chamada tocará para todos os usuários autorizados naquele canal.
Durante um atendimento também será exibido um botão de chamada para ligar diretamente ao cliente.
Atualizando o WaCalls
Para atualizar para uma nova versão:
Baixe a imagem mais recente:
docker pull nextchat/wacalls:latest
Remova o container:
docker rm -f wacalls
Crie novamente utilizando o mesmo comando de instalação.
Como os dados ficam armazenados no volume wacalls-data, suas configurações e contas serão preservadas.
Reiniciando o serviço
docker restart wacalls
Parando o serviço
docker stop wacalls
Iniciando novamente
docker start wacalls
Consultando os logs
Visualizar logs em tempo real:
docker logs -f wacalls
Últimas 100 linhas:
docker logs --tail=100 wacalls
Removendo completamente
Caso deseje remover totalmente o WaCalls:
docker rm -f wacalls
docker volume rm wacalls-data
docker rmi nextchat/wacalls:latest
Dicas finais
- Utilize sempre HTTPS.
- Nunca exponha sua API Key.
- Certifique-se de que a porta 5000 TCP e UDP esteja liberada.
- Sempre confirme a propagação do DNS antes da instalação.
- Para maior disponibilidade, utilize múltiplos SIDs em vez de aumentar o valor de WACALLS_MAX_CALLS.
- Caso tenha muitos usuários realizando chamadas simultâneas, considere utilizar uma VPS dedicada ao WaCalls para obter melhor desempenho.