Habilitación de videollamadas, llamadas web y llamadas multiusuario dentro de la aplicación - Amazon Connect

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Habilitación de videollamadas, llamadas web y llamadas multiusuario dentro de la aplicación

Amazon Connect permite añadir usuarios adicionales para que se unan a la videollamada dentro de la aplicación, a la web o a la videollamada de una llamada existente. Puede agregar hasta cuatro usuarios adicionales a una videollamada, llamada web o llamada dentro de la aplicación, hasta un total de seis participantes: el agente, el primer usuario y cuatro participantes más (usuarios o agentes).

Cómo agregar participantes a una llamada de varios usuarios

  1. Para habilitar las llamadas entre varios usuarios, debes habilitar la supervisión mejorada de los contactos entre varios usuarios desde la Amazon Connect consola.

  2. Una vez hecho esto, puedes aprovechar la Amazon Connect StartWebRTCContactAPI existente para crear un contacto y redirigirlo a un agente.

  3. Para añadir un participante adicional, primero cree un participante que pase ContactId de la respuesta de la StartWebRTCContactAPI a la CreateParticipantAPI. CreateParticipantno tendrá éxito hasta que la persona que llamó originalmente se haya conectado al agente. Las capacidades de vídeo y de pantalla compartida del participante se pueden configurar en el campo ParticipantDetails.ParticipantCapabilities.

  4. Cuando se CreateParticipantcompleta correctamente, devuelve un token de participante. Este token se puede usar en una solicitud CreateParticipantConnectioncon el valor Type establecido enWEBRTC_CONNECTION. La respuesta incluye información ConnectionDataque se puede utilizar para unirse a la reunión mediante las bibliotecas de cliente del SDK de Amazon Chime para el participante adicional creado. Siga las instrucciones de integración para permitir que el usuario final de la aplicación se una a la reunión.

    nota

    CreateParticipantdevuelve un error de solicitud errónea si el agente aún no está conectado al contacto. Para ver cuáles son las aplicaciones empresariales a las que los usuarios pueden intentar unirse antes de que el agente esté conectado, consulte Gestión de las uniones simultáneas de usuarios.

  5. Los clientes adicionales pueden conectarse en cualquier momento después de la CreateParticipantConnectiondevolución. Cuando los participantes se unen, todo el comportamiento adicional de voz y grabación es similar al de la función de varios participantes. Los nuevos participantes pueden habilitar el uso compartido de vídeo y pantalla si sus capacidades están habilitadas en la CreateParticipantsolicitud.

    nota

    En una llamada activa, solo pueden unirse seis participantes (clientes y agentes) como máximo. Cuando se lleva a cabo una acción para añadir más participantes de modo que se supere el límite, las bibliotecas de clientes de Amazon Chime SDK devuelven un código de estado que indica que la llamada está llena.

  6. Cuando los participantes se hayan conectado a la llamada y, a continuación, se hayan desconectado, de un modo controlado o no controlado, durante un tiempo preconfigurado, sus credenciales de participante dejarán de ser válidas. Si el onAudioVideoDidStop observador de la biblioteca cliente recibe un código de estado que indica que el asistente ya no es válido, las solicitudes pueden activar una nueva llamada CreateParticipantConnectiondesde CreateParticipanty hacia el back-end de su empresa para volver a unirse a la llamada.

  7. Por cada conexión de usuario adicional, Amazon Connect crea un nuevo contacto y registro de contactos. Todos los contactos adicionales PreviousContactId se han establecido en el InitialContactId (es decir, el que creó la StartWebRTCContactAPI) para rastrearlo hasta el contacto original. Todos los registros de contacto disponen de lo siguiente:

    • Tiene un "InitiationMethod«: «WEBRTC_API»

    • Tienen los siguientes atributos de segmento:

      "SegmentAttributes": { "connect:Subtype": { "ValueString": "connect:WebRTC" } },

    Además, cada registro de contacto tiene el nombre público suministrado en CreateParticipant. La información del agente no se rellena para ningún contacto de usuario adicional. Esto se hace para evitar la duplicación de la información del agente.

    El siguiente diagrama ilustra cómo IDs se mapean el contacto anterior y el siguiente en un escenario en el que se agregan varios participantes y agentes en una llamada web, en la aplicación o por videollamada.

    Diagrama que muestra cómo IDs se mapean los contactos para las llamadas WebRTC multipartitas

Gestión de las uniones simultáneas de usuarios

Es posible que las empresas deseen crear aplicaciones en las que los usuarios puedan unirse en cualquier orden y en cualquier momento. Por ejemplo, su aplicación puede enviar por correo electrónico un enlace con un identificador de cita externo a varios usuarios, lo que debería usarse para unirse a una llamada a una hora programada. Para lograr este comportamiento, los backends empresariales deben confirmar lo siguiente:

  • El primer usuario que se une activa una solicitud. StartWeb RTCContact

  • Todos los usuarios adicionales lo utilizan CreateParticipant CreateParticipantConnection, pero solo después de que el primer usuario se haya conectado a un agente.

En esta sección, se describe una posible implementación, suponiendo que el backend de su empresa contenga un almacén (como DynamoDB) que pueda almacenar metadatos sobre las citas programadas. Tenga en cuenta que las citas programadas no son una característica de la implementación Amazon Connect, sino una característica de la misma.

Cuando el usuario navegue a la página, debe enviar una solicitud al backend. El backend comprueba lo siguiente:

  • Si el usuario puede iniciar la cita y si es la hora correcta.

  • Si el Amazon Connect contacto ya se creó al llamar StartWebRTCContact.

Si el contacto aún no se ha creado, el cliente debe llamar a la StartWebRTCContactAPI con un flujo personalizado y un atributo que indique la cola de agentes del agente correspondiente que se esperaba que se uniera a la llamada. El flujo debe incluir un bloque Establecer cola de trabajo configurado para usar la cola de agente suministrada en atributos. A continuación, el flujo debe terminar con un bloque Transferir a la cola. Antes de llamar a la API, el backend debe actualizar la tienda de forma granular para pasar la llamada del estado “Ninguna” al estado “Creando” y gestionar cualquier excepción de modificación simultánea.

Las credenciales de StartWebRTCContactdeben devolverse al cliente y este debe unirse inmediatamente a la llamada. El contacto debe estar marcado como “Creado” en la tienda de la empresa, junto con su ID de contacto. Esta API empresarial debe estar sincronizada entre todos los posibles asistentes que se unan. Esto se puede hacer utilizando las operaciones granulares proporcionadas por una base de datos.

Si el contacto se encuentra en estado de creación, se debe devolver este estado al usuario adicional, mostrar la información relevante y volver a intentarlo tras un breve periodo de espera.

Si se crea el contacto: deben recuperar el ID del contacto y llamar a la DescribeContactAPI. El backend empresarial debe buscar el campo Contact.AgentInfo.ConnectedToAgentTimestamp. Si no existe, esto significa que el primer usuario no se ha conectado al agente, y el usuario adicional debería mostrar la información pertinente y volver a intentarlo tras un breve periodo de espera.

Si el campo existe, el backend debería llamar y, después CreateParticipant, a get CreateParticipantConnectionConnectionData, tal y como se ha descrito en las secciones anteriores.

El flujo del backend debe ser similar a lo siguiente.

Diagrama del flujo de backend para gestionar las uniones de usuarios simultáneas

Puedes consultar los ejemplos de llamadas integradas en la aplicación de Amazon Connect GitHub para obtener información sobre la implementación.

El agente no se unirá a través del mismo sitio web. El agente debe establecer su estado en el panel de control de contacto como Disponible. Cuando el primer cliente se una, se llamará automáticamente al agente.

Facturación

La facturación para los participantes adicionales equivale a la facturación existente para el cliente inicial y cualquier agente que participe en la llamada. El audio, el vídeo y la pantalla compartida conllevan sus propios cargos, específicos para cada participante.

Comportamiento de espera

Durante una videollamada o una sesión de pantalla compartida, los agentes pueden ver el vídeo o la pantalla compartida del participante, aunque este esté en espera. El participante debe gestionar la PII en consecuencia. Si utiliza la aplicación CCP nativa, el vídeo del agente se desactiva si algún participante que no sea un agente está en espera. Si quiere cambiar este comportamiento, puede crear un CCP personalizado y un widget de comunicación.

Para obtener más información, consulte Integración de la pantalla compartida, las videollamadas, las llamadas web y las llamadas dentro de la aplicación de forma nativa en su aplicación.

Limitación

Existe la siguiente limitación al crear participantes adicionales para la aplicación, la web, las videollamadas y el uso compartido de pantalla:

  • Los participantes adicionales no pueden tener las funciones de vídeo configuradas en Enviar si el contacto original se creó con las funciones de vídeo del cliente configuradas en Ninguna.