Registro de un bot de llamada para Microsoft Teams

Un bot que participa en llamadas de audio y vídeo y en reuniones en línea es un bot de Microsoft Teams ordinario con algunas características adicionales:

  • Hay una nueva versión del manifiesto de la aplicación de Microsoft Teams con dos supportsCalling opciones supportsVideode configuración adicionales y. Esta configuración se incluye en la versión de vista previa para desarrolladores del manifiesto de la aplicación Microsoft Teams.
  • Los permisos de Microsoft Graph deben estar configurados para el identificador de aplicación de Microsoft de bot.
  • Los permisos llamadas de Microsoft Graph y las API de reuniones en línea requieren el consentimiento del administrador de inquilinos.

Hablemos sobre lo anterior con más detalle.

Nueva configuración del manifiesto

Los bots de llamadas y reuniones en línea tienen dos opciones de configuración adicionales en el manifiesto. JSON que habilitan el audio y vídeo para el bot en Teams.

  • bots[0].supportsCalling. Si está presente y establecido trueen, Microsoft Teams permitirá que el bot participe en las llamadas y las reuniones en línea.
  • bots[0].supportsVideo. Si está presente y establecido trueen, Teams sabe que su bot admite vídeo.

Si desea que el IDE valide correctamente el esquema manifest. JSON para el bot de llamadas y reuniones para estos valores, puede cambiar el atributo $schema de la siguiente manera:

"$schema": "https://raw.githubusercontent.com/OfficeDev/microsoft-teams-app-schema/preview/DevPreview/MicrosoftTeams.schema.json",

Creación de un nuevo bot o adición de capacidades de llamada a un bot existente

La creación de un nuevo bot se describe con más detalle en el tema crear un bot para Microsoft Teams , pero repetiremos parte de él:

  1. Use este vínculo para crear un nuevo bot: https://dev.botframework.com/bots/new. Si, en su lugar, selecciona el botón crear un bot en el portal de la plataforma de bot, creará su bot en Microsoft Azure, en el que necesitará una cuenta de Azure.
  2. Agregue el canal de Microsoft Teams. Haga clic en la pestaña "llamada" en la página de canal de Microsoft Teams y seleccione Habilitar llamaday, a continuación, actualizar webhook (para llamar) con la dirección URL https donde recibiráhttps://contoso.com/teamsapp/api/callinglas notificaciones entrantes; por ejemplo,. Consulte Configuring Channels para obtener más información sobre cómo configurar los canales. Configurar información de canal de Microsoft Teams

Agregar permisos de Microsoft Graph

Microsoft Graph expone permisos granulares que controlan el acceso de las aplicaciones a los recursos. Como desarrollador, usted decide qué permisos de Microsoft Graph solicita la aplicación. Las API de llamada de Microsoft Graph admiten permisos de aplicación, que son usados por aplicaciones que se ejecutan sin la presencia de un usuario que ha iniciado sesión. Un administrador de inquilinos debe conceder consentimiento a los permisos de la aplicación. A continuación se muestra una lista de los permisos:

Permisos de aplicación: llamadas

Permiso Cadena para mostrar Descripción Se requiere el consentimiento del administrador
Calls.Initiate.All Iniciar llamadas salientes de 1:1 desde la aplicación (versión preliminar) Permite a la aplicación realizar llamadas a un único usuario y transferir las llamadas a usuarios en el directorio de su organización, sin que el usuario haya iniciado sesión en la aplicación.
Calls.InitiateGroupCall.All Iniciar llamadas de grupo salientes desde la aplicación (versión preliminar) Permite a la aplicación realizar llamadas a varios usuarios y agregar a participantes a las reuniones de su organización, sin que el usuario haya iniciado sesión en la aplicación.
Calls.JoinGroupCall.All Unirse a llamadas y reuniones de grupo como una aplicación (versión preliminar) Permite a la aplicación unirse a llamadas de grupo y reuniones programadas de la organización, sin que el usuario haya iniciado sesión en la aplicación. La aplicación se combinará con los privilegios de un usuario del directorio a las reuniones en su espacio empresarial.
Calls.JoinGroupCallasGuest.All Unirse a llamadas y reuniones de grupo como invitado (versión preliminar) Permite a la aplicación unirse a llamadas de grupo y reuniones programadas de la organización de forma anónima, sin que el usuario haya iniciado sesión en la aplicación. La aplicación se unirá como invitado a las reuniones de su espacio empresarial.
Calls. AccessMedia. All vea más adelante Accede a los flujos de medios en una llamada como aplicación (versión preliminar) Permite a la aplicación obtener acceso directo a los flujos de medios en una llamada, sin que el usuario haya iniciado sesión en la aplicación.

Importante

No puede usar la API Microsoft. Graph. calls. media para grabar o conservar el contenido multimedia de las llamadas o reuniones a las que tiene acceso el bot.

Permisos de aplicación: reuniones en línea

Permiso Cadena para mostrar Descripción Se requiere el consentimiento del administrador
OnlineMeetings.Read.All Leer detalles de la reunión en línea desde la aplicación (versión preliminar) Permite a la aplicación leer los detalles de las reuniones en línea de la organización, sin que un usuario haya iniciado sesión.
OnlineMeetings.ReadWrite.All Leer y crear reuniones en línea desde la aplicación (versión preliminar) en nombre de un usuario Permite a la aplicación crear reuniones en línea dentro de la organización en nombre de un usuario, sin que un usuario haya iniciado sesión.

Asignación de permisos

Debe configurar los permisos de la aplicación para su bot de antemano. Se recomienda usar el portal de registro de aplicaciones de Microsoft , tal y como se describe aquí porque ahí es donde se configuró el bot; sin embargo, puede seguir usando Azure portal si prefiere usar el punto de conexión de Azure ad v1.

Para las aplicaciones que usan el punto de conexión de Azure AD v1, un administrador de inquilinos puede dar su consentimiento a los permisos de la aplicación mediante el portal de Azure cuando la aplicación está instalada en la organización, o puede proporcionar una experiencia de suscripción en su aplicación a través de la cual los administradores pueden dar su consentimiento a los permisos configurados. Una vez que Azure AD registra el consentimiento del administrador, la aplicación puede solicitar tokens sin tener que volver a solicitar el consentimiento.

Puede confiar en un administrador para conceder los permisos que necesita la aplicación en Azure portal; pero, a menudo, una mejor opción es proporcionar una experiencia de suscripción a los administradores mediante el punto de conexión de /adminconsent Azure ad V2. Para obtener más información, consulte las instrucciones sobre cómo crear una dirección URL de consentimiento de administrador .

Nota

La construcción de la dirección URL de consentimiento del administrador del espacio empresarial requiere una URL de respuesta/URI de redireccionamiento configurada en el portal de registrode la aplicación. Para agregar direcciones URL de respuesta para el bot, obtenga acceso al registro de los robots, elija Opciones avanzadas: > editar manifiesto de la aplicación. Agregue la dirección URL de redireccionamiento a la replyUrls colección.

Importante

Siempre que realice un cambio en los permisos de la aplicación, también debe repetir el proceso de consentimiento del administrador. Los cambios realizados en el portal de registro de la aplicación no se reflejarán hasta que el administrador del inquilino haya vuelto a aplicar el consentimiento.