Einfache IVR (Interaktive Sprachausgabe)
Um den Benutzern Selbstbedienungsfunktionen zur Verfügung zu stellen oder ihnen zu helfen, schneller relevante Unterstützung zu erhalten, möchten Sie vielleicht eine Interactive Voice Response (IVR)-Anwendung erstellen. Diese Anleitung zeigt, wie man eine einfache IVR mit Tastatureingabe erstellt (DTMF). Für fortgeschrittene IVR, die Spracheingabe nutzen (Sprache-zu-Text), lesen Sie den nächsten Leitfaden, Erweiterte IVR.
Mit Vonage AI Studio können Sie auch ohne Programmierung eine einfache oder fortgeschrittene IVR erstellen, indem Sie einen visuellen Anrufablauf und TTS-, STT- und NLU-Funktionen erstellen. Prüfen Sie die AI Studio Dokumentation um mehr zu erfahren.
Schnellstart
Sie können den Code Hub verwenden Interaktive Sprachausgabe (IVR) Vorlage, um die Beispielanwendung zum Laufen zu bringen, ohne sich um die Installation von Tools und Abhängigkeiten kümmern zu müssen. Sehen Sie sich dieses kurzes Video an, um zu erfahren, wie es geht, und folgen Sie den Anweisungen der Code Hub-Vorlage für einen schnellen Start.
Einrichten für IVR
Um diesen Leitfaden durcharbeiten zu können, benötigen Sie:
- A Vonage-Konto.
- Die Vonage CLI installiert und eingerichtet werden.
- Ein öffentlich zugänglicher Webserver, damit Vonage Webhook-Anfragen an Ihre Anwendung stellen kann, oder für die lokale Entwicklung empfehlen wir empfehlen wir ngrok.
- Die Codeklonen Sie entweder das Repository oder laden Sie die entpacken Sie die Zip-Datei auf Ihren Rechner.
- Lernen Sie, wie man
ngrok
Abhängigkeiten installieren
Installieren Sie die express Web Application Framework und body-parser Pakete:
Erstellen einer Sprachanwendung
Verwenden Sie die CLI, um eine Voice API-Anwendung mit dem
Webhaken der für die Beantwortung eines Anrufs
Anruf auf Ihrer Vonage-Nummer (/webhooks/voice/answer) und die Protokollierung von Anrufereignissen (/webhooks/voice/event), beziehungsweise.
Diese Webhooks müssen von den Vonage-Servern aus zugänglich sein, daher werden Sie in dieser Anleitung die ngrok um Ihre lokale Entwicklungsumgebung
Entwicklungsumgebung mit dem öffentlichen Internet zu verbinden. Dieser Artikel erklärt, wie man installiert
und ausführen ngrok und konfigurieren Sie Vonage für das Senden von Anfragen.
Wenn Sie noch keine Anwendung haben, können Sie eine mit Hilfe der CLI 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
Der Befehl gibt eine Anwendungs-ID zurück (die Sie sich notieren sollten) und Ihre privaten Schlüsselinformationen (die Sie für die Zwecke dieses Leitfadens getrost ignorieren können).
ausführen. ngrok mit dem folgenden Befehl:
Notieren Sie sich den temporären Hostnamen, den ngrok zur Verfügung stellt, und verwenden Sie es anstelle von example.com in folgendem
Befehl:
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
Eine Telefonnummer kaufen
Um eingehende Anrufe zu Ihrer Anwendung zu bearbeiten, benötigen Sie eine Number von Vonage. Wenn Sie bereits eine Nummer haben, die Sie verwenden möchten, springen Sie zum nächsten Abschnitt, um die vorhandene Nummer mit Ihrer Anwendung zu verknüpfen.
Sie können die Vonage CLI um die Rufnummer zu kaufen:
Suche nach einer Number
Sie können eine Nummer über die Vonage CLI erwerben. Der folgende Befehl sucht nach einer gekauften Nummer (geben Sie einen alternativen zweistelligen Ländercode zum Kauf einer Nummer in einem anderen Land).
vonage numbers search US
✅ Searching for numbers
There is 1 number available for purchase in United States
Number Type Features Monthly Cost Setup Cost
----------- ------ --------------- ------------ ----------
16127779311 Mobile MMS, SMS, VOICE €0.90 €0.00
Use vonage numbers buy to purchase.
Eine Nummer kaufen
Wenn Sie eine Nummer gefunden haben, mit der Sie zufrieden sind, können Sie diese über die vonage numbers buy Befehl:
vonage numbers buy US 16127779311
✅ Searching for numbers
Are you sure you want to purchase the number 16127779311 for €0.90? [y/n] y
✅ Purchasing number
Number 16127779311 purchased
Number: 16127779311
Country: 🇺🇸 United States
Type: Mobile
Features: MMS, SMS, VOICE
Monthly Cost: €0.90
Setup Cost: €0.00
Linked Application ID: Not linked to any application
Voice Callback: Not Set
Voice Callback Value: Not Set
Voice Status Callback: Not Set
Verknüpfung der Nummer mit Ihrer Bewerbung
Sobald Sie eine geeignete Nummer haben, können Sie diese mit Ihrer Vonage-Anwendung verknüpfen. Führen Sie dazu folgenden Befehl aus
vonage apps numbers link 00000000-0000-0000-0000-000000000000 16127779311
✅ Fetching Application
Fetching Owned numbers [===============================================] 1/1 100%
Number linked
Number: 16127779311
Country: 🇺🇸 United States
Type: Toll-free
Features: MMS, SMS, VOICE
Monthly Cost: Not Set
Setup Cost: Not Set
Linked Application ID: 00000000-0000-0000-0000-000000000000
Voice Callback: app
Voice Callback Value: 00000000-0000-0000-0000-000000000000
Voice Status Callback: Not Set
Die Parameter sind die Telefonnummer, die Sie verwenden möchten, und die UUID, die zurückgegeben wird, wenn Sie eine Sprachanwendung erstellt früher.
Eingehende Anrufe abwickeln
Wenn Vonage einen eingehenden Anruf an Ihre Vonage-Nummer erhält, stellt es eine Anfrage an den Ereignis-Webhook-Endpunkt, den Sie wenn Sie eine Sprachanwendung erstellt. Ein Webhook wird auch jedes Mal gesendet, wenn DTMF Eingabe wird vom Benutzer gesammelt.
YOUR_URL/answer Route sollte eine HTTP
Ihr NCCO sollte die talk Aktion zur Begrüßung des Anrufers und die input um das Abhören von DTMF-Befehlen zu starten:
app.get('/webhooks/voice/answer', (req, res) => {
const ncco = [
{
action: 'talk',
bargeIn: true,
text: 'Hello. Please enter a digit.'
},
{
action: 'input',
dtmf: {
maxDigits: 1,
timeout: 10
}
}
];
res.json(ncco)
})
Ereignisse handhaben
Vonage stellt jedes Mal eine
input hier: app.post('/webhooks/voice/event', (req, res) => {
if (req.body.dtmf) {
const ncco = [{
action: 'talk',
text: `You pressed ${req.body.dtmf.digits}`
},
{
action: 'input',
dtmf: {
maxDigits: 1,
timeout: 10
}
}];
res.json(ncco);
return
}
console.log(req.body);
res.send(200);
});
Erstellen Sie Ihren Node.js-Server
Schreiben Sie schließlich den Code, um Ihren Node.js-Server zu instanziieren:
const port = 3000
app.listen(port, () => console.log(`Listening on port ${port}`))
Testen Sie Ihre Applikation
- Führen Sie Ihre Node.js-Anwendung aus, indem Sie den folgenden Befehl ausführen:
- Rufen Sie Ihre Vonage-Nummer an und hören Sie sich die Begrüßungsansage an.
- Drücken Sie eine Ziffer auf dem Tastenfeld.
- Hören Sie die Ziffer, die Sie zurückgedrückt haben.
Nächste Schritte
Hier finden Sie einige weitere Ressourcen, die für die Erstellung dieser Art von Anwendungen nützlich sein könnten:
- Interaktive Sprachausgabe (IVR) Code Hub-Vorlage.
- Text-To-Speech-Leitfaden - enthält die verschiedenen angebotenen Stimmen und Informationen über SSML (Speech Synthesis Markup Language) zur besseren Steuerung der Sprachausgabe.
- Erweiterte IVR-Anleitung um zu lernen, wie man Spracheingaben erfasst.
- AI Studio Dokumentation um zu lernen, wie man Bots mit einem visuellen Call-Flow-Editor erstellt.