EasyUC
4.8.7

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.

EasyUC · Versión 4.8.7

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

  1. Determine la variante con la tabla Variantes de un vistazo.
  2. Lea las tablas de estados y aclare con el departamento correspondiente qué direcciones se necesitan. A menudo basta con CUCM-Anrufstatus → Teams (estado de llamada de CUCM).
  3. Compruebe con la tabla Interfaces y permisos qué cuentas y aprobaciones debe preparar.
  4. Lea la sección Límites para que las expectativas sobre "No molestar" y "Presentando" sean las correctas.
  5. Después configure Presence Sync con la lista de comprobación de principio a fin.

Campos y opciones: variantes de un vistazo

Campos y opciones: variantes de un vistazo
Campo / acciónSignificado y uso
CUCM-Anrufstatus → TeamsEl 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 → TeamsEasyUC 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 JabberEasyUC 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 vezLas 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 usuariosEasyUC 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.
IntervaloEl 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 runCalcula por completo una ejecución de sincronización y muestra los cambios previstos. No se publican estados ni se escriben eventos.
Presence LiveRegistro 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

Tabla de estados: Cisco → Teams
Campo / acciónSignificado y uso
Llamada establecida en el dispositivo CiscoTeams: 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ónNingún cambio en Teams.
Jabber: disponibleTeams: "Disponible".
Jabber: ausenteTeams: "Ausente".
Jabber: ocupado, en una reuniónSe 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 molestarSe omite y se registra. EasyUC no sobrescribe un estado de Teams que el usuario ha fijado personalmente.
Jabber: desconectadoEasyUC elimina su propia sesión en Teams. No notifica artificialmente al usuario como desconectado.
Estado desconocido u origen no accesibleEl último estado publicado se mantiene hasta que caduca. Un fallo del origen nunca significa "disponible".
Estado que el propio EasyUC ha fijado en JabberNo 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

Tabla de estados: Teams → Cisco Jabber
Campo / acciónSignificado y uso
Teams: DisponibleJabber: disponible.
Teams: Ausente, Vuelvo enseguidaJabber: ausente.
Teams: OcupadoJabber: ocupado.
Teams: En una llamadaJabber: ocupado con indicador de llamada ("On a call").
Teams: En una llamada de conferenciaJabber: como para "On a call".
Teams: En una reuniónJabber: ocupado.
Teams: No molestar, PresentandoSe 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: DesconectadoEasyUC elimina su propio origen en Jabber.
Estado desconocidoEl origen existente en Jabber se mantiene.
Estado que el propio EasyUC ha fijado en TeamsNo 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

  1. Cada 5 segundos, el servicio de presencia comprueba para qué perfiles ha transcurrido el intervalo configurado. Un bloqueo en la base de datos impide que dos ejecuciones publiquen al mismo tiempo para el mismo perfil.
  2. Carga la asignación de usuarios del perfil. Las coincidencias ambiguas se excluyen y cuentan como conflictos.
  3. Lee los orígenes de las direcciones activadas: llamadas establecidas de la conexión CUCM, estado de Jabber del servicio web de presencia, estado de Teams de Microsoft Graph.
  4. Para cada usuario compara el estado leído con el último observado. Solo un cambio genera una entrada en Presence Live. Las consultas sin cambios no escriben nada.
  5. Determina el estado de destino según las tablas de estados. Los estados que no se pueden transferir se registran como omitidos con un motivo.
  6. Publica los estados nuevos, renueva los existentes antes de que caduquen y elimina los estados cuyo origen ha terminado.
  7. Guarda en el perfil el estado, el mensaje y la hora de la ejecución. La interfaz muestra estos valores en Last check.
  8. Si la sincronización se desactiva o el módulo se detiene, el servicio elimina solo los estados fijados por EasyUC. Los ajustes del perfil se conservan.

Flujo de datos y lugares de almacenamiento

Flujo de datos y lugares de almacenamiento
Campo / acciónSignificado y uso
Qué va a MicrosoftPara 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 MicrosoftLos 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 PresenceEl estado leído de Teams como presencia enriquecida (rich presence) para la dirección de Jabber del usuario.
Qué se almacena en el appliancePerfiles, 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 registroHora 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 planoUn 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 fabricanteUna 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

Interfaces y permisos
Campo / acciónSignificado y uso
Microsoft GraphRegistro 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 llamadasLa 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 usuariosAcceso 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 PresenceServicio 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.
WebexUna 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 EasyUCPermisos 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.

Capítulos relacionados