Anruffluss

Übersicht

Jede Sprachinteraktion beginnt mit einem Anruf. Dieser Leitfaden beschreibt, wie die Anrufe in verschiedenen Szenarien verarbeitet werden.

Eingehend Anrufe an die Vonage-Plattform werden auf eine der folgenden Arten getätigt:

  • zu einer Vonage-Nummer von einem normalen Telefon aus,
  • zu einer SIP-Domäne die der Anwendung von der Telefonanlage oder jeder SIP-fähigen Software/Hardware zugewiesen werden,
  • aus einer Client-Anwendung über die Client SDK.

Ausgehend von Anrufe sind Anrufe, die von der Vonage-Plattform an

  • eine reguläre Rufnummer,
  • einen SIP-Endpunkt,
  • Client-Anwendung, oder
  • WebSocket Server.

Ausgehende Anrufe werden in der Regel als Reaktion auf eine über die REST-API gestellte Anfrage zur Erstellung eines neuen Anrufs eingeleitet. Ausgehende Anrufe können auch aus dem Anruffluss eines bestehenden Anrufs (entweder eingehend oder ausgehend) unter Verwendung der connect Aktion innerhalb der NCCO. Dieses Szenario wird im Allgemeinen für die Weiterleitung von Anrufen verwendet.

Es gibt zwei verschiedene Arten von Anrufen im Hinblick auf den Anrufablauf:

  • "Skripted"-Anrufwenn der Ablauf durch eine Folge von Frage-Antwort-Schritten (Aktionen) bestimmt wird;
  • Live-Konversation: die zwei oder mehr Teilnehmer eines Gesprächs miteinander verbindet.

Siehe die beiden unten beschriebenen Concepts, einschließlich Vermittlung nahtlos zwischen dem einen und dem anderen.

Skriptgesteuerter Anruf

Sowohl eingehende als auch ausgehende Anrufe folgen zunächst demselben Anruffluss, sobald sie angenommen wurden. Dieser Anrufablauf wird durch einen NCCO gesteuert. Ein NCCO ist ein Skript mit Aktionen, die im Kontext des Anrufs ausgeführt werden. Die Aktionen werden in der Reihenfolge ausgeführt, in der sie im Skript erscheinen, wobei die nächste Aktion beginnt, wenn die vorherige Aktion abgeschlossen ist. Weitere Informationen über NCCOs finden Sie in der NCCO-Referenz.

Wenn die Vonage API-Plattform einen Anruf auf Ihrer Vonage-Nummer erhält, stellt sie eine HTTP-Anfrage an die answer_url zur Verfügung gestellt. Bei eingehenden Anrufen wird die answer_url ist in Ihrem Sprachanwendung. Bei ausgehenden Anrufen geben Sie eine answer_url in der API-Anforderung, die den Aufruf erzeugt.

ApplicationVonageUserApplicationVonageUserinbound callanswer URLNCCONCCO action

Inbound call

Sie können Ihren NCCO als Teil der Anfrage, die Sie zur Erstellung eines Anrufs senden, angeben, anstatt eine answer_url. Dies geschieht durch die Bereitstellung einer ncco Attribut im NCCO-Objekt Ihrer Anfrage.

ApplicationVonageUserApplicationVonageUserNCCOPOST /callsoutbound callNCCO action

Outbound call with embedded NCCO

Während des Anrufs stellt Vonage Rückrufanfragen an die Anwendung auf der event_urldie in der Anwendungskonfiguration oder in der NCCO-Aktion festgelegt sind, falls eine solche im NCCO vorgesehen ist. Es gibt zwei Arten von Rückrufen:

  • Benachrichtigungen, z. B. bei einer Änderung des Anrufstatus;
  • Anleitungen, die zum Beispiel auf einer input oder notify Callback - für diese Ereignisse erwartet Vonage, dass die Anwendung einen neuen NCCO zur Verarbeitung bereitstellt, der die Implementierung verschiedener logischer Anrufabläufe ermöglicht.

Erfolgreich aufgebaute Anrufe durchlaufen die folgenden Zustände:

  • started
  • ringing
  • answered
  • completed

Die Vonage-Plattform sendet für jeden Status entsprechende Ereignis-Callbacks. Weitere Details finden Sie in der Webhooks-Referenz.

NCCO und Webhooks ermöglichen das Skripting des Anrufs als eine Reihe von Nachrichten und Fragen an den Benutzer, was anwendbar ist für Sprachbenachrichtigungen, IVR, Sprachassistenten und andere Szenarien mit einer vordefinierten Liste von möglichen Ereignissen. Mit einem NCCO kann die Anwendung die Vonage-Plattform anweisen, die Audionachricht abzuspielen (Text-to-Speech oder Vorbespielte) und erwarten dann Benutzereingaben entweder mit DTMF oder Rede. Wenn der Benutzer eine Menüauswahl getroffen hat, wird Ihre Anwendung benachrichtigt und kann den Anruf entsprechend weiterleiten, indem sie neue Anrufanweisungen in Form eines NCCO liefert.

ApplicationVonageUserApplicationVonageUsertalk...inputinbound callanswer URLNCCONCCO action 1: talkNCCO action N: inputinputevent URLanalyse inputNCCONCCO action

Typical IVR flow

Live-Konversation

In einigen Szenarien, zum Beispiel, wenn ein private Sprachkommunikation Anwendungsfall möchten Sie zwei oder mehr Teilnehmer miteinander verbinden, um ein Live-Gespräch zu führen. Jeder Anruf, ob eingehend oder ausgehend, wird automatisch im Hintergrund zu dem neuen Gespräch hinzugefügt. Um ihn mit einem anderen Anruf mit einem NCCO zu verbinden, kann die Anwendung entweder

  • Erstellen Sie einen neuen ausgehenden Anruf mit der connect Aktion - sie wird automatisch mit der gleichen Unterhaltung verbunden;

  • Verschieben Sie den Anruf in ein bestehendes (oder neues) benanntes Gespräch mit der Taste conversation Aktion.

Während des Gesprächs folgt der Anruf nicht mehr einer Abfolge von Aktionen, sondern es handelt sich um eine Live-Interaktion zwischen zwei oder mehr Mitgliedern. Um den Anruf während des Gesprächs zu steuern, z. B. um ein Mitglied stumm zu schalten, sollte die Anwendung die Funktion REST-API.

User 2ApplicationVonageUser 1User 2ApplicationVonageUser 1connectConversation startsinbound callanswer URLNCCOoutbound callPUT /calls/idmodify call

Live conversation flow

Mit einer Folge von connect Aktionen kann die Anwendung weitere Mitglieder zur Unterhaltung hinzufügen (bis zu 50 Gesprächsteilnehmer insgesamt).

Da jede Art von Sprachendpunkt in der Datenbank verwendet werden kann connect Aktion ist das zweite Mitglied nicht notwendigerweise ein Mensch: Es könnte ein Sprachroboter sein, der mit dem Nutzer über die Medien spricht, die durch die WebSocket Verbindung.

Umschalten zwischen geskriptetem Anruf und Live-Konversation

IVR bietet in der Regel eine oder mehrere Optionen, um mit einem Live-Agenten, Vertriebs- oder Supportmitarbeiter zu sprechen. In einigen Fällen kann ein Live-Gespräch auch mit einigen geskripteten Teilen enden. Zum Beispiel bei einer Umfrage zur Kundenzufriedenheit. Die Voice API ermöglicht den Wechsel von einer Interaktionsform zu einer anderen, so dass der Anruffluss aus drei (oder in komplexen Fällen mehr) Teilen bestehen kann:

  • Initial IVR, gesteuert mit NCCO und Webhooks; endet mit connect oder conversation Aktion →.

  • Live-Gespräch mit einer Person (oder Mehrparteienkonferenz), gesteuert mit REST API; endet mit PUT /calls/{id} REST-API-Aufruf mit transfer Aktion →.

  • Die Erhebung, die mit NCCO

AgentApplicationVonageUserAgentApplicationVonageUsertalkinputconversationconversationConversationtransfer: NCCOtalkinputtalkinbound callanswer URLNCCOquestionanswerinput callbackNCCOPOST /callsoutbound callhang upcompletedPUT /calls/idquestionanswerinput callbacksave resultNCCOmessageend call

Switching from scripted call to live conversation and back

Das oben beschriebene Szenario ist ein typisches Beispiel; die Anwendung kann jedoch je nach Anwendungsfall eine beliebige Kombination aus geskripteten und Live-Teilen enthalten. Siehe die Contact Center Augmentation-Tutorial um zu erfahren, wie Sie das beschriebene Szenario Schritt für Schritt umsetzen können.