Caminho para uma extensão VBC

Este trecho de código mostra como conectar uma chamada recebida em um Smart Number a um ramal.

Exemplo

O exemplo a seguir mostra como receber a chamada recebida e encaminhá-la imediatamente para o ramal do VBC de sua escolha.

Isso é feito com um connect ação no Objeto de Controle de Chamadas (NCCO) da Plataforma de API da Vonage. Crie um endpoint com um tipo de vbc e o extension para quem você deseja transferir a chamada.

Pré-requisitos

Criar um aplicativo

Acesse o Applicationsna página do Painel e definir um Name para a sua inscrição.

An example of brand new application

Não se esqueça de clicar no Gerar chave pública e chave privada botão e mantenha o arquivo private.key por aí.

Em seguida, habilite o Voz recurso. Por enquanto, deixe tudo com as configurações padrão.

An example of enabling Voice capabilities

Por fim, clique em Criar um novo pedido na parte inferior da página.

Confira Introdução ao Vonage CLI para obter mais informações sobre como instalar e configurar a CLI.

Use o seguinte comando para criar um aplicativo da Vonage:

vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application'

✅ Creating Application
Saving private key ... Done!
Application created

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
  None Enabled
vonage apps create 'Your application' ✅ Creating Application Saving private key ... Done! Application created Name: Your application Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: None Enabled

Depois de baixar o aplicativo, você precisa adicionar o voice recursos; certifique-se de substituir as URLs dos webhooks pelas suas próprias:

vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice `
  --voice-answer-url='https://example.com/webhooks/voice/answer' `
  --voice-event-url='https://example.com/webhooks/voice/event' `
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice ^
  --voice-answer-url='https://example.com/webhooks/voice/answer' ^
  --voice-event-url='https://example.com/webhooks/voice/event' ^
  --voice-fallback-url='https://example.com/webhooks/voice/fallback'
  
✅ Fetching Application
✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000

Name: Your application
Application ID: 00000000-0000-0000-0000-000000000000
Improve AI: Off
Private/Public Key: Set

Capabilities:
 VOICE:
    Uses Signed callbacks: On
    Conversation TTL: 41 hours
    Leg Persistence Time: 6 days
    Event URL: [POST] https://example.com/webhooks/voice/event
    Answer URL: [POST] https://example.com/webhooks/voice/answer
    Fallback URL: [POST] https://example.com/webhooks/voice/fallback
vonage apps capabilities update 00000000-0000-0000-0000-000000000000 voice \ --voice-answer-url='https://example.com/webhooks/voice/answer' \ --voice-event-url='https://example.com/webhooks/voice/event' \ --voice-fallback-url='https://example.com/webhooks/voice/fallback' ✅ Fetching Application ✅ Adding voice capability to application 00000000-0000-0000-0000-000000000000 Name: Your application Application ID: 00000000-0000-0000-0000-000000000000 Improve AI: Off Private/Public Key: Set Capabilities: VOICE: Uses Signed callbacks: On Conversation TTL: 41 hours Leg Persistence Time: 6 days Event URL: [POST] https://example.com/webhooks/voice/event Answer URL: [POST] https://example.com/webhooks/voice/answer Fallback URL: [POST] https://example.com/webhooks/voice/fallback

O aplicativo é então criado e conta com os recursos necessários. A criação de um aplicativo e a adição de recursos ao mesmo são abordadas em detalhes no Documentação da inscrição.

Instalar dependências

npm install express

Inicialize suas dependências

Crie um arquivo chamado connect-to-extension.js e adicione o seguinte código:

const app = require('express')()

Escreva o código

Adicione o seguinte a connect-to-extension.js:

const onInboundCall = (request, response) => {
  const ncco = [{
    action: 'connect',
    endpoint: [{
      type: 'vbc',
      extension: VBC_EXTENSION
    }]
  }]

  response.json(ncco)
}

app.get('/webhooks/answer', onInboundCall)

app.listen(3000)

Experimente

Salve o arquivo no seu computador e execute-o usando o seguinte comando:

node connect-to-extension.js

Quando você ligar para o seu Smart Number, a chamada deverá ser imediatamente encaminhada para o número de ramal que você especificou.