EasyUC para Cisco
Presence Sync: funcionamiento y arquitectura
Qué estados se transfieren en qué dirección, cómo transcurre una ejecución de sincronización y dónde se almacenan los datos.
En EasyUC: Presence Sync → Presence profiles
Para qué sirve
Presence Sync sincroniza el estado de presencia entre Microsoft Teams y la telefonía Cisco. El caso más frecuente: un empleado está en una llamada en el teléfono de sobremesa Cisco. Sin sincronización, Teams lo sigue mostrando como disponible, los compañeros lo llaman o le escriben e interrumpen la llamada. Con Presence Sync aparece en Teams como "En una llamada" mientras la llamada está establecida.
Este capítulo explica la función antes de que usted configure nada: qué variante corresponde a qué cliente Cisco, qué estado se transfiere en qué dirección, cómo transcurre una ejecución de sincronización, qué interfaces y permisos intervienen y qué se transfiere a Microsoft. La configuración en sí se describe en los capítulos siguientes.
Presence Sync es un módulo propio con su propia área de trabajo y su propio servicio en segundo plano. No necesita ni el Teams SBC ni el ACD. Un perfil de presencia no tiene puerto SIP, nombre de host ni certificado.
Requisitos previos
- Para leer este capítulo no necesita ningún permiso. Para la configuración rigen los roles del capítulo sobre el perfil de presencia.
- Sabe con qué cliente Cisco trabajan los usuarios: teléfonos de sobremesa y Jabber con Cisco IM and Presence, o la aplicación Webex. De ello depende la variante.
- Tiene acceso a Microsoft Entra para crear un registro de aplicación y conceder el consentimiento de administrador.
- Para la variante Jabber: un CUCM con la supervisión de llamadas configurada en EasyUC y, para el estado de Jabber, un Cisco IM and Presence con un servicio web de presencia accesible.
Paso a paso: cómo proceder
Campos y opciones: variantes de un vistazo
| Campo / acción | Significado y uso |
|---|---|
| CUCM-Anrufstatus → Teams | El origen son las llamadas establecidas de la supervisión de llamadas de la conexión CUCM (JTAPI). Una llamada establecida en el teléfono Cisco o en el softphone pone al usuario de Teams asignado en "En una llamada". El simple timbre no fija ningún estado. Esta dirección no necesita IM and Presence. |
| Cisco Jabber → Teams | EasyUC lee el estado de Jabber mediante el servicio web de presencia de Cisco IM and Presence y publica "Disponible" y "Ausente" en Teams. |
| Teams → Cisco Jabber | EasyUC lee el estado de Teams mediante Microsoft Graph y lo publica en Jabber mediante el servicio web de presencia: disponible, ausente, ocupado, así como llamadas y reuniones. |
| Cisco Webex (integración nativa) | Con la aplicación Webex, el estado reside en la nube de Webex. La sincronización con Teams la realiza Cisco mediante "Cisco Call for Microsoft Teams". Aquí EasyUC no publica nada por sí mismo. Puede leer y fijar el interruptor de toda la organización de la integración y observa los cambios de estado en ambos lados. |
| Varias direcciones a la vez | Las tres direcciones de Jabber se pueden activar por separado y se pueden combinar. Microsoft Graph permite una sesión por usuario para cada aplicación. Por eso EasyUC fusiona el estado de Jabber y las llamadas de CUCM en un solo origen. |
| Asignación de usuarios | EasyUC reconoce a la misma persona por un identificador que tiene el mismo valor en ambos sistemas, por ejemplo la dirección de correo electrónico o el número de teléfono. La vista previa muestra Eindeutig (único), Nicht gefunden (no encontrado) o Mehrdeutig (ambiguo) para cada usuario. Solo las coincidencias únicas y las asignaciones manuales participan en la sincronización. |
| Intervalo | El servicio en segundo plano trabaja con una frecuencia base de 5 segundos. Para cada perfil se fijan de 5 a 60 segundos; el valor predeterminado es 10. |
| Dry run | Calcula por completo una ejecución de sincronización y muestra los cambios previstos. No se publican estados ni se escriben eventos. |
| Presence Live | Registro por perfil: cada publicación, renovación, eliminación, omisión y cada error con hora, usuario, dirección, estado de origen antes y después, estado de destino, resultado y motivo. |
Tabla de estados: Cisco → Teams
| Campo / acción | Significado y uso |
|---|---|
| Llamada establecida en el dispositivo Cisco | Teams: disponibilidad "Ocupado" con actividad "En una llamada". El único origen es una llamada confirmada por la supervisión de llamadas. Cuando termina, EasyUC elimina su sesión y Teams vuelve a mostrar el estado propio del usuario. |
| Timbre, marcación | Ningún cambio en Teams. |
| Jabber: disponible | Teams: "Disponible". |
| Jabber: ausente | Teams: "Ausente". |
| Jabber: ocupado, en una reunión | Se omite y se registra: "Microsoft Graph unterstützt diesen Status nicht als sichere App-Session." Significa: Microsoft Graph no admite este estado como sesión de aplicación segura. |
| Jabber: no molestar | Se omite y se registra. EasyUC no sobrescribe un estado de Teams que el usuario ha fijado personalmente. |
| Jabber: desconectado | EasyUC elimina su propia sesión en Teams. No notifica artificialmente al usuario como desconectado. |
| Estado desconocido u origen no accesible | El último estado publicado se mantiene hasta que caduca. Un fallo del origen nunca significa "disponible". |
| Estado que el propio EasyUC ha fijado en Jabber | No se refleja de vuelta en Teams: "Die eigene EasyUC-PWS-Quelle wird nicht zurück nach Teams gespiegelt." Significa: el origen PWS propio de EasyUC no se refleja de vuelta en Teams. |
Tabla de estados: Teams → Cisco Jabber
| Campo / acción | Significado y uso |
|---|---|
| Teams: Disponible | Jabber: disponible. |
| Teams: Ausente, Vuelvo enseguida | Jabber: ausente. |
| Teams: Ocupado | Jabber: ocupado. |
| Teams: En una llamada | Jabber: ocupado con indicador de llamada ("On a call"). |
| Teams: En una llamada de conferencia | Jabber: como para "On a call". |
| Teams: En una reunión | Jabber: ocupado. |
| Teams: No molestar, Presentando | Se omite y se registra: "Ein persönlicher Cisco-DND-Override wird nicht überschrieben." Significa: no se sobrescribe una anulación DND personal de Cisco. Para "No molestar", Cisco exige una anulación global, que EasyUC no fija. |
| Teams: Desconectado | EasyUC elimina su propio origen en Jabber. |
| Estado desconocido | El origen existente en Jabber se mantiene. |
| Estado que el propio EasyUC ha fijado en Teams | No se refleja de vuelta en Cisco: "Der von EasyUC in Teams gesetzte Status wird nicht zurück nach Cisco gespiegelt." Significa: el estado fijado en Teams por EasyUC no se refleja de vuelta en Cisco. Esto evita un bucle de realimentación. |
Cómo transcurre una ejecución de sincronización
Flujo de datos y lugares de almacenamiento
| Campo / acción | Significado y uso |
|---|---|
| Qué va a Microsoft | Para cada usuario asignado, el estado de presencia como par de disponibilidad y actividad, por ejemplo "Ocupado / En una llamada". No se transfieren números de teléfono, interlocutores, duración de la llamada ni contenido de la llamada. |
| Qué lee EasyUC de Microsoft | Los usuarios del tenant con el identificador seleccionado para la asignación y, cuando la dirección inversa está activada, su estado de presencia. |
| Qué va a Cisco IM and Presence | El estado leído de Teams como presencia enriquecida (rich presence) para la dirección de Jabber del usuario. |
| Qué se almacena en el appliance | Perfiles, credenciales, asignación de usuarios, el último estado observado por usuario y el registro de Presence Live. Todo está en la base de datos de su appliance. |
| Contenido del registro | Hora en UTC con milisegundos, perfil, usuario, cliente, dirección, estado anterior, estado de origen y de destino, acción, resultado y motivo. No se incluyen credenciales, claves de sesión ni tokens. |
| Servicio en segundo plano | Un servicio propio en el appliance con una instancia. El Manager muestra su estado, sus registros y un control de reinicio por separado de los demás servicios. |
| Tiempos de caducidad en el fabricante | Una sesión fijada por EasyUC en Microsoft Graph caduca a los diez minutos; un origen en Cisco IM and Presence, al cabo de una hora. EasyUC renueva antes los estados activos. Si EasyUC falla, los estados que ha fijado desaparecen a más tardar cuando se alcanza este tiempo de caducidad. |
Interfaces y permisos
| Campo / acción | Significado y uso |
|---|---|
| Microsoft Graph | Registro de aplicación en Microsoft Entra con ID de cliente y secreto de cliente. Permisos de aplicación con consentimiento de administrador: User.Read.All (leer usuarios), Presence.Read.All (leer el estado) y Presence.ReadWrite.All (publicar el estado). En el modo Webex bastan los dos permisos de lectura. |
| CUCM: supervisión de llamadas | La conexión CUCM de EasyUC supervisa las llamadas activas en todos los dispositivos (JTAPI a través del CTI Manager). Presence Sync comparte esta supervisión. |
| CUCM: directorio de usuarios | Acceso de lectura AXL para asignar las líneas a sus usuarios y direcciones de Jabber. Puede utilizar una conexión CUCM existente o introducir un acceso AXL independiente. |
| Cisco IM and Presence | Servicio web de presencia a través de HTTPS. Publica un usuario de aplicación con el rol Admin-3rd Party API. Para leer el estado de Jabber, EasyUC necesita además un usuario final propio como observador. El certificado se verifica siempre. |
| Webex | Una integración de Webex con ID de cliente, secreto de cliente y token de actualización, y el ID de la organización. Permisos de lectura para las personas y para los ajustes de telefonía; para cambiar el interruptor de la integración, además el permiso de escritura y un rol de administrador adecuado. |
| Roles en EasyUC | Permisos independientes para ver perfiles, modificar perfiles, ver la sincronización y modificar la sincronización. Los detalles están en el capítulo sobre el perfil de presencia. |
Límites
- "No molestar" no se transfiere en ninguna de las dos direcciones. Ambos fabricantes tratan este estado como una decisión personal del usuario, que EasyUC no sobrescribe.
- "Presentando" no se puede deducir de forma fiable del estado de Jabber y no se transfiere.
- Desde Jabber solo llegan a Teams "Disponible" y "Ausente". Un estado de llamada procede exclusivamente de la supervisión de llamadas del CUCM.
- Las líneas CUCM compartidas (shared lines) no se atribuyen a un único usuario y no fijan ningún estado de llamada.
- Por cada aplicación de Entra solo puede publicar un perfil de presencia. Por cada usuario de aplicación de IM and Presence solo puede escribir en Jabber un perfil.
- La sincronización consulta a los fabricantes de forma cíclica. Los estados que duran menos que el intervalo pueden pasar inadvertidos.
- En el modo Webex, Beobachtet (observado) significa que EasyUC ha leído un estado de origen. No confirma una transferencia individual por parte de Cisco.
- La forma en que Jabber muestra un estado fijado desde fuera y lo fusiona con sus propios orígenes depende de la versión de IM and Presence y de Jabber. Compruébelo con sus versiones durante las pruebas de aceptación.
Comprobar el resultado y acotar errores
- Ha comprendido la función cuando puede predecir, para un usuario de prueba, qué muestra Teams durante una llamada en el teléfono Cisco y qué no se transfiere.
- Si la expectativa no coincide con el comportamiento, abra Presence Live y lea la entrada del usuario. El resultado y el motivo indican qué ha hecho u omitido EasyUC.
- Si un usuario no aparece en absoluto en el registro, no está asignado de forma única. Compruebe la asignación en el perfil con Zuordnung prüfen (comprobar asignación).
- Los mensajes individuales, con su significado y su solución, están en el capítulo sobre los patrones de error.