Vielleicht haben Sie schon von der Funktion zur AnrufĂŒberprĂŒfung gehört oder gelesen, die Google fĂŒr seine Pixel-Telefone in den USA veröffentlicht hat. Die Idee ist groĂartig â wenn ein eingehender Anruf eingeht, beginnt der virtuelle Assistent zu kommunizieren, wĂ€hrend Sie dieses GesprĂ€ch in Form eines Chats sehen und jederzeit anstelle des Assistenten sprechen können. Dies ist heutzutage Ă€uĂerst nĂŒtzlich, wo fast , aber gleichzeitig möchten Sie keine wichtigen Anrufe von jemandem, der nicht in Ihrem Kontaktverzeichnis ist, verpassen. Der einzige Haken â diese FunktionalitĂ€t ist nur auf dem Pixel-Telefon und nur in den USA verfĂŒgbar. Nun, es gibt Hindernisse, um sie zu ĂŒberwinden, oder? Deshalb haben wir beschlossen, zu erklĂ€ren, wie Sie eine Ă€hnliche Lösung mit Voximplant und Dialogflow erstellen können. Bitte lesen Sie weiter.
Architektur
Lassen Sie uns keine Zeit damit verschwenden, zu erklĂ€ren, wie Voximplant und Dialogflow funktionieren; wenn Sie möchten, finden Sie leicht Informationen im Internet. Lassen Sie uns also zuerst das Konzept unserer AnrufĂŒberprĂŒfung kennenlernen.
Angenommen, Sie haben bereits eine Telefonnummer, die Sie tĂ€glich verwenden und auf die Sie wichtige Anrufe erhalten. In diesem Fall benötigen wir eine zweite Nummer, die ĂŒberall angegeben wird â in E-Mails, auf Visitenkarten, wenn Sie Online-Formulare ausfĂŒllen usw. Diese Nummer wird mit dem System zur Verarbeitung natĂŒrlicher Sprache (in unserem Fall Dialogflow) verbunden und leitet Anrufe nur dann an Ihre Hauptnummer weiter, wenn Sie dies wĂŒnschen. In Schemaform sieht das so aus (das Bild ist anklickbar):
Mit dem VerstĂ€ndnis der Architektur können wir mit der Implementierung beginnen, aber mit einer EinschrĂ€nkung: Wir werden kein mobiles App erstellen, um den Dialog zwischen Dialogflow und dem eingehenden Anrufer zu zeigen, wir werden eine einfache Web-Anwendung mit der Darstellung des Dialogs erstellen, um das Prinzip der AnrufĂŒberprĂŒfung anschaulich zu demonstrieren. In dieser Anwendung wird es eine Taste "Intervene" geben, mit der Voximplant den eingehenden Anrufer mit dem abgehenden Anrufer verbindet, wenn dieser selbst sprechen möchte.
Implementierung
Melden Sie sich in an und erstellen Sie eine neue Anwendung, zum Beispiel "screening":

Ăffnen Sie und kaufen Sie eine Nummer, die als Vermittler fungieren wird:

Gehen Sie weiter zur Anwendung Screening, im Abschnitt âNummernâ, Tab âVerfĂŒgbarâ. Hier sehen Sie die gerade gekaufte Nummer. Binden Sie sie mit der SchaltflĂ€che âAnheftenâ an die Anwendung â lassen Sie im sich öffnenden Fenster alle Werte auf Standard und klicken Sie auf âAnheftenâ.
WĂ€hrend Sie sich in der Anwendung befinden, gehen Sie zum Tab âSkripteâ und erstellen Sie ein Skript myscreening â in diesem verwenden wir den Code aus dem Artikel . Dabei wird der Code leicht angepasst, da wir den Dialog zwischen dem Anrufenden und dem Assistenten âsehenâ mĂŒssen; den gesamten Code können Sie .
ACHTUNG: Sie mĂŒssen den Wert der Variablen server auf den Namen Ihres ngrok-Servers Ă€ndern (Details zu ngrok folgen gleich). Setzen Sie auĂerdem Ihre Werte in Zeile 31 ein, wobei Ihre Telefonnummer Ihre Hauptnummer ist (zum Beispiel Ihre persönliche Mobilnummer), und die Voximplantnummer die Nummer ist, die Sie gerade gekauft haben.
outbound_call = VoxEngine.callPSTN(âIHRE TELEFONNUMMERâ, âVOXIMPLANTNUMMERâ)Der Anruf callPSTN erfolgt in dem Moment, in dem Sie entscheiden, in das GesprĂ€ch einzutreten und persönlich mit dem eingehenden Anrufer zu sprechen.
Nachdem Sie das Skript gespeichert haben, mĂŒssen Sie es mit der gekauften Nummer verbinden. Gehen Sie dazu, wĂ€hrend Sie sich immer noch in Ihrer Anwendung befinden, zum Tab âRoutingâ, um eine neue Regel zu erstellen â die SchaltflĂ€che âNeue Regelâ befindet sich in der oberen rechten Ecke. Geben Sie einen Namen an (zum Beispiel allcalls), lassen Sie die Standardmaske (.* â was bedeutet, dass alle eingehenden Anrufe von den fĂŒr diese Regel gewĂ€hlten Skripten verarbeitet werden) und geben Sie das Skript myscreening an.

Speichern Sie die Regel.
Von nun an ist die Telefonnummer mit dem Skript verbunden. Das Letzte, was Sie tun mĂŒssen, ist, den Bot mit der Anwendung zu verbinden. Gehen Sie dazu zum Tab âDialogflow-Connectorâ, klicken Sie auf die SchaltflĂ€che âDialogflow-Agent hinzufĂŒgenâ in der oberen rechten Ecke und laden Sie die JSON-Datei Ihres Dialogflow-Agenten hoch.

Wenn Sie einen Agenten zum Testen/Beispiel benötigen, können Sie unseren ĂŒber diesen Link nehmen: . Er erwarten Sie nicht zu viel, das ist nur ein Beispiel, das Sie nach Belieben anpassen und gerne die Ergebnisse teilen können đ
Ein einfacher Backend auf NodeJS
Lassen Sie uns ein einfaches Backend auf Node erstellen, zum Beispiel so:
Das ist eine normale Anwendung, die nur zwei Befehle zum Starten benötigt:
npm install
node index.js
Der Server wird auf Port 3000 Ihres Systems gestartet. Um ihn mit der Voximplant-Cloud zu verbinden, verwenden wir das Tool ngrok. Wenn Sie es installiert haben, , starten Sie es mit dem Befehl:
ngrok http 3000Sie sehen den Domainnamen, den ngrok fĂŒr Ihren lokalen Server generiert hat â kopieren Sie ihn und setzen Sie ihn in die Variable server ein.
den Kunden zurĂŒckzufĂŒhren sind, nicht verfĂŒgbar ist.
Die Client-Anwendung sieht aus wie ein einfacher Chat, den Sie.
Kopieren Sie einfach alle Dateien in ein Verzeichnis auf Ihrem Webserver, und es wird funktionieren. In der Datei script.js Àndern Sie den Wert der Variable server auf den ngrok-Domainnamen und den Wert der Variable callee auf die Nummer, die Sie gekauft haben. Speichern Sie die Datei und starten Sie die Anwendung im Browser. Wenn alles in Ordnung ist, sehen Sie die WebSocket-Verbindung in der Entwicklertools-Konsole.
Demo
Sie können die Anwendung in Aktion in diesem Video sehen:

P. S. Wenn Sie auf die SchaltflÀche Intervene klicken, wird der Anrufer mit meiner Telefonnummer verbunden, und wenn Sie auf Disconnect klicken, wird� Richtig, der Anruf wird getrennt.
Quelle: habr.com
