Enreach Voice Presence Sync with Microsoft Teams

Overview

The Enreach Voice Presence Sync enables the two-way integration of in-a-call status between Microsoft Teams and Enreach Voice.

When the user is on a Teams call, participating in a Teams meeting or sharing a screen, the user is set as ‘talking’ in Enreach Voice. This has the following effects on Enreach Voice:

  • Direct calls to the user in Enreach Voice use corresponding call handling (Busy on Busy, Call waiting, etc…)

  • Service calls are not allocated to the user

  • The user is shown as ‘talking’ in directory views

When a user is on a call in Enreach Voice in any of their terminals, the user is set to Busy/InACall status in Microsoft Teams.

Other parts of user presence are not synced between Enreach Voice and Microsoft Teams. This includes user Available, Offline, Do not Disturb etc presence statuses in Teams and user availability Enreach Voice (Available, Off work, DND, etc…).

Microsoft Teams presence aggregation

A Microsoft Teams user can have multiple presence sessions because the user can be on multiple Teams clients. Similarly, Enreach Voice has its own application presence session for a user and is able to update the state.

Each Teams client has an independent presence session; the final user presence is an aggregated state from all the sessions behind.

The following is the precedence for how session states are aggregated:

  • User-configured > app-configured (user-configured state overrides others)

  • Among app-configured: DoNotDisturb > Busy > Available > Away

Note: When a user presence changes in Microsoft Graph, because the Teams client uses poll mode, it will take a few minutes to update the presence status.

Implementation

Presence Sync integration is implemented as a headless background service, which creates and maintains a presence subscription for a set of Microsoft Teams users and receives a notification when the presence of the user is changed.

Requirements and limitations

Usernames

The usernames of the users must match in AzureAD (UserPrincipalName) and in Enreach Voice (Email Address)

AzureAD Enterprise Application

EnreachVoice Teams Presence Integration enterprise applications must be consented to by the customer’s Azure tenant administrator.

You can use this tool to generate the appropriate admin consent link: http://azure-consent.enreachvoice.com/teams-presence/

AzureAD user service account

Presence - read permission, required by Microsoft GrapAPI presence endpoint permissions are currently available only for Delegated permission Type. Application permission type is not available for Presence - read.

Because of this limitation, a presence subscription must be done as a user. A separate user service account must exist, which is used for creating a presence subscription. User service account credentials (UPN and Password) are configured and used by in MS Teams Presence Integration service to maintain presence subscription.

If Voice Portal provisioning integration is active, the same user can be used as the presence sync user service account.

Requirements for the user service account

  • MFA must be disabled, or EnreachVoice IP addresses: 80.88.186.0/23 must be whitelisted

  • The password should not expire

  • Office licenses are not required

Limit of users

The current maximum number of GraphAPI presence subscriptions is 650 users. This means that maximum of 650 users per organization can have the feature enabled.

© Enreach, Mannerheimintie 117, 00280 Helsinki, Finland
+358 40 450 3000, www.enreach.fi