
Compartilhar:
Julia está empenhada em capacitar outros desenvolvedores por meio da criação de tutoriais, guias e recursos práticos. Com experiência em divulgação e educação, ela busca tornar a tecnologia mais acessível e aprimorar a experiência geral dos desenvolvedores. É comum encontrá-la em eventos da comunidade local.
Como receber chamadas telefônicas com o Node-RED
Tempo de leitura: 9 minutos
Observação: algumas das ferramentas ou métodos descritos neste artigo podem não ter mais suporte ou estar desatualizados. Para obter conteúdo atualizado ou suporte, consulte nossas postagens mais recentes ou nossa Documentação
Este é o terceiro artigo de uma série de tutoriais intitulada “Introdução ao Nexmo e ao Node-RED”.
Nos tutoriais anteriores , você aprendeu a enviar e receber mensagens SMS programaticamente usando a SMS API da Nexmo e a lidar com os comprovantes de entrega.
Em seguida, você passará para o próximo capítulo, no qual explorará a Voice API da Nexmo.
Ao final deste artigo, você já terá atendido sua primeira chamada recebida com o Node-RED.
Pré-requisitos
Antes de começar, você precisará de algumas coisas:
Opcional: ngrok—fique por dentro do postagem no blog do Aaron
Como obter suas credenciais
Para interagir com a Voice API, é preciso prestar atenção a alguns detalhes. Depois de criar uma conta no Nexmo, acesse o painel de controle para encontrar sua chave de API e seu segredo.
Em seguida, você precisará de um número virtual com função de Voice. Acesse Numbers > Comprar números para adquirir um.
Configurando seu editor do Node-RED
Primeiro, você precisará instalar o runtime e o editor. Isso pode ser feito tanto no seu computador local quanto em um computador de placa única (por exemplo, o Raspberry Pi) ou em diversas opções hospedadas na nuvem. Neste exemplo, usaremos o seu computador local; portanto, depois de instalar o Node-RED globalmente, basta digitar o comando abaixo no terminal para começar.
Você pode então acessar o editor do Node-RED digitando no navegador http://localhost:1880.
Depois de abrir o editor, você precisará instalar os nós do Nexmo. Você pode fazer isso na seção paleta “Gerenciar” , procurando pelo node-red-contrib-nexmo pacote e clicar em “Instalar”.

Agora você deve ver todos os nós do Nexmo aparecerem no lado esquerdo da tela, junto com os outros nós padrão.
Atender uma chamada telefônica recebida com o Node-RED
Expondo seu servidor local à Internet
Primeiro, você precisará tornar seu servidor local acessível pela internet, para que o Nexmo possa acessá-lo. Se você estiver executando o Node-RED em um servidor web público, em vez de na sua máquina local, pode pular esta etapa.
Caso contrário, uma maneira prática de fazer isso é usando um serviço de tunelamento como ngrok.
Baixe e instale o ngroke, em seguida, execute-o no terminal para iniciar um túnel na porta 1880.
Acesse a URL exibida para encontrar o Editor do Node-RED.

Criação de uma aplicação Nexmo
Nos tutoriais anteriores sobre SMS, você conseguiu configurar um número de telefone diretamente com um endpoint; no entanto, nem sempre é assim.
Algumas das APIs da Nexmo, incluindo a Voice API, utilizam os Aplicativos da Nexmo para armazenar as informações de segurança e configuração necessárias para se conectar aos terminais da Nexmo.
Na paleta do Nexmo Node-RED, vários nós permitem criar essas Applications: getrecording, earmuff, mute, hangup, transfer, createcall, playaudio, playtts e playdtmf.
Arraste qualquer um desses nós para a sua área de trabalho e, em seguida, clique duas vezes nele para abrir o editor de nós.
Ao lado do Nexmo Credentials, selecione “Adicionar novo nexmovoiceapp...” no menu suspenso e clique no botão “Editar”. Preencha os detalhes abaixo e clique Create New Application.
| KEY | DESCRIPTION |
|---|---|
Name |
Choose a name for your Voice Application, for example inbound call. |
API Key |
Your Nexmo API key, shown in your account overview. |
API Secret |
Your Nexmo API secret, shown in your account overview. |
Answer URL |
YOUR_URL/answer, you'll be hosting a Nexmo Call Control Object (NCCO) here. - more about this later on. |
Event URL |
YOUR_URL/event, you'll need to reference this when setting up the event handler. |
O Node-RED criará então uma nova Application Nexmo no seu Account e preencherá os campos “App ID” e “Private Key” para que você os salve. Após essa etapa, fique à vontade para excluir o nó Nexmo que você utilizou, já que um nexmovoiceapp já foi criado um nó de configuração, que contém todas as credenciais do Nexmo necessárias para este fluxo.

Em seguida, você precisará vincular seu número virtual a este aplicativo.
Encontre o aplicativo de voz que você acabou de criar no seu painel do Nexmo, acessando Voice > Seus Applications.
Clique no nome deste aplicativo e, em seguida, na seção Numbers , clique na botão “Link” ao lado do número virtual que você alugou anteriormente.
Como alternativa, se o número que você deseja usar já estiver vinculado a outro aplicativo, clique em Gerenciar número e configure-o para encaminhar as chamadas recebidas para o seu aplicativo.

Criar o Objeto de Controle de Chamadas da Nexmo (NCCO)
As chamadas do Nexmo são controladas por meio de Objetos de Controle de Chamadas da Nexmo, também conhecidos como NCCOs. Um NCCO define uma lista de ações a serem executadas durante o atendimento de uma chamada. Há diversas ações disponíveis; encontre os nós correspondentes na paleta Nexmo do seu editor Node-RED ou consulte a Referência de NCCO para saber mais sobre elas.
Neste tutorial, você usará a talk ação.
Arraste e solte o talk nó para sua área de trabalho e, em seguida, conecte-o a um voice webhook nó de entrada e a um return NCCO nó de saída.
Em seguida, no voice webhook nó, selecione GET como método e digite algo como /answer no campo “URL da resposta”.
Por fim, acesse as talk propriedades do nó e defina o Text{} campo com a mensagem que você deseja que seja lida em voz alta quando a chamada for atendida. Observe o {} símbolo ao lado do Text rótulo, indicando que esse valor pode ser definido dinamicamente, usando modelos Mustache. Você também pode selecionar um Voice Name; consulte o Guia de Conversão de Texto em Fala para obter a lista completa de opções.

Configurando um manipulador para a URL do evento
Conecte um http nó de entrada a um http response nó, bem como a um debug nó, para que você possa visualizar seu comprovante de entrega na área de depuração.
No http nó de entrada, selecione POST como Method e preencha o URL campo com algo como /event.
O http response nó deve ter 200 definido como Status code, mas não se preocupe com isso, esse também é o valor padrão.
Agora clique em “Implantar”, ligue para o seu número virtual e acompanhe o fluxo da sua chamada na barra lateral de depuração.

Próximos passos
Neste tutorial, você aprendeu a reproduzir uma mensagem de conversão de texto em fala para quem está ligando. De maneira bastante semelhante, você também pode reproduzir um arquivo de áudio para a pessoa ou transferir a chamada para um número de telefone. Se quiser ir além, que tal gravar a conversa ou configurar sua caixa postal personalizada? Fique ligado para descobrir como!
Recursos
Mais informações sobre a Voice API
Confira a Referência da NCCO para saber mais sobre as diversas maneiras de controlar sua chamada.
Dê uma olhada mais de perto no Node-RED
Compartilhar:
Julia está empenhada em capacitar outros desenvolvedores por meio da criação de tutoriais, guias e recursos práticos. Com experiência em divulgação e educação, ela busca tornar a tecnologia mais acessível e aprimorar a experiência geral dos desenvolvedores. É comum encontrá-la em eventos da comunidade local.