Bot de llamadas y reuniones de Teams
El bot de llamadas y reuniones de Microsoft Teams proporciona funcionalidades básicas, como crear una llamada, unirse a una llamada, transferir o redirigir una llamada, unirse a una reunión programada e invitar a los participantes mediante la integración de las comunicaciones en la nube Graph API.
Los bots pueden interactuar con las llamadas y reuniones de Teams mediante el uso compartido de voz, vídeo y pantalla en tiempo real. Las aplicaciones de Teams pueden interactuar con los usuarios mediante voz y vídeo para mejorar su experiencia con las API de Microsoft Graph para llamadas y reuniones en línea. Estas API le permitirán añadir las siguientes características nuevas:
- Use respuesta de voz interactiva (IVR).
- Use el control de llamadas.
- Proporcione acceso a secuencias de audio y vídeo en tiempo real, incluido el uso compartido de aplicaciones y escritorio.
Cree un bot y especifique información adicional y permisos para usar estas API de Graph en una aplicación de Teams.
Esta guía paso a paso le ayuda a configurar el bot de llamadas y reuniones de Teams. Verá la siguiente salida:
Requisitos previos
Asegúrese de instalar las herramientas siguientes y de configurar el entorno de desarrollo:
Instalar | Para usar... | |
---|---|---|
Cuenta de desarrollador de Microsoft 365 | Acceso a la cuenta de Teams con los permisos adecuados para instalar una aplicación. | |
Visual Studio 2022 | Puede instalar la versión empresarial en Visual Studio 2022 e instalar las cargas de trabajo ASP.NET y desarrollo web. Use la versión más reciente. | |
SDK de .NET Core | Enlaces personalizados para la depuración local y las implementaciones de aplicaciones de Azure Functions. Use la versión más reciente o instale la versión portátil. | |
Microsoft Teams | Microsoft Teams para colaborar con todos los usuarios con los que trabaje a través de aplicaciones para chat, reuniones y llamadas a todos en un solo lugar. | |
Windows PowerShell | Instale ejecutando todos los comandos. | |
Túnel de desarrollo | Las características de aplicaciones de Teams (bots conversacionales, extensiones de mensajes y webhooks entrantes) necesitan conexiones entrantes. Un túnel conecta el sistema de desarrollo a Teams. Dev tunnel es una herramienta eficaz para abrir de forma segura tu host local a Internet y controlar quién tiene acceso. El túnel de desarrollo está disponible en Visual Studio 2022, versión 17.7.0 o posterior. También puede usar ngrok como túnel para conectar el sistema de desarrollo a Teams. No es necesario para las aplicaciones que solo incluyen pestañas. Este paquete se instala en el directorio del proyecto (mediante npm devDependencies). |
Nota:
Después de descargar ngrok, regístrese e instale authtoken.
Configuración del entorno local
Abra Microsoft-Teams-Samples.
Seleccione Código.
En el menú desplegable, seleccione Abrir con GitHub Desktop.
Seleccione Clonar.
Registro de Microsoft Entra aplicación
Para registrar una aplicación mediante microsoft Azure Portal para que la aplicación se integre con el Plataforma de identidad de Microsoft y llame a Microsoft Graph API, siga estos pasos:
- Cree un túnel ngrok en los puntos de conexión del servidor web.
- Cree un recurso de bot de Azure para registrar el bot con Azure Bot Service.
- Cree un secreto de cliente que habilite la autenticación de inicio de sesión único (SSO) del bot.
- Cree una directiva para que un usuario de inquilino de demostración cree reuniones en línea mediante PowerShell.
- Agregue permisos de API para las llamadas de nivel inferior.
- Cree el registro del canal de bot en la cuenta de Azure.
- Agregue el canal de Microsoft Teams para implementar el bot en un canal de Teams.
- Agregue el punto de conexión de mensajería al túnel ngrok que ha creado.
Agregar registro de aplicación
Acceda a Portal Azure.
Seleccione Registros de aplicaciones.
Seleccione + Nuevo registro.
Escriba el nombre de la aplicación.
Seleccione Cuentas en cualquier directorio organizativo (cualquier inquilino Microsoft Entra ID multiinquilino).
Seleccione Registrar.
La aplicación está registrada en Microsoft Entra ID. Aparece la página de información general de la aplicación.
Nota:
Guarde el identificador de la aplicación desde el identificador de aplicación (cliente) y el identificador de directorio (inquilino) para su uso posterior.
Creación de un túnel
Abra Visual Studio.
Seleccione Crear un nuevo proyecto.
En el cuadro de búsqueda, escriba ASP.NET. En los resultados de la búsqueda, seleccione ASP.NET Core aplicación web.
Seleccione Siguiente.
Escriba Nombre del proyecto y seleccione Siguiente.
Seleccione Crear.
Aparece una ventana de información general.
En la lista desplegable de depuración, seleccione Túneles de desarrollo (sin túnel activo)>Crear un túnel....
Aparecerá una ventana emergente.
Actualice los detalles siguientes en la ventana emergente:
- Cuenta: escriba una cuenta de Microsoft o GitHub.
- Nombre: escriba un nombre para el túnel.
- Tipo de túnel: en la lista desplegable, seleccione Temporal.
- Acceso: en la lista desplegable, seleccione Público.
Seleccione Aceptar.
Aparece una ventana emergente que muestra que el túnel de desarrollo se ha creado correctamente.
Seleccione Aceptar.
Puede encontrar el túnel que ha creado en la lista desplegable de depuración de la siguiente manera:
Seleccione F5 para ejecutar la aplicación en el modo de depuración.
Si aparece un cuadro de diálogo Advertencia de seguridad , seleccione Sí.
Aparecerá una ventana emergente.
Seleccione Continuar.
La página principal del túnel de desarrollo se abre en una nueva ventana del explorador y el túnel de desarrollo ya está activo.
Vaya a Visual Studio y seleccione Ver > salida.
En el menú desplegable Consola de salida , seleccione Túneles de desarrollo.
La consola de salida muestra la dirección URL del túnel de desarrollo.
Adición de una autenticación web
En el panel izquierdo, en Administrar, seleccione Autenticación.
Seleccione Agregar una plataforma>web.
Escriba el URI de redireccionamiento de la aplicación anexando
auth-end
al nombre de dominio completo. Por ejemplo,https://your-devtunnel-domain/auth-end
ohttps://your-ngrok-domain/auth-end
.En Flujos híbridos y de concesión implícita, seleccione las casillas Tokens de acceso y tokens de identificador .
Seleccione Configurar.
En Web, seleccione Agregar URI.
Escriba
https://token.botframework.com/.auth/web/redirect
.Haga clic en Guardar.
Creación de un secreto de cliente
En el panel izquierdo, en Administrar, seleccione Certificados & secretos.
En Secretos de cliente, seleccione + Nuevo secreto de cliente.
Aparece la ventana Agregar un secreto de cliente .
Escriba Descripción.
Seleccione Agregar.
En Valor, seleccione Copiar en el Portapapeles para guardar el valor del secreto de cliente para su uso posterior.
Adición de permisos de API para llamadas de nivel inferior
En el panel izquierdo, en Administrar, seleccione Permisos de API.
Seleccione + Agregar un permiso.
Seleccione Microsoft Graph.
Seleccione Permisos de aplicación.
Seleccione los permisos siguientes:
Calls.AccessMedia.All
Calls.Initiate.All
Calls.InitiateGroupCall.All
Calls.JoinGroupCall.All
Calls.JoinGroupCallAsGuest.All
OnlineMeetings.ReadWrite.All
Seleccione Agregar permisos.
Nota:
- Si a una aplicación no se le concede el consentimiento del administrador de TI, los usuarios deben proporcionar su consentimiento la primera vez que usen una aplicación.
- Los usuarios deben dar su consentimiento a los permisos de API solo si la aplicación de Microsoft Entra está registrada en un inquilino diferente.
Agregar un ámbito
En el panel izquierdo, en Administrar, seleccione Exponer una API.
Seleccione + Agregar un ámbito.
Escriba access_as_user como nombre del ámbito.
En ¿Quién puede dar su consentimiento?, seleccione Administradores y usuarios.
Actualice los valores del resto de los campos de la siguiente manera:
Escriba Teams para acceder al perfil del usuario como Administración nombre para mostrar del consentimiento.
Entrar Permite a Teams llamar a las API web de la aplicación como el usuario actual como Administración descripción del consentimiento.
Escriba Teams para acceder al perfil de usuario y realizar solicitudes en nombre del usuario como nombre para mostrar del consentimiento del usuario.
Escriba Habilitar Teams para llamar a las API de esta aplicación con los mismos derechos que el usuario que ladescripción del consentimiento del usuario.
Asegúrese de que Estado se establece en Habilitado.
Seleccione Agregar ámbito.
En la imagen siguiente se muestran los campos y los valores:
Nota:
El nombre del ámbito debe coincidir con el URI del identificador de aplicación con
/access_as_user
anexado al final.
Agregar aplicación cliente
En el panel izquierdo, en Administrar, seleccione Exponer una API.
En Aplicaciones cliente autorizadas, identifique las aplicaciones que desea autorizar para la aplicación web de la aplicación.
Seleccione + Agregar una aplicación cliente.
Agregue aplicaciones web de Teams para dispositivos móviles o de escritorio y Teams.
Para equipos móviles o de escritorio de Teams: escriba el identificador de cliente como
1fec8e78-bce4-4aaf-ab1b-5451cc387264
.En Web de Teams: escriba el identificador de cliente como
5e3ce6c0-2b1f-4285-8d4b-75ee78787346
.
Active la casilla Ámbitos autorizados .
Seleccione Agregar aplicación.
En la imagen siguiente se muestra el identificador de cliente:
Crear una directiva
Para crear una directiva que permita a un usuario de inquilino de demostración crear reuniones en línea mediante un script de PowerShell, siga estos pasos:
Ejecute Windows PowerShell PSI como administrador y ejecute el script.
New-CsApplicationAccessPolicy -Identity "<<policy-identity/policy-name>>" -AppIds "<<azure-client-id>>" -Description "Policy-description" Grant-CsApplicationAccessPolicy -PolicyName "<<policy-identity/policy-name>>" -Identity "<<object-id-of-the-user-to-whom-policy-need-to-be-granted>>"
Nota:
Si usa la psi de Windows PowerShell por primera vez, ejecute los siguientes comandos:
- Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
- Ejecutar Install-Module -Name MicrosoftTeams -Force -AllowClobber
Reemplace los campos siguientes en Windows PowerShell script:
Campo Descripción policy-identity/policy-name Nombre de la directiva. azure-client-id Identificador de aplicación de Microsoft, que generó al registrar la aplicación en Azure Portal. Descripción de directiva Descripción de la directiva. object-id-of-the-user-to-whom-policy-need-to-be-granted Identificador del usuario para el que necesita generar la directiva mediante el explorador de grafos. Para generar el identificador de objeto, inicie sesión en el Explorador de Microsoft Graph con las credenciales a las que se debe conceder la directiva.
Seleccione El Explorador de Graph en la barra de herramientas.
Seleccione Ejecutar consulta. Se genera una respuesta en La vista previa de la respuesta.
Copie el valor de la
id
propiedad de la vista previa de respuesta y reemplace por el identificador de objeto en el script de PowerShell.Ejecute el script de PowerShell.
Ejecute
Connect-MicrosoftTeams
e inicie sesión con las credenciales a las que se debe conceder la directiva.Ejecute el siguiente comando en PowerShell para comprobar si la directiva se ha creado correctamente o no. Reemplace el nombre de la directiva por el nombre de directiva definido.
Get-CsApplicationAccessPolicy -Identity “<<policy-identity/policy-name>>”
Nota:
Asegúrese de que los scripts en ejecución no están deshabilitados en el sistema. Para obtener más información, vea Directivas de ejecución.
Creación del bot
Creación de un recurso de bot de Azure
Nota:
Si ya está probando el bot en Teams, cierre la sesión de esta aplicación y Teams. Para ver este cambio, vuelva a iniciar sesión.
Ve a Inicio.
Seleccione + Crear un recurso.
En el cuadro de búsqueda, escriba Azure Bot.
Seleccione Introducir.
Seleccione Bot de Azure.
Seleccione Crear.
Escriba el nombre del bot en Identificador de bot.
Seleccione su Suscripción en la lista desplegable.
Seleccione el Grupo de recursos en la lista desplegable.
Si no tiene un grupo de recursos existente, puede crear un nuevo grupo de recursos. Para crear un nuevo grupo de recursos, siga estos pasos:
- Seleccione Crear nuevo.
- Escriba el nombre del recurso y seleccione Aceptar.
- Seleccione una ubicación en la lista desplegable Nueva ubicación del grupo de recursos .
En Precios, seleccione Cambiar plan.
Seleccione FO FreeSelect (Seleccionar libre> de FO).
En Id. de aplicación de Microsoft, seleccione Tipo de aplicación como multiinquilino.
En Tipo de creación, seleccione Usar registro de aplicación existente.
Escriba el identificador de aplicación.
Nota:
No puede crear más de un bot con el mismo identificador de aplicación de Microsoft.
Seleccione Revisar y crear.
Una vez superada la validación, seleccione Crear.
El bot tarda unos minutos en aprovisionarse.
Seleccione Ir a recursos.
Ha creado correctamente el bot de Azure.
Agregar un canal de Teams
En el panel izquierdo, seleccione Canales.
En Canales disponibles, seleccione Microsoft Teams.
Active la casilla para aceptar los Términos de servicio.
Seleccione Aceptar.
Seleccione Aplicar.
Para agregar un punto de conexión de mensajería
Use la dirección URL del túnel de desarrollo en la consola de salida como punto de conexión de mensajería.
En el panel izquierdo, en Configuración, seleccione Configuración.
Actualice el punto de conexión de mensajería con el formato
https://your-devtunnel-domain/api/messages
.Seleccione Aplicar.
Ha configurado correctamente un bot en Azure Bot Service.
Nota:
Si la clave de instrumentación de Application Insights muestra un error, actualice con el identificador de aplicación.
Configuración de la configuración de la aplicación y archivos de manifiesto
Obtenga o
tenantId
UserId
de Teams. Para obtener ,tenantId
siga estos pasos:Seleccione Teams.
Seleccione Más opciones (...).
Seleccione Obtener el vínculo para el equipo.
Puede obtener y desde el
displayName
id
sitio:Inicie sesión en Microsoft Graph Explorer con su cuenta de inquilino de Teams.
Agregue
Users
al final de la dirección URL en el cuadro de búsqueda.Seleccione Ejecutar consulta.
Se generan los nombres para mostrar y los identificadores de usuario vinculados a la cuenta.
Seleccione tres cuentas y agréguelas a
DisplayName
yUserId
en el archivo appsettings.json.Nota:
TenantId
oUserId
de la cuenta de Teams indica desde dónde desea iniciar la llamada yDisplayName
UserId
de los usuarios denota a quién desea redirigir o transferir la llamada.
Actualización de la configuración de la aplicación
Vaya al archivo appsettings.json en el repositorio clonado.
Abra el archivo appsettings.json en Visual Studio y actualice la siguiente información:
- Reemplace
MicrosoftAppId
,ClientId
yAppId
por el identificador de aplicación de Microsoft del bot. - Reemplace
MicrosoftAppPassword
,ClientSecret
yAppSecret
por Valor del secreto de cliente del bot. - Reemplace por
BotBaseUrl
el nombre de dominio ngrok o dev tunnel. - Reemplace por
TenantId
.UserId
- Reemplace por
DisplayName
.Id
- Reemplace
Haga clic en Guardar.
Actualizar el manifiesto de la aplicación
Vaya al archivo manifest.json en el repositorio clonado.
Abra el archivo manifest.json en Visual Studio y realice los siguientes cambios:
- Reemplace
{id}`` and
{BotId}' por el identificador de la aplicación de Microsoft. - Reemplace todas las repeticiones de por el nombre de
{{domain-name}}
dominio de ngrok o de túnel de desarrollo.
- Reemplace
Compilación y ejecución del servicio
Para compilar y ejecutar el servicio, use Visual Studio:
Incorporación de un bot de llamadas y reuniones a Teams
En el repositorio clonado, vaya a csharp > Source > AppManifest.
Cree un archivo .zip con los siguientes archivos presentes en la carpeta AppManifest :
- manifest.json
- outline.png
- color.png
Nota:
manifest.zip
no debe contener carpetas adicionales. Debe tenermanifest json
el archivo de origen,color
el icono youtline
el icono dentro de la carpeta zip.En el cliente de Teams, seleccione el icono Aplicaciones .
Seleccione Administrar las aplicaciones.
Seleccione Cargar una aplicación.
En la ventana emergente, seleccione Cargar una aplicación personalizada. Si ve la opción , la carga de aplicaciones personalizada está habilitada.
Vaya a csharp > Source > AppManifest.
Seleccione Abrir para cargar el archivo .zip que creó en la carpeta AppManifest .
Seleccione Agregar para instalar la aplicación de bot de llamadas en Teams.
Interacción con el bot de llamadas y reuniones
Bot le permite acceder a servicios y contenido en un espacio dedicado dentro de un canal o en un chat.
Vamos a interactuar con la aplicación en Teams.
En el panel izquierdo de Teams, seleccione Ver más aplicaciones (...) y seleccione la aplicación en la lista.
El bot envía texto de bienvenida con la tarjeta adaptable.
Seleccione Crear llamada.
Seleccione Transferir llamada.
Puede pedir al bot que programe una reunión e invite a los participantes.
Desafío completo
¿Se le ocurrió una salida así?
¡Enhorabuena!
Ha completado el tutorial para empezar a llamar a bots y a la aplicación de reunión para Microsoft Teams.
¿Tiene algún problema con esta sección? Si es así, envíenos sus comentarios para que podamos mejorarla.