https://a.storyblok.com/f/270183/83855/84ddd521de/anonymous-voice-proxy-featured-image.png

Faça chamadas de Voice de forma anônima usando o Express

Publicado em May 20, 2021

Tempo de leitura: 5 minutos

Todos nós já passamos por isso: você sai do táxi e, alguns minutos depois, percebe que esqueceu o guarda-chuva. Ou então, você está morrendo de fome, olhando pela janela sempre que ouve um carro passar, se perguntando onde está a entrega de comida que você pediu há uma hora.

Girl waiting on delivery

Talvez seja o contrário. Talvez você esteja fazendo uma entrega e precise de orientações para chegar ao endereço.

Em todas essas situações, você vai precisar ligar para a outra pessoa, mas não quer passar seu número de telefone para desconhecidos. Então, em vez disso, você pode usar um número virtual que conecta as duas partes, mas só pode ser usado durante a transação em questão.

Aluguel de um número virtual

Neste tutorial, vamos usar a CLI da Vonage para alugar nosso número virtual, mas você também pode gerenciar seus números e Applications de voz por meio o painel de controle da Vonage , caso prefira usar uma interface gráfica (GUI). Se ainda não tiver feito isso, você pode instalar a CLI da Vonage via npm/yarn. As instruções completas estão no repositório do GitHub.

No momento em que este artigo foi escrito, é possível alugar números virtuais em 85 países diferentes. Vou usar o Reino Unido (GB) no meu exemplo; você pode conferir a lista completa de países e preços em nossa página de preços.

vonage numbers:search GB vonage numbers:buy [NUMBER] [COUNTRYCODE]

Criando nosso servidor proxy Voice

No momento, se você tentar ligar para o número virtual que acabamos de alugar, nada acontece.

Man on the phone

Precisamos associar o número virtual a uma aplicação. É possível vincular vários números à mesma aplicação de voz, o que permite ter vários números — mesmo em países diferentes —, todos operados por um único back-end.

Neste exemplo, vamos criar nosso backend com Node e Express e implantá-lo no Glitch. Você pode ver o código no GitHub ou modificá-lo diretamente no Glitch.

Remix on Glitch

Nosso servidor Express possui um único endpoint, que tem a seguinte aparência:

    app.get("/", (request, response) => {
        response.json([
            {
                "action": "connect",
                "eventUrl": [`${process.env.EVENTS_URL}`],
                "from": `${process.env.FROM_NUMBER}`,
                "endpoint": [
                    {
                        "type": "phone",
                        "number": `${process.env.TO_NUMBER}`
                    }
                ]
            }
        ])
    })

A rota definida acima retorna um NCCO (Objeto de Controle de Chamada), um arquivo JSON usado para fornecer instruções à API da Vonage quando alguém atende uma chamada recebida ou efetuada. Um NCCO pode conter diversos tipos de ações. Você pode ver as ações disponíveis em nossa documentação para desenvolvedores.

Nosso servidor proxy requer uma única ação connect. Com isso, podemos redirecionar nossa chamada recebida para diversos destinos diferentes: outro número de telefone, um WebSocket ou até mesmo um URI SIP. No exemplo acima, nos conectamos a outro número de telefone.

Um dos requisitos da connect ação é que o process.env.FROM_NUMBER seja seja um número virtual da Vonage. Esse número virtual é o que o destinatário da chamada vê. Você pode usar o mesmo número virtual que alugou acima; assim, tanto quem liga quanto quem recebe a chamada veem o mesmo número virtual, mantendo seus números em sigilo.

Quando você fizer um remix do aplicativo, é preciso configurar o FROM_NUMBER e TO_NUMBER no seu arquivo do Glitch .env . Esses números devem estar no formato E.164. Não estamos usando o EVENTS_URL neste exemplo, mas se você estiver interessado em saber como acompanhar as métricas de suas chamadas de voz, assista ao nosso webinar “Acompanhamento de campanhas de chamadas de voz recebidas com números virtuais da Vonage e Mixpanel” ou ler a postagem do blog que o acompanha.

Conectando nosso número virtual ao nosso servidor proxy

Para vincular nosso número virtual ao nosso servidor proxy no Glitch, precisamos primeiro criar um Vonage Voice Application. Você pode criar um aplicativo de voz e vinculá-lo ao seu número usando o painel do Vonageou por meio da da CLI da Vonage.

vonage apps:create "Application name" --voice_answer_url= --voice_event_url= vonage apps:link --number=

A Visão geral do aplicativo e o README da CLI da Vonage contêm mais informações sobre apps:create e os argumentos esperados.

Para onde vamos agora?

Leia o "comunicação de voz privada" para ver um exemplo mais detalhado. Para um exemplo de servidor proxy em Kotlin, assista ao meu webinar. Como alternativa, para obter mais informações sobre o que mais você pode fazer com as as Voice APIs da Vonage , confira nossos casos de uso de exemplo ou leia a documentação para desenvolvedores.

Compartilhar:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Aaron BassettEx-funcionários da Vonage

Aaron era um defensor de desenvolvedores na Nexmo. Engenheiro de software experiente e aspirante a artista digital, Aaron costuma ser visto criando coisas com código ou com eletrônica; às vezes, os dois. Geralmente, dá para perceber quando ele está trabalhando em algo novo pelo cheiro de componentes queimando no ar.