Ruta a una extensión VBC

Este fragmento de código demuestra cómo conectar una llamada entrante en un Smart Number a una extensión.

Ejemplo

El siguiente ejemplo muestra cómo recibir la llamada entrante y desviarla inmediatamente a la extensión VBC elegida.

Esto se consigue con un connect acción en el objeto de control de llamadas de la plataforma API de Vonage (NCCO). Crea un endpoint con un tipo de vbc y el extension al que desea desviar la llamada.

Requisitos previos

Crear una aplicación

Ir a la Aplicacionesen el cuadro de mandos, y defina una página Name para su solicitud.

An example of brand new application

Asegúrese de hacer clic en el botón Generar clave pública y privada y guarde el archivo private.key alrededor.

A continuación, active el Voz capacidad. De momento, déjalo todo por defecto.

An example of enabling Voice capabilities

Por último, haga clic en Generar nueva aplicación en la parte inferior de la página.

Echa un vistazo Primeros pasos con la CLI de Vonage para obtener más información sobre cómo instalar y configurar la CLI.

Utiliza el siguiente comando para crear una aplicación de 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

Una vez que tenga la aplicación, tendrá que añadir el archivo voice asegúrese de sustituir las URL de los webhooks por las suyas propias:

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

A continuación, la aplicación se crea y dispone de las capacidades necesarias. La creación de una aplicación y la adición de capacidades de aplicación se tratan en detalle en la sección Documentación de las aplicaciones.

Instalar dependencias

npm install express

Inicialice sus dependencias

Cree un archivo llamado connect-to-extension.js y añade el siguiente código:

const app = require('express')()

Escriba el código

Añada lo siguiente 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)

Pruébalo

Guarde el archivo en su máquina y ejecútelo utilizando el siguiente comando:

node connect-to-extension.js

Cuando llame a su número inteligente, éste desviará inmediatamente la llamada al número de extensión que haya especificado.