La plataforma Twilio admite grabaciones de llamadas cifradas. Aquí es la documentación de Twillo sobre cómo configurar el cifrado de las grabaciones en su plataforma.
La plataforma Voicegain admite la entrada directa de grabaciones cifradas desde la plataforma Twilio.
El diagrama general de cómo funcionan todos los componentes juntos es el siguiente:
A continuación, describimos cómo configurar una configuración que enviará automáticamente las grabaciones cifradas de Twilio a la transcripción de Voicegain tan pronto como se completen esas grabaciones.
Configurar la clave privada para el descifrado
Voicegain necesitará una clave privada en formato PKCS #8 para descifrar las grabaciones de Twilio. Twilio documentación describe cómo generar una clave privada en ese formato.
Una vez que tengas la clave, tendrás que subirla a través de Voicegain Consola web al contexto que utilizará para la transcripción. Esto se puede hacer a través de Configuración -> Seguridad de la API -> Configuración de autenticación. Tienes que elegir el tipo: Grabación cifrada de Twilio.
Configurar la función AWS Lambda
Gestionaremos las devoluciones de llamadas de Twilio mediante una función de AWS Lambda, pero puede utilizar una equivalente de otra plataforma en la nube o puede tener su propio servicio que gestione las devoluciones de llamadas https.
Un ejemplo de una función de AWS Lambda en Python está disponible en Voicegain Github: platform/AWS-lambda-for-encrypted-recordings.py at master · voicegain/platform (github.com)
Tendrá que modificar esa función antes de poder utilizarla.
Primero debe ingresar los siguientes parámetros:
- Ganación de voz JWT - debe obtener el JWT del mismo contexto en el que cargó la clave privada
- MyAuthconf - este es el nombre con el que cargaste la clave privada
- ID de clave pública esperada - este es el nombre con el que, en la plataforma Twilio, subiste la clave pública
La función Lambda recibe la llamada de Twilio, analiza la información relevante y, a continuación, envía una solicitud a la API STT de Voicegain para la transcripción SIN CONEXIÓN. Si lo deseas, puedes modificar, en el código de la función de Lambda, el cuerpo de la solicitud que se enviará a Voicegain. Por ejemplo, en el ejemplo de github se envían los resultados de la transcripción para que se puedan ver en la consola web (portal), pero es probable que desees cambiarlo para que los resultados se envíen mediante una llamada a tu terminal HTTPS (hay un comentario que indica dónde se debe realizar el cambio).
También puedes hacer otros cambios en el cuerpo de la solicitud según sea necesario. Para ver las especificaciones completas de la API de transcripción de Voicegain, consulta aquí.
Ejecute una prueba
Este es un código Python simple que se puede usar para hacer una llamada saliente de Twilio que se grabará y luego se enviará para su transcripción.
Tenga en cuenta que:
- Establecemos la URL de la función Lambda en Llamada de estado de grabación.
- Y le decimos a Twilio que devuelva la llamada solo cuando se complete la grabación de la llamada en Evento de llamada de estado de grabación.