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
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):
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
Abierto
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.
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.
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.
Si necesita un agente, por ejemplo/prueba, puede contratar el nuestro en este enlace:
Backend simple en NodeJS
Implementemos un backend simple en un nodo, por ejemplo, como este:
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 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
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