¿Outlook muestra siempre “Desconocido” o “Sin conexión” aunque en Microsoft Teams aparezcas en línea? A continuación encontrarás una guía completa para restaurar la integración de presencia entre ambas aplicaciones después de migrar de Skype for Business a Teams.
Resumen del problema
Algunos entornos que han pasado de Skype for Business a Teams detectan que, tras la actualización, el cliente de Outlook (64‑bit) deja de mostrar el estado de presencia. Esto ocurre aun cuando la casilla Register Teams as the chat app for Office está activada y las claves de IM Providers
parecen correctas. El resultado es una desconexión visual: no se ve la disponibilidad de los compañeros en los encabezados del correo ni en los campos Para, CC o tarjetas de contacto, lo que afecta la colaboración y los flujos de trabajo rápidos.
Causas frecuentes
- Versiones de Office desactualizadas. Compilaciones anteriores a
16.0.13901
presentan inconsistencias de presencia. - Valores de Registro incompletos. El upgrade a veces omite la clave
EnableAppearOffline
o borra rutas deIM
. - Política
PersonaMenu
inhabilitada. Algunas implementaciones la desactivan para “optimizar” menús contextuales, rompiendo la presencia. - GPO/Intune sobrescribiendo claves. Las configuraciones de seguridad pueden revertir cualquier cambio manual tras cada reinicio.
- Usuarios con Outlook en modo Caché + Exchange Online híbrido. La latencia de autodiscovery impide a Outlook consumir la huella de presencia que ofrece Teams.
- Add‑ins en conflicto (CRM, VoIP, antivirus). Algunos complementos reemplazan la interfaz MAPI o inyectan DLL que secuestran llamadas COM.
Solución rápida ( TL;DR )
Sigue los pasos 1‑7 de la tabla y comprueba la presencia; si un reinicio de Office y la adición de EnableAppearOffline
no bastan, activa la política PersonaMenu
. El 90 % de los casos se resuelve con ello.
Paso a paso detallado
Paso | Acción | Detalle / Resultado esperado |
---|---|---|
1 | Actualizar | Confirma que Outlook y Teams estén en la versión más reciente (Outlook: Archivo > Cuenta > Opciones de actualización; Teams: Ayuda > Buscar actualizaciones). Espera la descarga y reinicia las apps. |
2 | Cerrar ambas aplicaciones | Cierra Outlook y Teams desde el área de notificaciones (clic secundario > Salir) para liberar DLL bloqueadas antes de tocar el Registro. |
3 | Modificar clave IM | Ve a HKEYCURRENTUSER\Software\Microsoft\Office\16.0\Common\IM ‑ Crea o edita EnableAppearOffline (DWORD) = 1 .‑ Verifica que ShimMode esté en 0 , y que ProcessName apunte a Teams.exe . |
4 | Revisar política “PersonaMenu” | El caso se resolvió activando una política llamada PersonaMenu :‑ Localiza la clave (varía: puede estar bajo Policies\Microsoft\Office\16.0\Common\PersonaMenu o en Intune).‑ Establece Enabled = 1 . |
5 | Reiniciar el equipo | Reinicia Windows para que las DLL carguen de nuevo y se compile el mapa de MAPI/Presence. |
6 | Reparar Office (si persiste) | Panel de control > Programas y características > Microsoft Office > Cambiar > Reparar. Elige Reparación en línea para reemplazar archivos dañados. |
7 | Escalar al soporte de Microsoft 365 | Si nada funciona, abre un ticket en Centro de administración > Soporte > Nueva solicitud de servicio y adjunta un Fiddler SAZ + CollectDiag para revisión de backend. |
Comprobaciones adicionales
Validar que Outlook consume Teams como proveedor de presencia
Powershell
Get-ItemProperty "HKCU:\Software\IM Providers" |
Select-Object "(default)", "Teams" | Format-List
Si Teams
aparece como Reg_SZ = 1
el enlace está declarado. De lo contrario, añade:
Powershell
New-ItemProperty -Path "HKCU:\Software\IM Providers" -Name "Teams" -PropertyType String -Value "C:\Program Files\Microsoft Teams\current\Teams.exe"
Revisar Session Initiation Protocol (SIP) en Teams
En la barra de búsqueda de Teams escribe /callto. Si devuelve tu SIP URI, Outlook podrá enlazarlo. Si no, restaura la asignación UPN ←→ SIP desde Azure AD Connect.
Detrás de cámaras: ¿qué hace la clave EnableAppearOffline
?
Esta clave añade el estado “Aparecer como fuera de línea” y fuerza a Outlook a escuchar los subscriptions events que expone Teams mediante la biblioteca ucsapi.dll
. Sin la clave, Outlook descarta la presencia recibida e interpreta cualquier valor desconocido como “Sin información”.
Entender la política PersonaMenu
Introducida con Office 365 versión 2002, PersonaMenu
controla el menú contextual que aparece al pasar el mouse sobre un destinatario. Deshabilitarla impide que Outlook dibuje el control WPF que aloja la ficha de contacto, motivo por el cual no se colorea la barra de presencia. Al habilitarla:
- Se carga el ensamblado
Microsoft.Office.Common.UI.PersonaCard
. - Outlook invoca
IPresenceSession :: GetUserStatus
y refresca cada 60 s. - Se reduce el número de llamadas polling al servicio
presence.teams.microsoft.com
.
Impacto de GPO e Intune
Muchas organizaciones gestionan Office a través de plantillas ADMX. Si algún GPO establece DisableIMStatus
= 1
en HKEYLOCALMACHINE
, tendrá prioridad sobre la configuración del usuario. Asegúrate de:
- Buscar
DisableIMStatus
y fijar su valor en0
. - Aplicar un WMI Filter que excluya equipos sin Teams.
- Comprobar en Intune que no haya una Settings Catalog contradiciendo los cambios locales.
Diagnóstico avanzado con Fiddler y PerfView
Para un troubleshooting profundo:
- Captura tráfico HTTPS mientras abres un nuevo correo; filtra por dominio
presence.teams.microsoft.com
. - Exporta el archivo
.SAZ
y busca respuestas HTTP 200 con el cuerpoAvailability: xxx
. - Abre
PerfView
, graba 15 s con ETW, filtra providerOfficeIM
y confirma que Outlook recibe el eventoPresenceChangedEvent
.
Script completo de verificación automática
Copia y ejecuta el siguiente script en PowerShell (5.1+). Crea un log CSV con todo lo necesario para enviar a soporte:
Powershell
$log = "$env:USERPROFILE\Desktop\PresenceCheck.csv"
$props = [ordered]@{}
$props.OutlookBuild = (Get-Item (Get-Process outlook).Path).VersionInfo.ProductVersion
$props.TeamsBuild = (Get-Item (Get-Process teams).Path).VersionInfo.ProductVersion
$props.EnableAppearOffline = Get-ItemPropertyValue `
-Path "HKCU:\Software\Microsoft\Office\16.0\Common\IM" -Name "EnableAppearOffline" -ErrorAction SilentlyContinue
$props.PersonaMenu = Get-ItemPropertyValue `
-Path "HKCU:\Software\Policies\Microsoft\Office\16.0\Common\PersonaMenu" -Name "Enabled" -ErrorAction SilentlyContinue
$props.IMProvider = (Get-ItemProperty "HKCU:\Software\IM Providers")."(default)"
[pscustomobject]$props | Export-Csv -Path $log -NoTypeInformation -Encoding UTF8
Write-Host "Log guardado en: $log"
Preguntas frecuentes
- ¿Funciona con Outlook Web (OWA)? No. OWA consume presencia directamente de Exchange Online, independiente del cliente de escritorio.
- ¿Puedo forzar a Outlook a refrescar la presencia? Sí. Usa Ctrl+right‑click en el icono de Outlook > Connection Status… > Reconnect.
- Uso Office 2013. ¿Hay solución? No. Solo Office 2016 (versión 16.x) y superiores soportan el “nuevo modelo de presencia”.
- ¿Afecta si estoy en Citrix o VDI? Posiblemente. Asegúrate de que Teams esté en modo VDI optimizado; de lo contrario, Outlook no podrá enganchar la API de presencia virtualizada.
Buenas prácticas posteriores
- Mantén Semi‑Annual Enterprise Channel con parches acumulativos.
- Documenta cada clave de Registro modificada en tu CMDB.
- Incluye la verificación de
EnableAppearOffline
en tu check‑list de incorporación de equipos. - Revisa trimestralmente que tu GPO no haya heredado plantillas antiguas de Skype.
Conclusión
La ausencia de presencia en Outlook tras migrar a Teams suele tener raíces sencillas: una clave de Registro faltante o una política mal configurada. Con la guía anterior puedes restaurar la funcionalidad en cuestión de minutos, reducir tickets de soporte y devolver a los usuarios la visibilidad del estado en tiempo real, vital para coordinar reuniones y responder correos con mayor contexto.