Teams Rules and Routing via the IVR or an ACD Group – how does it work?

In today's HowTo, we will explain how Teams rules affect routing and delivery of calls to agents and PBX users. 

Status Aggregation

The jtel system is connected to the following systems to read and aggregate status:

  • Teams - reading the status of all Teams users in the Microsoft 365 account
  • PBX - read out all extensions of the PBX and read out the status of them 

Furthermore, the jtel system, for ACD agents, is party to the following additional information:

  • Agent status (logged in, break, back office, post processing ...)
  • ACD status (the agent gets a call or event delivered by the ACD).

The jtel system performs an aggregation of the status from each application to make a decision about the availability of the PBX users and ACD agents. This is shown in the following table:

StatusPBX UserACD Agent
Status PBX

Matched via the phone number.

If the phone number is matched, the status is set accordingly to either busy, ringing or free.

Matched via the phone number.

If the phone number is matched (Phone1 or the active phone number), the status is set accordingly to busy, ringing or free.

Status Teams

Matched via the e-mail address and then the phone number.

In case of a match, the status is updated.

The teams rules in the master data of the client determine the actual status.

Matched via the e-mail address and then the phone number.

In case of a match, the status is updated.

The teams rules in the user's master data determine the status.

Agent Status-

Status must:

  • include the flag for calls
  • no automatic post call active
ACD Status-Agent must not be actively involved in an ACD call. *
Decision

If status is:

  • free in the PBX
  • and the Teams rules result in a reachable status

a call is delivered.

If the status:

  • is free in the PBX
  • and the teams rules result in a reachable status
  • and the agent status corresponds to reachable for calls
  • and the ACD status is free

a call is delivered.

* This state can exist, for example, when the agent receives a call on a cell phone. His cell phone is not monitored via the PBX or via teams.

Targeted addressing

It is also advantageous to be able to address the end device specifically - for example, to decide on the basis of the status whether a call is routed to the Teams client or the cell phone.

To ensure that the Teams client can be addressed individually, a routing prefix is often used in the session border controller. This is used to route calls that are to be routed specifically to Teams clients. The "normal" phone number can be used to address the phone in the PBX or the cell phone.

How are the team integration rules created?

Background

Teams rules are designed to look at certain processes and states in an automated way.

  • For example, if an agent is already in a Teams meeting, it is important that no further call deliveries are made to him.
  • On the other hand, just because an appointment is in Outlook doesn't necessarily mean the agent is busy.
  • The same can be true if the Teams client shows an "Away" status. This only means that the agent has not used the PC for a certain period of time. 

For this purpose, jtel has developed a set of rules where certain states are linked to actions.

Teams rules at client level for PBX users

To configure this set of rules, you should first select the "Client master data" tab in the main menu under User data.

The set of rules, which can be configured at the client level, is used to aggregate the status of PBX users who do not work with the jtel ACD, but who make calls and work in Teams, with their status in the PBX.

These rule settings are used to assign statuses to PBX users, which enable or disable the transfer of calls. For this purpose, the teams statuses are parameterized in the two fields shown in the screenshot, thus creating a set of rules for how PBX users are taken into account call distribution.

The respective presence statuses for Teams can be seen in the table shown on the Microsoft website here: https://docs.microsoft.com/en-us/microsoftteams/presence-admins

These statuses are comma-separated and can be parameterized in these fields, and define the global settings for handling PBX users during call distribution via the IVR in connection with teams.

Teams rules at ACD user level

To configure this set of rules, first select the "User master data" tab in the main menu under User data.

Here, the set of rules is configured in the "Teams" tab.

You have the option to combine the teams status with the jtel agent availability. 

This has the advantage that the Teams status is also taken into account when distributing calls. 

Another advantage is that depending on the availability and status, the personally favored device can be selected automatically.

Examples:

  • If you have an external appointment and your status is set to "Away" or "Out of Office", you can have your incoming calls delivered to your mobile device.
  • In contrast, if you were on a client call and presenting in teams, no calls would be transferred to you and the jtel ACD could respond automatically by referring the call to another agent or group.

The following screenshot shows the case that despite the "busy" status in teams, the phone call should be transferred to the agent. We recommend to use "Phone 6" for the phone number in Teams. For example, the status "InAMeeting" is set by Teams when you have an appointment in Outlook. Since many people do not really maintain their appointments in Outlook correctly (busy / free / out of office), this can be useful to increase the availability by phone.

The following rule is useful when the agent is away from the PC ("Away"), or has an external appointment and wants to take his calls via a mobile phone for example:

This rule covers the condition when an agent is in a teams meeting or presenting, and should not be contacted by phone:

This is what a final configured set of rules in the jtel ACD for the use with Teams might ultimately look like:

Influence of teams rules

The influence of the Team status and rules becomes visible when you look at the screenshot below. Here you can see that if you select a status in which you are not available in teams, this has an effect on the telephone availability. In this case the first user is set to "Do not disturb" and is marked in the jtel with availability "Busy". 

Activated teams rules

Agents can activate and deactivate their teams rules using the blue "T" next to the teams availability. This in turn affects the call distribution and the phone status.

In the example below you can see an activated Teams ruleset - so the availability is shown with busy when the user in Teams has a status that triggers this unavailability via the ruleset.

Disabled teams rules

If the Teams rules are deactivated, you can see in the example below that the Teams status has no influence on the availability in jtel and the user is green in the phone availability despite Teams status "Do not disturb" and thus available for call distribution.

In this case the Teams rules do not take effect, the routing of the calls is done to his "active" phone.

How status in teams is influenced by third-party systems like Outlook

Third-party systems such as Outlook can have an influence on the status in Teams and thus also on the desired call distribution.

By scheduling an appointment in Outlook it is possible to influence the Teams status. If you have set a Teams session with other colleagues or customers, you would be displayed in this case in the Teams availability, depending on the rules, as "not available" and no calls would be delivered.

In addition, the selection in the Outlook calendar, i.e. which type you choose for an appointment, has an influence on the status in Teams:

User-configured and system-based status changes

This is best illustrated by the overview provided by Microsoft, which status a user can choose independently and which status is assigned automatically by the system.

See: https://docs.microsoft.com/en-us/microsoftteams/presence-admins

Special notes

Using actions in Teams, such as voicemail, can cause routing decisions to be overridden by voicemail answering calls.

This could result in scenarios that were originally planned no longer being routed to, and the call flow not going through as it was originally designed.

There are a number of settings in Teams that have a detrimental effect on the configured routing scenario in jtel.

Examples

Call delegation:

    • If delegation of calls is configured, the agent will not be seen as not present, instead calls will always be forwarded to the delegated used.

Answering machine rules, when unanswered etc:

  • If calls are forwarded to the answering machine in teams, the distribution mechanism in the ACD is overridden. By the way, this also applies to all other PBXs.

Also ring:

  • If this feature is configured, a kind of hunt group would be created. As a result, the jtel ACD can no longer perceive the call as busy and can no longer distribute the call to other agents as intended. 

Routing decisions in the IVR

A big advantage of using routing applications or IVR in the jtel software is that you can create many automatic routing scenarios. It is possible to check callers against third party systems like CRM, ERP or database systems and to base routing decisions on processes retrieved from them.

If you want to route a call to a teams PBX user with such a routing decision, you can create an application with the IVR object Connect PBX Users.

The caller is treated as if he were in a simple queue and can be efficiently routed to a free user.

Routing decisions in the ACD

Routing decisions in the ACD are made with the users' team rules. This provides maximum flexibility and allows, for example, mobile users (sales, technicians, etc.) to be included in the distribution in the best possible way, without the user having to constantly configure or log on and off. For example, by defining time windows, the ACD determines when calls are put through. The teams rules determine, by consideration of the status "Away" or "OutOfOffice", which device should be used. For example, mobile employees are automatically called on their cell phones as soon as they leave the workplace or close their laptops

Write back to Teams?

Microsoft is constantly introducing new APIs - and one of them is the ability to write statuses back to Teams. 

The Teams presence connector can now write the status of other PBX connectors to teams. Currently supported are:

  • Innovaphone Presence Connector

  • NFON Presence Connector

The synchronisation with teams is done depending on the telephone number in active directory. For this reason, it is best if the PBX connector reports fully qualified E.164 numbers. However, this is not always possible, and setting the monitoring prefix may be necessary in the PBX connector.

Once matched, state changes reported by the PBX presence connector will be written to Microsoft Teams.

Please note that:

  • The status will be persisted for 1 hour (maximum) or until the next status change

  • Status set in Teams by a user manually always take precedence over the status reported by any other application. Therefore if a user sets himself to available (even if actually busy) then they will be shown as free.

Conclusion

Teams is a really good collaboration and telephony client.

However, routing phone calls through Teams leaves a lot to be desired, and while Microsoft will continue to work on it, there will always be routing scenarios and business processes where you need to find other ways.

The jtel ACD offers a practical way to effectively manage routing and process integration scenarios together with the Teams integration.

  • No labels