Creando tu propio Google Call Screening basado en Voximplant y Dialogflow

Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
Es posible que haya oído o leído acerca de la función de detección de llamadas que Google implementó para sus teléfonos Pixel en los EE. UU. La idea es genial: cuando recibes una llamada entrante, el asistente virtual comienza a comunicarse, mientras ves esta conversación en forma de chat y en cualquier momento puedes comenzar a hablar en lugar del asistente. Esto es muy útil en estos días cuando casi la mitad de las llamadas son spam, pero no querrás perder llamadas importantes de alguien que no esté en tu lista de contactos. El único inconveniente es que esta funcionalidad sólo está disponible en el teléfono Pixel y sólo en EE.UU. Bueno, los obstáculos hay que superarlos, ¿no? Por eso, decidimos contarte cómo hacer una solución similar usando Voximplant y Dialogflow. Por favor bajo gato.

Arquitectura

Te sugiero que no pierdas tiempo explicando cómo funcionan Voximplant y Dialogflow, si lo deseas puedes encontrar información fácilmente en Internet. Entonces, familiaricémonos con el concepto mismo de nuestro Call Screening.

Supongamos que ya tiene un determinado número de teléfono que utiliza todos los días y en el que recibe llamadas importantes. En este caso, necesitaremos un segundo número, que se indicará en todas partes: en el correo, en una tarjeta de presentación, al completar formularios en línea, etc. Este número estará conectado a un sistema de procesamiento de lenguaje natural (en nuestro caso, Dialogflow) y desviará las llamadas a su número principal solo si así lo desea. En forma de diagrama se ve así (se puede hacer clic en la imagen):
Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
Entendiendo la arquitectura, podemos asumir la implementación, pero con una advertencia: no lo haremos móvil aplicación para mostrar un diálogo entre Dialogflow y una persona que llama entrante, crearemos una web-una aplicación con un renderizador de diálogos para mostrar claramente cómo funciona el control de llamadas. Esta aplicación tendrá un botón Intervenir, al presionarlo, Voximplant conectará al suscriptor entrante con el suscriptor marcado, si este último decide hablar él mismo.

implementación

Registrarse tu cuenta Voximplant y crear una nueva aplicación, por ejemplo screening:

Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
Abierto sección "Habitaciones" y comprar un número que funcionará como intermediario:

Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
A continuación, vaya a la solicitud de selección, en la sección “Números”, pestaña “Disponibles”. Aquí verá el número que acaba de comprar. Vincúlelo a la aplicación usando el botón "Adjuntar"; en la ventana que aparece, deje todos los valores predeterminados y haga clic en "Adjuntar".

Una vez dentro de la aplicación, vaya a la pestaña "Scripts" y cree un script myscreening; en él usamos el código del artículo. Cómo utilizar el conector de Dialogflow. En este caso, el código se modificará ligeramente, porque necesitamos “ver” el diálogo entre la persona que llama y el asistente; todo el código es posible toma aquí.

ATENCIÓN: deberá cambiar el valor de la variable del servidor por el nombre de su servidor ngrok (los detalles sobre ngrok se encontrarán a continuación). También sustituya sus valores en la línea 31, donde su número de teléfono es su número principal (por ejemplo, su teléfono móvil personal) y el número de voximplant es el número que compró recientemente.

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

La llamadaPSTN se producirá en el momento en que decida intervenir en la conversación y hablar personalmente con el suscriptor entrante.

Después de guardar el script, debe vincularlo al número comprado. Para hacer esto, mientras aún está dentro de su aplicación, vaya a la pestaña "Enrutamiento" para crear una nueva regla: el botón "Nueva regla" en la esquina superior derecha. Proporcione un nombre (por ejemplo, todas las llamadas), deje la máscara predeterminada (.*, lo que significa que todas las llamadas entrantes serán procesadas por los scripts seleccionados para esta regla) y especifique el script myscreening.

Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
Guarda la regla.

A partir de ahora, el número de teléfono está vinculado al guión. Lo último que debes hacer es vincular el bot a la aplicación. Para hacer esto, vaya a la pestaña "Conector de Dialogflow", haga clic en el botón "Agregar agente de Dialogflow" en la esquina superior derecha y cargue el archivo JSON de su agente de Dialogflow.

Creando tu propio Google Call Screening basado en Voximplant y Dialogflow
Si necesita un agente, por ejemplo/prueba, puede contratar el nuestro en este enlace: github.com/aylarov/callscreening/tree/master/dialogflow. Simplemente no le exijas mucho, este es solo un ejemplo que puedes rehacer como quieras y compartir los resultados :)

Backend simple en NodeJS

Implementemos un backend simple en un nodo, por ejemplo, como este:
github.com/aylarov/callscreening/tree/master/nodejs

Esta es una aplicación sencilla que requiere sólo dos comandos para ejecutarse:

npm install
node index.js

El servidor se ejecutará en el puerto 3000 de su máquina, por lo que para conectarlo a la nube de Voximplant utilizamos la utilidad ngrok. cuando instalas ngrok, ejecútelo con el comando:

ngrok http 3000

Verá el nombre de dominio que generó ngrok para su servidor local; cópielo y péguelo en la variable del servidor.

Cliente

La aplicación cliente parece un chat simple que puedes recógelo desde aquí.

Simplemente copie todos los archivos a algún directorio de su servidor web y funcionará. En el archivo script.js, reemplace la variable del servidor con el nombre de dominio ngrok y la variable del destinatario con el número que compró. Guarde el archivo e inicie la aplicación en su navegador. Si todo está bien, verás la conexión WebSocket en el panel de desarrollador.

Manifestación

Puedes ver la aplicación en acción en este vídeo:


PD: Si hace clic en el botón Intervenir, la persona que llama será dirigida a mi número de teléfono, y si hace clic en Desconectar, será... Así es, la llamada se desconectará.

Fuente: habr.com

Añadir un comentario