Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow

Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Vous avez peut-être entendu parler ou entendu parler de la fonctionnalité de filtrage des appels déployée par Google pour ses téléphones Pixel aux États-Unis. L'idée est géniale : lorsque vous recevez un appel entrant, l'assistant virtuel commence à communiquer, tandis que vous voyez cette conversation sous la forme d'un chat et à tout moment vous pouvez commencer à parler à la place de l'assistant. C'est très utile de nos jours où presque la moitié des appels sont du spam, mais vous ne voulez pas manquer les appels importants d'une personne ne figurant pas sur votre liste de contacts. Le seul problème est que cette fonctionnalité n'est disponible que sur le téléphone Pixel et uniquement aux États-Unis. Eh bien, il y a des obstacles à surmonter, non ? Par conséquent, nous avons décidé de vous expliquer comment créer une solution similaire en utilisant Voximplant et Dialogflow. S'il vous plaît sous chat.

Architecture

Je vous suggère de ne pas perdre de temps à expliquer le fonctionnement de Voximplant et Dialogflow ; si vous le souhaitez, vous pouvez facilement trouver des informations sur Internet. Faisons donc connaissance avec le concept même de notre Call Screening.

Supposons que vous disposez déjà d'un certain numéro de téléphone que vous utilisez quotidiennement et sur lequel vous recevez des appels importants. Dans ce cas, nous aurons besoin d'un deuxième numéro, qui sera indiqué partout - dans le courrier, sur une carte de visite, lorsque vous remplirez des formulaires en ligne, etc. Ce numéro sera connecté à un système de traitement du langage naturel (dans notre cas, Dialogflow) et renverra les appels vers votre numéro principal uniquement si vous le souhaitez. Sous forme de diagramme, cela ressemble à ceci (l'image est cliquable) :
Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Comprenant l'architecture, nous pouvons nous charger de la mise en œuvre, mais avec un bémol : nous ne le ferons pas mobile application pour afficher un dialogue entre Dialogflow et un appelant entrant, nous allons créer un simple web-une application avec un moteur de rendu de dialogue pour montrer clairement comment fonctionne le filtrage des appels. Cette application aura un bouton Intervenir, en appuyant sur lequel Voximplant connectera l'abonné entrant avec l'abonné appelé, si ce dernier décide de parler lui-même.

exécution

ойдите в votre compte Voximplant et créez une nouvelle application, par exemple le dépistage :

Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Ouvrir rubrique "Chambres" et achetez un numéro qui fera office d'intermédiaire :

Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Rendez-vous ensuite sur l'application de dépistage, dans la rubrique « Numéros », onglet « Disponible ». Ici, vous verrez le numéro que vous venez d'acheter. Liez-le à l'application à l'aide du bouton « Attacher » - dans la fenêtre qui apparaît, laissez toutes les valeurs par défaut et cliquez sur « Attacher ».

Une fois dans l'application, allez dans l'onglet "Scripts" et créez un script myscreening - nous y utilisons le code de l'article Comment utiliser le connecteur Dialogflow. Dans ce cas, le code sera légèrement modifié, car il faut « voir » le dialogue entre l'appelant et l'assistant ; tout le code est possible prendre ici.

ATTENTION : vous devrez remplacer la valeur de la variable serveur par le nom de votre serveur ngrok (les détails sur ngrok seront ci-dessous). Remplacez également vos valeurs à la ligne 31, où votre numéro de téléphone est votre numéro principal (par exemple, votre téléphone portable personnel) et le numéro de voximplant est le numéro que vous avez récemment acheté.

outbound_call = VoxEngine.callPSTN(“YOUR PHONE NUMBER”, “VOXIMPLANT NUMBER”)

L'appel callPSTN aura lieu au moment où vous décidez d'entrer dans la conversation et de parler personnellement avec l'abonné entrant.

Après avoir enregistré le script, vous devez le lier au numéro acheté. Pour ce faire, toujours dans votre application, allez dans l'onglet "Routage" pour créer une nouvelle règle - le bouton "Nouvelle règle" dans le coin supérieur droit. Fournissez un nom (par exemple, allcalls), laissez le masque par défaut (.* - ce qui signifie que tous les appels entrants seront traités par les scripts sélectionnés pour cette règle) et spécifiez le script myscreening.

Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Enregistrez la règle.

Désormais, le numéro de téléphone est lié au script. La dernière chose que vous devez faire est de lier le bot à l'application. Pour cela, rendez-vous dans l'onglet « Connecteur Dialogflow », cliquez sur le bouton « Ajouter un agent Dialogflow » dans le coin supérieur droit et téléchargez le fichier JSON de votre agent Dialogflow.

Créer votre propre filtrage d'appels Google basé sur Voximplant et Dialogflow
Si vous avez besoin d'un agent par exemple/test, vous pouvez prendre le nôtre sur ce lien : github.com/aylarov/callscreening/tree/master/dialogflow. N'exigez pas grand-chose, ce n'est qu'un exemple que vous êtes libre de refaire à votre guise et n'hésitez pas à partager les résultats :)

Backend simple sur NodeJS

Déployons un simple backend sur un nœud, par exemple, comme ceci :
github.com/aylarov/callscreening/tree/master/nodejs

Il s'agit d'une application simple qui ne nécessite que deux commandes pour s'exécuter :

npm install
node index.js

Le serveur fonctionnera sur le port 3000 de votre machine, donc pour le connecter au cloud Voximplant, nous utilisons l'utilitaire ngrok. Lorsque vous installez ngrok, exécutez-le avec la commande :

ngrok http 3000

Vous verrez le nom de domaine généré par ngrok pour votre serveur local - copiez-le et collez-le dans la variable du serveur.

Client

L'application client ressemble à un simple chat que vous pouvez récupérez-le d'ici.

Copiez simplement tous les fichiers dans un répertoire de votre serveur Web et cela fonctionnera. Dans le fichier script.js, remplacez la variable du serveur par le nom de domaine ngrok et la variable de l'appelé par le numéro que vous avez acheté. Enregistrez le fichier et lancez l'application dans votre navigateur. Si tout va bien, vous verrez la connexion WebSocket dans le panneau du développeur.

Démo

Vous pouvez voir l'application en action dans cette vidéo :


PS Si vous cliquez sur le bouton Intervenir, l'appelant sera dirigé vers mon numéro de téléphone, et si vous cliquez sur Déconnecter, ce sera... ? C'est vrai, l'appel sera déconnecté.

Source: habr.com

Ajouter un commentaire