Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.

Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
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 die HĂ€lfte der Anrufe Spam ist, 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):
Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
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 Ihrem Voximplant-Konto an und erstellen Sie eine neue Anwendung, zum Beispiel "screening":

Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
Öffnen Sie den Abschnitt "Nummern" und kaufen Sie eine Nummer, die als Vermittler fungieren wird:

Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
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 Wie man den Dialogflow Connector verwendet. 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 hier nehmen..

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.

Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
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.

Wir erstellen unser Google Call Screening basierend auf Voximplant und Dialogflow.
Wenn Sie einen Agenten zum Testen/Beispiel benötigen, können Sie unseren ĂŒber diesen Link nehmen: github.com/aylarov/callscreening/tree/master/dialogflow. 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:
github.com/aylarov/callscreening/tree/master/nodejs

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, ngrok, starten Sie es mit dem Befehl:

ngrok http 3000

Sie 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 hierher holen können..

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:

Video abspielen

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
60GB SSD 8Gb DDR4