Essa integração não é só curiosa — ela é poderosa. Juntar Asterisk com n8n permite transformar seu servidor VoIP em uma central automatizada que se conecta com o mundo: APIs externas, bancos de dados, sistemas de alerta e até IA.
Neste post, vou mostrar um exemplo completo e funcional de como criar uma URA dinâmica, que:
- Consulta dados externos em tempo real
- Monta uma resposta personalizada
- Gera áudio com voz do Google
- Toca isso direto na ligação com o usuário
E ainda deixo no final outras ideias aplicáveis com essa mesma base.
O cenário
Você tem um Asterisk funcional, recebe ligações e quer que ele responda de forma personalizada para cada pessoa que liga. Mas, em vez de programar tudo no dialplan, você quer orquestrar com n8n — visual, dinâmico e conectado com qualquer coisa via API.
A estrutura da URA dinâmica
- Ligação entra no Asterisk
- Um script AGI dispara um Webhook para o n8n com os dados da chamada
- O n8n consulta um sistema externo (API, planilha, banco, etc.)
- Ele gera um texto de resposta
- Usa o Google TTS para transformar texto em áudio
- Converte esse áudio para formato aceito pelo Asterisk
- Envia o
.wav
pro servidor - O Asterisk toca essa resposta para o usuário
Exemplo prático
1. Dialplan Asterisk
[ura-dinamica]
exten => s,1,NoOp(Iniciando URA dinâmica)
same => n,AGI(agi://127.0.0.1:3000)
same => n,Playback(custom/retorno)
same => n,Hangup()
2. AGI ou Script para chamada ao Webhook (exemplo com curl
)
curl -X POST https://n8n.seusite.com/webhook/ura \
-H "Content-Type: application/json" \
-d '{"numero":"5511999999999","contexto":"agendamento"}'
3. Fluxo no n8n
(a) Webhook → recebe número e contexto
(b) HTTP Request → busca dados externos (ex: agendamento do número)
(c) Function → monta frase como:
“Olá Anderson, seu agendamento está confirmado para amanhã às 14 horas.”
(d) HTTP Request → envia para o Google TTS e recebe um .mp3
(e) Exec Command / Node Function → converte MP3 para WAV com FFMPEG
(f) FTP → envia para /var/lib/asterisk/sounds/custom/retorno.wav
4. Google TTS: requisição de exemplo
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
https://texttospeech.googleapis.com/v1/text:synthesize \
-d '{
"input": {"text": "Olá Anderson, seu agendamento é amanhã às 14 horas"},
"voice": {"languageCode": "pt-BR", "name": "pt-BR-Wavenet-A"},
"audioConfig": {"audioEncoding": "MP3"}
}'
5. Conversão do áudio com FFMPEG
ffmpeg -i resposta.mp3 -ar 16000 -ac 1 -f wav resposta.wav
6. Resultado
O usuário liga, o Asterisk pergunta pro n8n o que deve dizer, o n8n consulta dados externos, gera a fala, converte, envia, e o Asterisk fala como se fosse um humano informado.
Outras ideias com Asterisk + n8n
A estrutura acima serve como base para outros fluxos mais complexos, como:
- Análise de humor do cliente: Transcreve e envia áudio para uma IA analisar sentimentos.
- Ligação ativa em falhas de sistema: Detecta queda de serviço e inicia ligação automática com alerta.
- Bot de cobrança automática: Liga para clientes com fatura em aberto e envia boleto por WhatsApp.
- Confirmação de presença em eventos: Robô liga e registra respostas DTMF em planilha.
- Segurança e antifraude: Detecta chamadas suspeitas e dispara alertas ou bloqueios.
- Gravação e envio automático de áudios: n8n pega gravações do Asterisk e envia por e-mail, Google Drive ou Telegram.
Conclusão
Integrar o Asterisk ao n8n abre uma nova camada de inteligência nas ligações. Dá pra conectar telefonia com qualquer outro sistema de forma visual, rápida e com alto grau de automação. E o melhor: sem depender de fornecedores ou soluções engessadas.