Dialogue Cloud

Technical Documentation - Attendant Console for Microsoft Teams

This article contains relevant technical information regarding Attendant Console for Microsoft Teams, such as:

Limitations

As with all products, some limitations apply. This chapter aims to provide an overview of all known issues and limitations

Attendant only supported in conjunction with the Microsoft Teams Desktop application

The web version of Microsoft Teams has some limitations regarding calling. Because of this, the Attendant is currently only supported in combination with the Microsoft Teams Desktop client, not the client that is running in a web browser.

Attendant user must disable transfer to voicemail in Teams client

The Attendant user must disable the option to transfer the call to an alternate destination if unanswered. This option can be found in the Teams client under Settings, Calls tab.

Busy on Busy must be disabled on the operator account

To be able to use consultative transfer, busy on busy must be disabled on the calling policy assigned to the operator user.

Controlling the Teams client not yet possible

Currently, there is no documented way to perform call control on the Teams client. AnywhereNow Desktop integrator has been developed to improve queue call answer and focus experience. Some manual action can however be required from Teams window like resuming a call on hold or manually closing remaining ended Teams windows. We are investigating workarounds for this API limitation.

User presence update frequency is 10 seconds

Due to limitations with the Graph API, it can take up to 10 seconds before the user presence is updated.

Hybrid architecture not supported

The Attendant supports Microsoft Phone System in combination with Operator Connect, Microsoft Calling Plans or Direct Routing.
We cannot officially support hybrid configurations with on-premise Skype federation When using AnywhereNow in combination with Federation you can add agents working with a Skype for Business or Teams account to your UCC. solution

For Limitations and Considerations for call flows, please visit the Limitations and considerations - Attendant Console for Microsoft Teams

Coverage

AnywhereNow Attendant service is available from 3 main Azure Regions. Besides EMEA, the Attendant Console has now a regional presence in the Americas and Asia-Pacific region.

High Level Design diagrams

AnywhereNow Attendant Console for Teams supports 3 Teams PSTN architecture:

Here is a High Level Design diagram describing components interaction between a Customer tenant and AnywhereNow SaaS:

Phone System, calling bot and call flows

Note

An AnywhereNow Queue is not a Teams Call Queue.

As they are not yet exposed in API, we cannot monitor and retrieve them in the console

The Microsoft Graph API is called to interact with Microsoft Phone System. The logical part of the bot (the enterprise application) is connected to our tenant with the Application ID that require Application Consent with a “global dmin” role Once done the application ID is also available in the customer tenant.To be able to call there, we use a resource account with a phone number bind to AnywhereNow ApplicationId. Those AnywhereNow Attendant queues are displayed in the Attendant Console. A queue call is using the same flow as a standard external call to a Teams user, the audio does not stream through our system, as we only perform call control actions.

The connection between AnywhereNow SaaS and a customer tenant is using the same IP/port (443).

Signalling (API calling/events) is done via a single (WebSocket) TCP connection, and media is done using different other (https) TCP 443 connections.

In case of proxy usage, the URL used is attendant1(or 2 or 3).anywhere365.io based on the Azure region you get the Attendant service from, although it is a CNAME it does work correctly. Microsoft Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) sign-in does not allow to be in an iframe.

PowerShell script detail

To simplify the AnywhereNow Attendant queue creation, Application Instance definition, license assignment and other fields set, we have created a PowerShell script that invoke the necessary Microsoft PowerShell commands.

Those command are function of the PSTN architecture used (Direct Routing or Calling Plan).

The Add-Anywhere365BotQueue.ps1 is the script published.

It only contains Microsoft Azure and Teams PowerShell commands. Using the latest version is recommended.

The script invoke the following PowerShell commands:

  • New-CsOnlineApplicationInstance
  • Sync-CsOnlineApplicationInstance
  • Set-AzureADUserlicense
  • Set-CsonlinePhoneNumberAssignment
  • Set-CsApplicationmeetingConfiguration
  • Set-AzureADUser

Search functionality

The contact list displays contacts from Microsoft Entra ID Formerly known as Azure Active Directory (or Azure AD, or AAD) (ME-ID Formerly known as Azure Active Directory (or Azure AD, or AAD)) together with personal contacts.

It also provides a search box to search for contacts.

Unfortunately, the search capabilities of ME-ID are quite limited. To work around these limitations, the Attendant caches the contacts from ME-ID. This allows for more advanced search capabilities.

Note

Depending on the size of the ME-ID, populating the cache can take some time. While the cache is being populated, search commands are forwarded directly to ME-ID. Because of this, the first search command might be slower and might yield fewer results than later search commands.

Currently, these ME-ID fields are displayed in Contact Information:

  • FirstName
  • LastName
  • CompanyEmail
  • CompPrimaryPhone
  • CompAltPhone
  • MobilePhone
  • Organization
  • Department
  • Function
  • Street of building
  • Postal Code
  • City of building
  • State or Province
  • Country
  • Manager

The ME-ID field CompleteName is only used for search.

Calendar configuration

(incl. Office 365 security)

The users’ calendar access is based on delegated rights (on behalf of the operator’s own rights).

The calendar access is permitted thanks to the admin consent done during initial step1 configuration.

Mail connector configuration

To send email from the Attendant Console, enter your mail server parameters.

Fill the correct information to use your SMTP or Microsoft Office 365 Authentication.

Warning

Microsoft has disabled SMTP AUTH as part of the deprecation of Basic Authentication for Exchange Online (not for Exchange Server). Learn more - Microsoft

To be able to use the operator own email address to send emails, “send as” permissions must be set on Exchange.

Release policy

The platform that hosts the Attendant Console is operated and managed by AnywhereNow.

Updates will be deployed on the platform whenever new or improved functionalities become available, in a continuous delivery model. In most cases, updates will be rolled out without disruption to the user.

In case an update causes a possible production disruption, the update will be announced well in advance.

Whenever new functionality is added, the user manual is updated to reflect these changes and a “What's New” pop-up appears explaining the changes at the next user login.