https://d226lax1qjow5r.cloudfront.net/blog/blogposts/build-high-availability-voice-api-applications/blog_high-availability-apps_1200x600.jpg

Erstellen von hochverfügbaren Voice API-Applikationen

Zuletzt aktualisiert am December 9, 2020

Lesedauer: 3 Minuten

Sie können die zuverlässigste Infrastruktur und die besten Programmierpraktiken verwenden, aber das garantiert immer noch keine 100-prozentige Betriebszeit für Ihren Server. Um Ihren Kunden weiterhin die bestmögliche Erfahrung zu bieten, ist es immer gut, eine Failover-Strategie in Betracht zu ziehen. Indem Sie einige der Voice API-Funktionen nutzen, die Vonage Ihnen zur Verfügung stellt, können Sie die Verfügbarkeit Ihrer Dienste leicht verbessern.

Fallback-URL

Wenn ein Problem mit der Hardware oder Software auftritt, die Ihre Anwendung bedient, und Ihre Antwort-/Ereignis-URL nicht mehr erreichbar ist, versucht Vonage, die Anfrage an die Fallback-URL zu senden (falls Sie eine festgelegt haben). Der Anforderungskörper enthält dieselben Daten wie die ursprüngliche Anforderung und zusätzliche Kontextinformationen, einschließlich der ursprünglichen URL und des Grundes für das Scheitern der ursprünglichen Anforderung.

Diese Fallback-URL kann auf Ihr sekundäres Rechenzentrum oder auf eine statische JSON-Datei mit NCCO Anweisungen für das Ausweichszenario, das sein könnte Verbindung zu direkt mit einer PSTN-Nummer (oder einem SIP-Endpunkt) verbinden oder eine Ansage abspielen, entweder Text-in-Sprache oder voraufgezeichnetes Audio.

Natürlich können Sie auch jedes andere Failover-Szenario in Betracht ziehen - mit der Leistungsfähigkeit von NCCO können Sie praktisch alles implementieren.

Konfigurierbare Timeouts

Bevor Vonage versucht, Ihre Ersatz-URL zu verwenden, wird die Plattform die Anfrage an Ihre ursprüngliche Antwort-/Ereignis-URL wiederholen. Die Wiederholung erfolgt standardmäßig nach einer Sekunde, und wenn diese Anfrage ebenfalls nach einer Sekunde fehlschlägt, wechselt die Plattform zur Fallback-URL. Das bedeutet, dass der Benutzer insgesamt zwei Sekunden warten muss. Wenn Sie wissen, dass Ihr System normalerweise viel schneller reagiert und Sie die Zeit bis zum Beginn des Failover verkürzen möchten, können Sie eigene Werte festlegen für Ihre Antwort-, Ereignis- und Fallback-URLs festlegen.

WebSocket Verbindungstrennung

Angenommen, Sie verwenden WebSockets, um Ihren Kunden mit einer KI-Engine für einen Voice-Bot oder ein beliebiges Medienerfassungsszenario zu verbinden. In diesem Fall können Sie auch hier einige Ausweichoptionen hinzufügen.

Wenn die WebSocket-Verbindung ungewollt geschlossen wird, erhalten Sie ein spezifisches Trennungsereignis Callback-Anforderung an Ihre Anwendung. Diese Anfrage erwartet ein NCCO in der Antwort, so dass Sie Ihren Dienst wieder verbinden oder Fallback-Aktionen durchführen können, wie z. B. den Benutzer an einen menschlichen Agenten weiterleiten oder eine Voicemail-Nachricht aufzeichnen.

Der Ereignis-Callback unterstützt die oben erwähnte Fallback-URL. Selbst wenn Sie also sowohl Ihre Voice-App als auch die WebSocket-Verbindung zum selben Server oder Datenzentrum haben, bei dem es Probleme mit der Verfügbarkeit gibt, können Sie Ihren Nutzern ein Fallback-Szenario anbieten, damit sie keine Stille hören oder der Anruf plötzlich abgebrochen wird.

Signierte Rückrufe

Um Ihren Dienst vor potenziell bösartigen Anfragen zu schützen, können Sie eine Firewall einrichten und unsere veröffentlichten IP-Bereiche in die Erlaubnisliste aufnehmen. Das ist eine praktikable Lösung. Sie ist jedoch möglicherweise nicht sehr bequem und kann zu Stabilitätsproblemen führen, wenn Sie die Benachrichtigung über das Hinzufügen neuer Bereiche zur Vonage-Infrastruktur verpasst haben.

Eine alternative Lösung besteht darin, die Signatur der eingehenden Anfragen zu überprüfen, um sicherzustellen, dass sie von Vonage speziell an Ihre Anwendung gesendet werden. Vonage unterstützt JWT in Messages API Rückrufenund jetzt wurde der gleiche Ansatz für Voice Rückrufe eingeführt.

Diese Funktion befindet sich in der Developer Preview-Phase und hat während der Entwicklung einige bekannte Einschränkungen (siehe Signierte Webhooks Leitfaden für Details); dennoch möchten wir Sie ermutigen, auszuprobieren, wie es zu Ihrer Infrastruktur oder Ihren spezifischen Anwendungsfällen passt.

Zusammenfassung

Das Kundenerlebnis ist wohl das Wichtigste in der Softwarebranche, wenn nicht in jeder Branche. Wie Sie gesehen haben, ist es mit der Voice API von Vonage kein allzu großer Aufwand, Ihren Service im Falle eines technischen Sturms zu schützen, und Ihre Kunden werden nicht durch die vorübergehende Nichtverfügbarkeit oder Fehlfunktionen Ihrer Anwendung enttäuscht.

Bitte teilen Sie Ihre Gedanken zu den Herausforderungen, denen Sie in Ihrer Praxis gegenüberstehen, oder sonstiges Feedback in unserem Slack-Kanal der Gemeinschaft. Sollten Sie Schwierigkeiten bei der Nutzung der Vonage API haben, können Sie sich gerne an unser Support-Team wenden. Bleiben Sie sicher und bleiben Sie auf dem Laufenden!

Weitere Lektüre

Teilen Sie:

https://a.storyblok.com/f/270183/250x250/a153431b0e/victorshisterov.png
Victor ShisterovVoice API Produktmanager

Victor ist Produktmanager für Vonage Voice API mit sieben Jahren Erfahrung in der Telekommunikationsbranche und Softwareentwickler seit seiner Kindheit. Seine Leidenschaft ist es, technisch komplexe Dinge einfach zu verstehen und zu nutzen, indem er leistungsstarke APIs selbstbeschreibend und konsistent hält. Wenn er nicht gerade erfindet und programmiert, baut er maßstabsgetreue Modelle und spielt Volksmusikinstrumente.