Vous avez peut-ĂȘtre entendu ou lu parler de la fonctionnalitĂ© de screening d'appels que Google a lancĂ©e pour ses tĂ©lĂ©phones Pixel aux Ătats-Unis. L'idĂ©e est excellente : lorsque vous recevez un appel entrant, l'assistant virtuel commence Ă communiquer, tandis que vous voyez cette conversation sous forme de chat et pouvez entrer dans la conversation Ă tout moment. C'est trĂšs utile de nos jours, alors que presque , mais vous ne voulez pas manquer d'importants appels de personnes qui ne figurent pas dans votre liste de contacts. Le seul hic est que cette fonctionnalitĂ© n'est disponible que sur le tĂ©lĂ©phone Pixel et uniquement aux Ătats-Unis. Eh bien, les obstacles existent pour ĂȘtre surmontĂ©s, n'est-ce pas ? C'est pourquoi nous avons dĂ©cidĂ© de parler de la maniĂšre de crĂ©er une solution similaire en utilisant Voximplant et Dialogflow. Je vous invite Ă lire la suite.
Architecture
Je ne vais pas perdre de temps à expliquer comment fonctionnent Voximplant et Dialogflow, vous trouverez facilement des informations à ce sujet sur Internet. Passons donc à la présentation du concept de notre screening d'appels.
Supposons que vous ayez déjà un 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 vos emails, sur votre 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, c'est Dialogflow) et redirigera les appels vers votre numéro principal, seulement si vous le souhaitez. Cela ressemble à ceci (l'image est cliquable) :
Comprenant l'architecture, nous pouvons nous attaquer Ă la rĂ©alisation, mais avec une prĂ©caution : nous ne crĂ©erons pas une application mobile pour montrer le dialogue entre Dialogflow et l'appelant entrant, nous allons crĂ©er une simple application web- avec un rendu de dialogue, afin de montrer clairement le fonctionnement du screening d'appels. Dans cette application, il y aura un bouton Intervenir, sur lequel Voximplant mettra en relation l'appelant entrant avec l'appelant que vous composez, si ce dernier souhaite parler lui-mĂȘme.
Mise en Ćuvre
Connectez-vous à et créez une nouvelle application, par exemple, screening :

Ouvrez et achetez un numéro qui fonctionnera comme intermédiaire :

Ensuite, ouvrez l'application screening, dans la section « NumĂ©ros », onglet « Disponibles ». Vous y verrez le numĂ©ro nouvellement achetĂ©. Liez-le Ă l'application en utilisant le bouton « Attacher » â dans la fenĂȘtre qui apparaĂźt, laissez toutes les valeurs par dĂ©faut et cliquez sur « Attacher ».
Ă l'intĂ©rieur de l'application, allez dans l'onglet « ScĂ©narios » et crĂ©ez le scĂ©nario myscreening â nous allons y utiliser le code de l'article . Le code sera lĂ©gĂšrement modifiĂ©, car nous devons « voir » le dialogue entre l'appelant et l'assistant ; tout le code peut ĂȘtre .
ATTENTION : vous devrez changer la valeur de la variable server par le nom de votre serveur ngrok (les dĂ©tails sur ngrok seront prĂ©sentĂ©s un peu plus bas). Remplacez Ă©galement vos valeurs Ă la ligne 31, oĂč votre numĂ©ro de tĂ©lĂ©phone â c'est votre numĂ©ro principal (par exemple, un mobile personnel), et le numĂ©ro voximplant â le numĂ©ro que vous avez rĂ©cemment achetĂ©.
outbound_call = VoxEngine.callPSTN(âVOTRE NUMĂRO DE TĂLĂPHONEâ, âNUMĂRO VOXIMPLANTâ)L'appel callPSTN se produira au moment oĂč vous dĂ©ciderez d'interrompre la conversation et de parler directement avec l'appelant entrant.
AprĂšs avoir enregistrĂ© le scĂ©nario, 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. Indiquez un nom (par exemple, allcalls), laissez le masque par dĂ©faut (.* â ce qui signifie que tous les appels entrants seront traitĂ©s par les scĂ©narios choisis pour cette rĂšgle) et indiquez le scĂ©nario myscreening.

Enregistrez la rĂšgle.
Désormais, le numéro de téléphone est lié au scénario. La derniÚre étape consiste à lier le bot à l'application. Pour cela, allez 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.

Si vous avez besoin d'un agent pour un exemple/test, vous pouvez prendre le nĂŽtre Ă ce lien : . Ne lui demandez pas trop, c'est juste un exemple que vous pouvez modifier Ă votre guise et partager vos rĂ©sultats đ
Un backend simple sur NodeJS
Déployons un simple backend sur Node, par exemple, comme celui-ci :
C'est une application ordinaire qui nécessite seulement deux commandes pour démarrer :
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'outil ngrok. Lorsque vous l'aurez installé , lancez-le avec la commande :
ngrok http 3000Vous verrez un nom de domaine que ngrok a gĂ©nĂ©rĂ© pour votre serveur local â copiez-le et insĂ©rez-le dans la variable server.
Client
L'application cliente ressemble Ă un simple chat que vous pouvez.
Il suffit de copier tous les fichiers dans un répertoire de votre serveur web et cela fonctionnera. Dans le fichier script.js, remplacez la valeur de la variable server par le nom de domaine ngrok et la valeur de la variable callee par le numéro que vous avez acheté. Enregistrez le fichier et lancez l'application dans le navigateur. Si tout va bien, vous verrez une connexion WebSocket dans la console de développement.
Démo
Vous pouvez voir l'application en action dans cette vidéo :

P.S. Si vous appuyez sur le bouton Intervene, l'appelant sera dirigĂ© vers mon numĂ©ro de tĂ©lĂ©phone, et si vous appuyez sur Disconnect â l'appel sera⊠? C'est ça, l'appel sera dĂ©connectĂ©.
Source : habr.com
