Você deve ter ouvido ou lido sobre o recurso Call Screening que o Google lançou para seus telefones Pixel nos EUA. A ideia é ótima - ao receber uma chamada, o assistente virtual começa a se comunicar, enquanto você vê essa conversa em forma de chat e a qualquer momento pode começar a falar no lugar do assistente. Isto é muito útil hoje em dia, quando quase
Arquitetura
Sugiro que você não perca tempo explicando como funcionam o Voximplant e o Dialogflow, se desejar, você pode facilmente encontrar informações na Internet. Então vamos conhecer o próprio conceito do nosso Call Screening.
Suponhamos que você já tenha um determinado número de telefone que usa todos os dias e no qual recebe ligações importantes. Neste caso, precisaremos de um segundo número, que será indicado em todos os lugares - no correio, no cartão de visita, no preenchimento de formulários online, etc. Este número será conectado a um sistema de processamento de linguagem natural (no nosso caso, Dialogflow) e encaminhará chamadas para o seu número principal somente se você desejar. Em forma de diagrama, fica assim (a imagem é clicável):
Entendendo a arquitetura, podemos assumir a implementação, mas com uma ressalva: não faremos móvel aplicativo para mostrar um diálogo entre o Dialogflow e um chamador recebido, criaremos um simples teia-um aplicativo com um renderizador de diálogo para mostrar claramente como funciona a triagem de chamadas. Esta aplicação terá um botão Intervir, ao pressionar o qual o Voximplant conectará o assinante entrante com o assinante discado, caso este decida falar sozinho.
Implementação
Entrar
Abrir
Em seguida, acesse o aplicativo de triagem, na seção “Números”, aba “Disponíveis”. Aqui você verá o número que acabou de comprar. Vincule-o ao aplicativo através do botão “Anexar” - na janela que aparece, deixe todos os valores padrão e clique em “Anexar”.
Uma vez dentro do aplicativo, vá até a aba “Scripts” e crie um script myscreening - nele utilizamos o código do artigo
ATENÇÃO: você precisará alterar o valor da variável server para o nome do seu servidor ngrok (detalhes sobre o ngrok estarão abaixo). Substitua também seus valores na linha 31, onde seu número de telefone é o seu número principal (por exemplo, seu celular pessoal) e o número voximplant é o número que você adquiriu recentemente.
outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)
A chamadaChamada PSTN ocorrerá no momento em que você decidir interromper a conversa e falar pessoalmente com o assinante recebido.
Depois de salvar o script, você precisa vinculá-lo ao número adquirido. Para fazer isso, ainda dentro da sua aplicação, vá até a aba "Roteamento" para criar uma nova regra - o botão "Nova Regra" no canto superior direito. Forneça um nome (por exemplo, allcalls), deixe a máscara padrão (.* - o que significa que todas as chamadas recebidas serão processadas pelos scripts selecionados para esta regra) e especifique o script myscreening.
Salve a regra.
A partir de agora, o número do telefone fica vinculado ao roteiro. A última coisa que você precisa fazer é vincular o bot ao aplicativo. Para fazer isso, vá até a aba “Dialogflow Connector”, clique no botão “Add Dialogflow Agent” no canto superior direito e carregue o arquivo JSON do seu agente Dialogflow.
Se precisar de um agente para exemplo/teste, você pode pegar o nosso neste link:
Back-end simples em NodeJS
Vamos implantar um back-end simples em um nó, por exemplo, assim:
Este é um aplicativo simples que requer apenas dois comandos para ser executado:
npm install
node index.js
O servidor rodará na porta 3000 da sua máquina, então para conectá-lo à nuvem Voximplant, utilizamos o utilitário ngrok. Quando você instala
ngrok http 3000
Você verá o nome de domínio que o ngrok gerou para o seu servidor local - copie-o e cole-o na variável do servidor.
Cliente
O aplicativo cliente parece um bate-papo simples que você pode
Basta copiar todos os arquivos para algum diretório do seu servidor web e tudo funcionará. No arquivo script.js, substitua a variável do servidor pelo nome de domínio ngrok e a variável callee pelo número que você comprou. Salve o arquivo e inicie o aplicativo em seu navegador. Se tudo estiver bem, você verá a conexão WebSocket no painel do desenvolvedor.
Programa demonstrativo
Você pode ver o aplicativo em ação neste vídeo:
PS Se você clicar no botão Intervir, o chamador será direcionado para o meu número de telefone, e se você clicar em Desconectar, será...? Isso mesmo, a chamada será desconectada.
Fonte: habr.com