EasyUC

Software, updates and licence files are available in the customer portal. Go to downloads

Presence Sync

Presence Sync for Cisco and Microsoft Teams

Whoever is talking on the Cisco phone shows as "In a call" in Teams. EasyUC aligns the presence status between Cisco telephony and Microsoft Teams. The module runs on your appliance and needs neither SBC nor ACD.

One status for two telephony worlds

In many companies there are Cisco phones on the desks while chat and meetings run in Microsoft Teams. Each system keeps its own presence status and knows nothing about the other. Teams shows a colleague as available although he is talking on the desk phone.

Presence Sync closes this gap. EasyUC detects connected calls in CUCM and sets the matching Teams user to "In a call" for the duration of the call. With Cisco Jabber it also transfers states in both directions. If your users work with the Webex App, EasyUC switches and observes the integration that Cisco provides for this.

  • Call on the Cisco phone: Teams shows "In a call"
  • Jabber status "Available" and "Away" to Teams
  • Teams status to Jabber, including call and meeting
  • Webex App: switch and observe the native Cisco integration
  • Each direction can be switched separately
  • Separate module, without SBC and without ACD

Which state goes in which direction

The tables apply to desk phones and Cisco Jabber with IM and Presence. What cannot be transferred safely is left out by EasyUC, and the reason is written to the log.

Cisco → Microsoft Teams
Source at CiscoResult in Teams
Connected call on the phone or softphone"Busy" with the activity "In a call" until the call ends
Ringing, diallingno change
Jabber: AvailableAvailable
Jabber: AwayAway
Jabber: Busy, Do not disturbleft out and logged
Jabber: OfflineEasyUC removes its status, Teams shows the user's own status
Source not reachablethe last status stays until it expires; nobody is set to "Available"
Microsoft Teams → Cisco Jabber
Status in TeamsResult in Jabber
Availableavailable
Away, Be right backaway
Busy, In a meetingbusy
In a call, In a conference callon a call
Do not disturb, Presentingleft out and logged
OfflineEasyUC removes its status in Jabber
Status unknownthe previous status in Jabber stays
Webex App

Native integration by Cisco

With the Webex App the status is held in the Webex cloud, even when telephony runs through CUCM. Cisco synchronises with Teams through "Cisco Call for Microsoft Teams". In this mode EasyUC publishes nothing itself. It reads and sets the organisation-wide switch of the integration and logs the status changes on both sides.

Loops

No feedback

A status that EasyUC has set itself is not mirrored back in the opposite direction. A call on the Cisco phone appears in Teams, but does not come back to Jabber as a Teams call.

Priority

The user decides

"Do not disturb" is a personal decision. EasyUC does not overwrite it in either direction and does not set a preferred status in Teams that would displace a manual choice.

What changes in daily work

The benefit shows where someone is called or messaged today although they are on a call.

Desk phone

The colleague is on the phone

Ms Krüger answers a customer call on her Cisco phone. Within the configured interval she shows as "In a call" in Teams. Anyone who wants to reach her sees this beforehand and writes a message or waits.

Attendant

Transfer without a failed attempt

The busy lamp field of the EasyUC attendant console shows line status and Teams presence side by side. Presence Sync also brings the call status to where there is no busy lamp field: the Teams client of every employee.

Jabber

Meeting in Teams

Mr Yıldız is in a Teams meeting. Jabber shows him as busy. Colleagues who look him up in Jabber call later.

Operations

Look it up, do not guess

If someone reports that their status was wrong, Presence Live shows the entry: when EasyUC read the change, what it set or left out, and why.

Map users and check before switching on

One presence profile per customer holds the access to Microsoft Graph, the access to the Cisco side and the rule for mapping the users. EasyUC recognises the same person by an identifier that has the same value in both directories, for example the e-mail address or the phone number.

The preview shows the result per user: unique, not found or ambiguous. Only unique matches and manual mappings take part in the sync. EasyUC does not guess ambiguous matches, it excludes them.

  1. 1

    Create the profile

    Enter tenant ID, client ID and client secret of the Entra app and select the Cisco access. A new profile is switched off.

  2. 2

    Check the mapping

    Select the identifier in Microsoft and in CUCM. The preview transfers no status.

  3. 3

    Dry run

    EasyUC calculates one sync and shows mapped users, active calls, conflicts and planned changes. Nothing is written.

  4. 4

    Switch on

    Select the directions, set the interval from 5 to 60 seconds, save the main switch.

Mapping preview in the presence profile: identifiers, counters and result per user. Demo data.

Presence Live: every event with result and reason

Presence Live is the log of one profile. Each entry gives time, user, direction, the source status before and after, the requested target status and the result. States that were left out appear in the history with their reason, errors with the vendor's message.

The view reloads every 5 seconds and can be paused. You filter by direction and result and search for name, phone number, status or message. The log is held in the database of your appliance and stays stored independently of the view.

  • Publication, refresh and removal per user
  • Omissions with their reason
  • Errors with their message
  • Filters by direction and result
  • Counters for mapped users and conflicts
  • Warning when the background service reports no run
Presence Live: a call status that was set, a meeting in Teams and an omitted "Do not disturb". Demo data.

Technology: interfaces and sequence

Presence Sync runs as a separate service on the appliance. Every 5 seconds it checks which profiles are due, reads the sources, compares them with the last observed state and publishes changes only. A lock in the database prevents two runs from writing for the same profile at the same time.

Calls come via JTAPI from the call monitoring of the CUCM connection. EasyUC reads and sets the Jabber status through the presence web service of Cisco IM and Presence, and the Teams status through Microsoft Graph. States that were set have an expiry time at the vendor and are refreshed regularly. If EasyUC fails, they disappear by themselves.

Architecture: Presence Sync between Cisco and Microsoft Teams The presence service on the EasyUC appliance reads connected calls via JTAPI and users via AXL from CUCM, reads and sets the Jabber status through the presence web service of Cisco IM and Presence, and reads and sets the Teams status through Microsoft Graph over HTTPS. CUCM, IM and Presence and the appliance are in your data centre. YOUR DATA CENTRE CISCO Cisco phones Jabber Cisco CUCM cucm-pub01.intern CTI Manager · AXL Cisco IM and Presence Presence web service EASYUC APPLIANCE · OVA · K3S MariaDB Profiles, mapping, log EasyUC Presence Sync separate service on the appliance sync every 5 to 60 seconds user mapping publishes changes only dry run without writing Presence Live JTAPI connected calls AXL users and lines HTTPS read, set Jabber status MICROSOFT 365 Microsoft Graph Presence · users graph.microsoft.com Teams clients Desktop, mobile Firewall INTERNET HTTPS 443 read, set status read users Profiles, mapping and log stay in your data centre. Microsoft receives the presence status per user.
Architecture: CUCM and IM and Presence, the presence service on the appliance and Microsoft Graph.
Interfaces and permissions
Microsoft GraphApp registration in Entra with User.Read.All, Presence.Read.All and Presence.ReadWrite.All, each with admin consent
CUCM: callsJTAPI via the CTI Manager, call monitoring for all devices of the connection
CUCM: directoryAXL read access for users, lines and Jabber addresses
Cisco IM and PresencePresence web service over HTTPS, application user with the role Admin-3rd Party API, plus an end user as observer
WebexWebex integration with organisation ID; Presence.ReadWrite.All is not needed in this mode
Syncbase cycle 5 seconds, interval per profile 5 to 60 seconds
ExpiryTeams 10 minutes, Jabber 1 hour, each with refresh
Operationseparate service, switched as a module in the EasyUC Manager, with its own state and log

Limits

Presence Sync transfers what the vendors' interfaces safely allow. You should know these points before the rollout.

  • "Do not disturb" is not transferred in either direction.
  • From Jabber, "Available" and "Away" reach Teams. The call status comes from CUCM only.
  • Shared lines set no call status because they do not belong to a single user.
  • States that are shorter than the interval can go unnoticed.
  • One profile publishes per Entra app. One profile writes to Jabber per application user in IM and Presence.
  • In Webex mode Cisco synchronises. EasyUC observes and logs, but does not confirm an individual transfer.
  • How Jabber displays a status set from outside depends on the versions of IM and Presence and Jabber and belongs in the acceptance test.

Requirements

Requirements
EasyUCModule Presence Sync switched on in the EasyUC Manager. Teams SBC and ACD are not required.
Microsoft 365Entra app with client ID and client secret, application permissions User.Read.All, Presence.Read.All and Presence.ReadWrite.All, admin consent
Cisco CUCMCUCM connection in EasyUC with call monitoring for all devices, AXL read access to the user directory
Cisco IM and Presencefor the Jabber status only: presence web service reachable, application user with Admin-3rd Party API, end user as observer
Webex AppCisco Call for Microsoft Teams set up, Webex integration with organisation ID, identical e-mail addresses in Microsoft and Webex
Directoriesan identifier that has the same value in Microsoft and at Cisco, for example the e-mail address or the phone number
NetworkHTTPS from the appliance to Microsoft Graph and to the presence web service

Presence Sync in your environment

Tell us which Cisco clients your users work with and how many users are to be synchronised. We show you mapping, dry run and Presence Live in a demo.

Existing customers

Licences, updates, invoices and support tickets are in the customer portal.

Go to the customer portal

How does this become a working process? Our use cases show each step directly in the EasyUC interface.

Explore practical examples