Rendre votre filtrage d'appels Google basé sur Voximplant et Dialogflow


Vous avez peut-ĂȘtre entendu parler de la fonction de filtrage d'appels que Google a dĂ©ployĂ©e pour ses tĂ©lĂ©phones Pixel aux États-Unis ou en a lu. L'idĂ©e est excellente - lorsque vous recevez un appel entrant, l'assistant virtuel commence Ă  communiquer, pendant que vous voyez cette conversation sous la forme d'un chat et Ă  tout moment, vous pouvez commencer Ă  parler Ă  la place d'un assistant. C'est trĂšs utile de nos jours, lorsque prĂšs de la moitiĂ© des appels sont du spam , mais que vous ne voulez pas manquer des appels importants d'une personne en dehors de votre liste de contacts. Le seul hic, c'est que cette fonctionnalitĂ© n'est disponible que sur le tĂ©lĂ©phone Pixel et uniquement aux États-Unis. Eh bien, des obstacles existent pour les surmonter, non? Par consĂ©quent, nous avons dĂ©cidĂ© de dire comment prendre une telle dĂ©cision en utilisant Voximplant et Dialogflow. Je demande un chat.

L'architecture


Je suggĂšre de ne pas perdre de temps Ă  expliquer comment fonctionnent Voximplant et Dialogflow, si vous le souhaitez, vous pouvez facilement trouver des informations sur Internet. Alors familiarisons-nous avec le concept mĂȘme de notre filtrage d'appels.

Supposons que vous ayez déjà un numéro de téléphone que vous utilisez tous les jours et auquel vous recevez des appels importants. Dans ce cas, nous avons besoin d'un deuxiÚme numéro, qui sera indiqué partout - par la poste, sur une carte de visite, lorsque vous remplissez des formulaires en ligne, etc. Ce numéro sera connecté au systÚme de traitement du langage naturel (dans notre cas, Dialogflow) et ne transfÚrera les appels vers votre numéro principal que si vous le souhaitez. Sous la forme d'un diagramme, il ressemble à ceci (l'image est cliquable):

Comprendre l'architecture, nous pouvons prendre en charge la mise en Ɠuvre, mais avec une mise en garde: nous ne ferons pas une application mobile pour afficher un dialogue entre Dialogflow et un abonnĂ© entrant, nous allons crĂ©er une application Web simple avec un moteur de dialogue pour montrer visuellement comment fonctionne le filtrage d'appels. Dans cette application, il y aura un bouton Intervenir, en appuyant sur lequel Voximplant connectera l'abonnĂ© entrant Ă  l'abonnĂ© composĂ©, si ce dernier a dĂ©cidĂ© de parler seul.

Implémentation


Connectez-vous à votre compte Voximplant et créez une nouvelle application, par exemple, le filtrage:


Ouvrez la section "Numéros" et achetez un numéro qui servira d'intermédiaire:


Ensuite, accĂ©dez Ă  l'application de filtrage, dans la section "NumĂ©ros", l'onglet "Disponible". Ici, vous verrez le numĂ©ro que vous venez d'acheter. Attachez-le Ă  l'application en utilisant le bouton "Attach" - dans la fenĂȘtre qui apparaĂźt, laissez toutes les valeurs par dĂ©faut et cliquez sur "Attach".

À l'intĂ©rieur de l'application, accĂ©dez Ă  l'onglet Scripts et crĂ©ez un script de masquage - nous y utilisons le code de l'article Comment utiliser Dialogflow Connector . Dans ce cas, le code sera lĂ©gĂšrement modifiĂ©, car nous devons «voir» le dialogue entre l'appelant et l'assistant; tout le code peut ĂȘtre pris ici .

ATTENTION: vous devrez remplacer la valeur de la variable serveur par le nom de votre serveur ngrok (les dĂ©tails sur ngrok seront un peu infĂ©rieurs). Remplacez Ă©galement vos valeurs Ă  la ligne 31, oĂč votre numĂ©ro de tĂ©lĂ©phone est votre numĂ©ro principal (par exemple, votre numĂ©ro de mobile personnel) et le numĂ©ro voximplant est le numĂ©ro que vous avez rĂ©cemment achetĂ©.

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

Un appel callPSTN aura lieu au moment oĂč vous dĂ©cidez d'interrompre la conversation et de discuter personnellement avec l'abonnĂ© entrant.

AprÚs avoir enregistré le script, vous devez le lier au numéro acheté. Pour ce faire, tout en restant 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. Spécifiez un nom (par exemple, tous les appels), 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.


Enregistrez la rĂšgle.

Désormais, le numéro de téléphone est lié au script. La derniÚre chose à faire est d'attacher le bot à l'application. Pour ce faire, allez dans l'onglet «Dialogflow Connector», cliquez sur le bouton «Ajouter Dialogflow Agent» dans le coin supérieur droit et téléchargez le fichier JSON de votre agent Dialogflow.


Si vous avez besoin d'un agent par exemple / testing, vous pouvez prendre le nĂŽtre Ă  ce lien: github.com/aylarov/callscreening/tree/master/dialogflow . Ne lui demandez pas grand-chose, ce n'est qu'un exemple que vous ĂȘtes libre de refaire comme vous le souhaitez et de partager les rĂ©sultats avec audace :)

Backend simple sur NodeJS


DĂ©ployons un simple backend sur un nƓud, par exemple, ceci:
github.com/aylarov/callscreening/tree/master/nodejs

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

 npm install node index.js 

Le serveur démarrera 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 que ngrok a généré pour votre serveur local - copiez-le et remplacez-le dans la variable serveur.

Client


L'application client ressemble à un simple chat que vous pouvez récupérer à partir 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 serveur par le nom de domaine ngrok et la variable appelée par le numéro que vous avez acheté. Enregistrez le fichier et lancez l'application dans un navigateur. Si tout est en ordre, vous verrez une connexion WebSocket dans le panneau du développeur.

DĂ©mo


Vous pouvez voir l'application en action sur 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 ...? Certes, l'appel sera déconnecté.

Source: https://habr.com/ru/post/fr468725/


All Articles