Route zu einer VBC-Erweiterung

Dieses Codeschnipsel zeigt, wie man einen eingehenden Anruf auf einer Smart Number mit einer Nebenstelle verbindet.

Beispiel

Das folgende Beispiel zeigt, wie Sie einen eingehenden Anruf entgegennehmen und sofort an die gewählte VBC-Nebenstelle weiterleiten.

Sie erreichen dies mit einer connect Aktion im Vonage API Platform Call Control Object (NCCO). Erstellen Sie eine endpoint mit einem Typ von vbc und die extension an die Sie den Anruf weiterleiten möchten.

Voraussetzungen

Erstellen einer Applikation

Gehen Sie zum ApplikationSeite auf dem Dashboard, und definieren Sie eine Name für Ihre Bewerbung.

An example of brand new application

Achten Sie darauf, dass Sie auf das Öffentlichen und privaten Schlüssel generieren und behalten Sie die Datei private.key herum.

Aktivieren Sie dann die Stimme Fähigkeit. Lassen Sie vorerst alles in der Standardeinstellung.

An example of enabling Voice capabilities

Klicken Sie schließlich auf Neue Anwendung generieren am Ende der Seite.

Auschecken Erste Schritte mit Vonage CLI für weitere Informationen über die Installation und Konfiguration der CLI.

Verwenden Sie den folgenden Befehl, um eine Vonage-Anwendung zu erstellen:

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

Sobald Sie die Anwendung haben, müssen Sie die voice Fähigkeiten; stellen Sie sicher, dass Sie die Webhook-URLs durch Ihre eigenen ersetzen:

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

Die Anwendung wird dann erstellt und verfügt über die erforderlichen Funktionen. Das Erstellen einer Anwendung und das Hinzufügen von Anwendungsfähigkeiten wird im Detail in der Dokumentation der Applications.

Abhängigkeiten installieren

npm install express

Initialisieren Sie Ihre Abhängigkeiten

Erstellen Sie eine Datei mit dem Namen connect-to-extension.js und fügen Sie den folgenden Code hinzu:

const app = require('express')()

Schreiben Sie den Code

Fügen Sie Folgendes hinzu 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)

Probieren Sie es aus

Speichern Sie die Datei auf Ihrem Rechner und führen Sie sie mit dem folgenden Befehl aus:

node connect-to-extension.js

Wenn Sie Ihre Smart Number anrufen, sollte sie den Anruf sofort an die von Ihnen angegebene Durchwahlnummer weiterleiten.