Dialogue Cloud With Direct Routing - Technical Setup Information - 1.5
Dialogue Cloud With Direct Routing - Technical Setup Information - 1.5
2
Content
Introduction ............................................................................................................................................................ 5
1 Dialogue Cloud with Direct Routing ................................................................................................................ 5
2 Prerequisites ................................................................................................................................................... 7
2.1 Licenses.................................................................................................................................................. 7
2.2 Teams Direct Routing Customer ............................................................................................................ 7
2.3 MS Teams Client and Inflight Snapper................................................................................................... 7
2.4 Microsoft Graph Presence Source Configuration .................................................................................. 8
3 Anywhere365 Dialogue Cloud Ports and protocols ........................................................................................ 9
4 Additional Teams configuration .................................................................................................................... 11
4.1 Teams voicemail .................................................................................................................................. 11
4.2 Teams Music on Hold .......................................................................................................................... 11
4.3 Teams Busy on Busy Options ............................................................................................................... 12
4.4 Teams Simultaneous Ring and Forward calls ...................................................................................... 12
4.5 Teams anonymous calling-line-identity-policy .................................................................................... 12
5 Anywhere365 Dialogue Cloud Session Border Controller ............................................................................. 13
5.1 Fully Qualified Domain Name Anywhere365 Dialogue Cloud SBC’s .................................................... 13
5.2 Number Format ................................................................................................................................... 13
5.3 Media Codecs ...................................................................................................................................... 14
5.4 Feature Support ................................................................................................................................... 14
5.5 Anywhere365 extra SIP Headers ......................................................................................................... 15
5.5.1 Header X-MS-RoutingPolicies .......................................................................................................... 15
5.5.2 Header A365-TenantId .................................................................................................................... 16
5.5.3 Header A365-AgentHunt ................................................................................................................. 16
5.6 Ports and IP addresses ......................................................................................................................... 17
5.6.1 Ports ................................................................................................................................................ 17
5.6.2 IP Addresses .................................................................................................................................... 18
5.6.2.1 emea-weu-p-sbc01.emea-weu.anywhere365.cloud .............................................................. 18
5.6.2.2 apac-sea-p-sbc01.apac-sea.anywhere365.cloud .................................................................... 18
5.6.2.3 apac-cin-p-sbc01.apac-cin.anywhere365.cloud ..................................................................... 18
5.6.2.4 nora-cus-p-sbc01.nora-cus.anywhere365.cloud .................................................................... 19
5.7 Encryption specifications ..................................................................................................................... 20
5.7.1 TLS profile Ciphers ........................................................................................................................... 20
5.7.2 TLS Certificate Root Chain ............................................................................................................... 20
6 Routing Scenario’s ......................................................................................................................................... 21
6.1 Basic setup ........................................................................................................................................... 21
6.2 Interception ......................................................................................................................................... 22
6.2.1 Direct Call Interceptor (DCI) ............................................................................................................ 22
3
6.2.2 Inbound Interception ...................................................................................................................... 24
6.2.2.1 408 SIP request Timeout ........................................................................................................ 25
6.2.3 Outbound Interception ................................................................................................................... 26
6.2.3.1 408 SIP request Timeout ........................................................................................................ 28
6.3 Multitenancy on one trunk .................................................................................................................. 30
7 Migration ....................................................................................................................................................... 32
8 Anywhere365 Dialogue Cloud enhanced routing ......................................................................................... 33
8.1 Upgrading to Anywhere365 Enhanced Direct Routing build ............................................................... 33
8.2 Known Limitations ............................................................................................................................... 33
8.3 Customer changes ............................................................................................................................... 33
8.3.1 SBC Change...................................................................................................................................... 33
8.3.2 SharePoint setting ........................................................................................................................... 34
8.4 Transfer Scenario’s .............................................................................................................................. 34
8.4.1.1 Cold/Direct Transfer’s............................................................................................................. 34
8.4.1.2 Consultative transfer’s............................................................................................................ 38
9 RASCI for Customer - Anywhere365 for Operation Support ......................................................................... 43
9.1 Introduction ......................................................................................................................................... 43
9.2 Responsibility summary....................................................................................................................... 43
9.2.1 Workstreampeople ......................................................................................................................... 43
9.2.2 Customer ......................................................................................................................................... 43
9.2.3 RASCI Table...................................................................................................................................... 44
9.2.4 Systems overview for cloud scenario .............................................................................................. 45
9.3 Flow ..................................................................................................................................................... 46
9.3.1 Summary ......................................................................................................................................... 46
10 RASCI for Partner - Anywhere365 for Operation Support ........................................................................ 47
10.1 Introduction ......................................................................................................................................... 47
10.2 Responsibility summary....................................................................................................................... 47
10.2.1 Workstreampeople ..................................................................................................................... 47
10.2.2 Partner of Workstreampeople .................................................................................................... 47
10.3 RASCI table .......................................................................................................................................... 48
10.4 Systems overview sample for Cloud scenario ..................................................................................... 49
10.5 Flow ..................................................................................................................................................... 50
10.5.1 Summary ..................................................................................................................................... 50
4
Introduction
Direct Routing Contact Center for Microsoft Teams
Direct Routing allows customers to enable their users to make and receive calls within Microsoft Teams.
Anywhere365 Contact Center and Enterprise Dialogue Management is able to leverage the capabilities of
Microsoft Teams to route calls to Teams powered agents with all the rich features of Anywhere365, such as:
Call recording, Real-time Translation, IVR, Supervisor, Reporting, Wallboards and many more.
5
- Hold/resume
- Mute/unmute
- Add participants
- Disconnect
Please consider that some features work differently or perhaps not at all. Scenarios which are known not to
work:
Consultative (warm) transfer does not work when the call is transferred to a SIP address of a federated
contact that utilize ISLAND mode.
- Also review https://docs.microsoft.com/en-us/microsoftteams/coexistence-chat-calls-
presence
Known Bug. Occurrence: Seldom.
- Teams is usually sending reinvite after the call is established to increase de audio codec on
the customer side SBC – Teams leg (with or without Media Bypass). As Anywhere365 only use
g711A/U there is no real update via the Re-Invite to the audio channel towards Anywhere as
we convert it back to g711A/U. This makes our platform not answer the new offer. Please
make sure audio codec preference, restriction or both is also enabled towards Teams.
Customer can do transcoding to SILK if required to Teams, else Anywhere365 recommends
stripping unneeded audio codecs towards Teams to make sure Teams won’t send a
meaningless Re-invite.
Known Teams related settings that may need to be changed to ensure proper call flow. Please see chapter 4
Additional Teams configuration for explanation.
6
2 Prerequisites
For Anywhere365 Dialogue Cloud there are prerequisites that need to be met:
2.1 Licenses
The following licenses need to be acquired for the described solution:
Make sure all the necessary routing rules are made, so Teams Direct Routing is fully deployed and working.
- Public IP and the signaling port of the customer SBC SIP-interface that will be used to communicate
with the Anywhere365 Dialogue Cloud SBC:
o In case Signaling over TLS is required, FQDN of the SBC must also be provided.
o This information is needed to complete the configuration on the side of Anywhere365 SBC.
o Anywhere365 will use Options as keep-alive-mechanism.
Please make sure that the customer SBC terminates Options.
7
- E3 or E5 license with Phone System addon assigned to the Teams User.
- Teams Calling Policy configured for Agents and assigned to Agents. (see Chapter 4)
The Microsoft Graph Presence Source (hereafter 'presence source') enables the UCC to use Teams user
presences. It makes use of the Microsoft Graph Communications Presence APIs. Read more about Presence
Resource Type at Microsoft Documentation.
Per a Graph service account Anywhere365 DialogueCloud can poll up to 650 unique users. In scenario's with
more then 650 unique user, please add more Graph service accounts and internal applications.
Via the MsGraphPresenceSource we are able to retrieve server-side presence from the Teams client. In order
to set this up we need an app registration in Azure and presence account within the Office365 tenant.
In Azure Active Directory create a new app registration and select the account type ‘Accounts in this
organizational directory only’.
On the API Permissions tab, add the following delegated Graph API permissions
o Directory.Read.All
o User.ReadBasic.All
o Presence.Read.All
The Directory.Read.All permission needs Admin consent, so grant the admin consent using the button.
In the API permissions view (Only a tenant administrator can grant the admin consent)
On the Authentication tab. Add a new platform, choose type = web and enter a valid URL (https)
Set multiple tenant access on (optional if you only have one tenant)
Under advanced settings, set Treat application as a public client to Yes
On the overview page, you can find your client ID
For the presence account you will find the requirements below:
Account should be cloud only and not federated with an on premise ADFS
1 service account (password never expires) per Office365 tenant.
Additional service accounts can be used per tenant if presence of 2600+ Agents should be retrieved.
MFA should be disabled on these accounts.
Additional information:
Last of all, admin consent should be granted for these accounts. To grant admin consent for the Anywhere365
UCC Presence Source, simply replace {tenant-id} with your tenant ID and {client-id} with your created app
registration in the following URL and launch it in a web browser. After the admin consent is granted, you will be
able to sign in with non-admin user accounts in the presence source. Example:
https://login.microsoftonline.com/{tenant-id}/adminconsent?client_id={client-id}
8
3 Anywhere365 Dialogue Cloud Ports and protocols
In this topic we describe every protocol and port the Anywhere365 cloud contact center utilizes except for the
SBC. That is described in Chapter 4.
Externally it depends on customer requirements. Anywhere365 Dialogue Cloud SBC has the option to receive
signaling at port 5060 with protocol UDP or TCP, or port 5061 for TLS.
For a graphical overview please see the next page. These are the basic connections. If more functionality is
being added, for example a CRM integration or Dialogue Studio, more protocols and ports will be used.
9
10
4 Additional Teams configuration
Teams has several built-in features that could be potentially in the way of Anywhere365 call flows which results
in unwanted behavior. This chapter explains what could be in the way of a call flow and advises how to correct
this. Please take this into consideration if the following settings impact call flows, changing these settings are
not mandatory.
This issue has been fixed by Core version 8.4.x and higher. This is described in Chapter 5.5.1.
If the Core version is below mentioned version this is still an issue because the SIP header is not added yet.
Resulting in the fact the Anywhere365 UCC SharePoint setting DisableCallForwarding does not work.
This can be unwanted when a customer gets a voicemail of an agent. There are several workarounds for this
problem.
To make sure Anywhere365 UCC plays the music on hold, the Teams music on hold needs be disabled via
PowerShell in a Teams calling policy. At the time of writing, this cannot be done in the Teams Admin Center,
this Calling Policy needs to be assigned to the Teams agent. Commands that can be used to create a new or
change an existing policy:
This will make sure the agents call leg on the UCC will be silent and the UCC receives a re-invite with
‘a=inactive’. This re-invite with ‘a=inactive’ needs to be forwarded to Anywhere365 DialogueCloud SBC. This
will activate the UCC music on hold and, if configured, the playlist.
11
4.3 Teams Busy on Busy Options
Teams Busy on Busy Options setting configures how incoming calls are handled when a user is already in a call,
conference or has a call placed on hold. By default, new or incoming calls will be rejected with a busy signal. If
this setting is set to ‘Enabled’ in Teams Calling Policy, this could potentially be in the way of Anywhere365. If
the LowestHuntPresence (SharePoint) setting is set to ‘Busy’ or ‘Offline’, the call from Anywhere365 will fail.
If there is a requirement for LowestHuntPresence being set to ‘Busy’ or ‘Offline’, please ensure the Teams
calling policy ‘Busy on Busy’ is off/disabled and the policy is assigned to the Teams agent. This can be done
using the Teams Admin Center or via PowerShell.
12
5 Anywhere365 Dialogue Cloud Session Border Controller
This chapter describes all the necessary information about the Anywhere365 dialogue cloud Session Border
Controllers.
E.164 is the international telephone numbering plan that ensures each device on the PSTN has a globally
unique number.
This number allows phone calls and text messages to be correctly routed to individual phones in different
countries. E.164 numbers are formatted [+] [country code] [subscriber number including area code] and can
have a maximum of fifteen digits.
Anywhere365 Dialogue Cloud does NOT support numbers with extra parameters in the From and TO URL.
Parameters like:
- Extension. ;ext=xxxxx
- Verstat (USA Stir/Shaken verification)
This will result in an unwanted SIP 408 message. Please only send unique numbers and remove all extra
parameters.
Anywhere365 Dialogue Cloud won’t look at domain-part of SIP Uri of From and To on incoming calls.
Anywhere365 Dialogue Cloud will change the domain name part of the To SIP Uri and Request-Ur for outbound
traffic towards customer/partner SBC to the region SBC FQDN. If it is preferred Anywhere365 DialogueCloud
can change this domain name part to destination SBC domain according to what is preferred.
Anywhere365 Dialogue Cloud considers all our SIP-Trunk’s connections as trusted proxies. If privacy header
with value ID is presented to us Anywhere365 DialogueCloud will not change the From Uri to anonymous as we
expect to.
When customer or partner SBC sends us an anonymous call it will be respected but under the following
conditions:
13
From: "Reception" <sip:[email protected]>;tag=1928301774
14
o Anywhere365 DialogueCloud SBC has RTP broken connection time-out timer of 20 seconds
and will break the disconnection if there is none RTP packet received for 20 seconds.
o This is to protect our platform to rogue sessions and so our platform does not overflood.
- none
- disable_forwarding
The value none will make sure that MS Teams will honor and follow the call forwarding settings either set by
the Teams user or Teams Administrator. Example: Teams user has configured a call forward to user’s voicemail
if the call is unanswered for 10 seconds. The UCC hunt-time-out has been set for 20 seconds in SharePoint.
When this Teams user is hunted and the call is not answered within 10 seconds the call will go to the voicemail
of this user. The customer that called the UCC can then leave a message in the agent’s voicemail.
The value disable_forwarding will make sure that MS Teams will not honor and follow the call forwarding
settings either set by the Teams user or Teams Administrator. Example: Teams user has configured a call
15
forward to user’s voicemail if the call is unanswered for 10 seconds. The UCC hunt-time-out has been set for 20
seconds in SharePoint. When this Teams user is hunted and the call is not answered within 10 seconds the hunt
will go on for 10 seconds before it will timeout. After the timeout the UCC will hunt the next available agent.
The value can be changed with the SharePoint setting: DisableCallForwarding. This setting can have multiple
values:
- All = Ignore the Call Forwarding Settings when hunting an Agent and calling a Customer
- Agent = Ignore the Call Forwarding Settings when hunting an Agent
- Customer = Ignore the Call Forwarding Settings when calling a Customer
- None = Apply the Call Forwarding Settings when hunting an Agent and calling a Customer
This will determine which call leg will get the header X-MS-RoutingPolicies with the value: disable_forwarding.
This header can be used to support multiple tenants over one SIP trunk, between Anywhere365 and partners,
to determine for which customer the SIP traffic is meant. For example if the customer name is: Contoso; the
outgoing SIP traffic from Anywhere365 will have this header. The customer or partner can than
route/manipulate/do a set of actions based on that header.
If the Customer is invited for a Campaign-Dialer call, and the Customer URI matches the Phone Uri of
an Agent
If the Customer is invited for a Direct-Dialer (DCI) call, and the Customer URI matches the Phone Uri of
an Agent
When the Invitee is invited for an Autonomous-Dialer call; When the Invitee is identified as an Agent
based on Phone Uri.
An Agent is invited
16
o This can be a regular Agent with SIP Address and TeamsAssignedPhoneUri
A Forward Skill forwards a call to a Phone destination that matches the Phone Uri of an Agent
NOTE 1: Please be aware when agent manipulation is set to 0 it doesn’t automatically imply the call is meant
to go outbound to PSTN. It could also be the UCC is calling a MS-Teams user in the same tenant who is not
agent in this UCC.
Please take the above scenarios, your own infrastructure, and number plan into account.
NOTE 2: In some scenarios depending on the customer’s or partner’s infrastructure the hunted number is a
PSTN-Agent (usually a cell or landline phone number), the AH = 1 should NOT be routed towards MS Teams but
outbound to the PSTN.
Anywhere365 DialogueCloud advises to use PSTN Agents only UCC in where impersonation is set to $false.
With this PSTN-Agent only UCC the source telephone number can be used to make routing decisions.
Please take the above scenarios, your own infrastructure, and number plan into account.
The Anywhere365 Session Border Controllers are high available. The FQDN will always point to the active node.
Please be sure the signaling IP address with the appropriate ports are allowed in the firewall. See the tables
below with corresponding region for the relevant IP addresses. Destination port depends on protocol, as
mentioned for TCP or UDP destination port will be 5060 and for TLS 5061.
For each node, the Session Border Controllers also use highly available media components with multiple IP
addresses. Please be sure that all media component IP addresses with the appropriate ports as source and
destination are allowed in the firewall.
Signaling:
Media:
17
RTP or SRTP Anywhere SBC Media Customer/Partner SBC Defined by
6000-65331
over UDP MC IP-address Media IP-address customer/partner
5.6.2 IP Addresses
5.6.2.1 emea-weu-p-sbc01.emea-weu.anywhere365.cloud
Component IP Address
Signaling 51.124.57.123
Media | MC1 51.124.57.98
Media | MC2 51.124.57.101
Media | MC3 51.124.57.104
Media | MC4 51.105.215.87
Media | MC5 51.105.206.167
5.6.2.2 apac-sea-p-sbc01.apac-sea.anywhere365.cloud
Component IP Address
Signaling 52.230.58.48
Media | MC1 52.139.253.122
Media | MC2 52.139.238.154
Media | MC3 52.148.112.145
Media | MC4 52.148.116.28
Media | MC5 52.148.116.60
5.6.2.3 apac-cin-p-sbc01.apac-cin.anywhere365.cloud
Component IP Address
Signaling 20.204.187.227
Media | MC1 20.204.190.201
Media | MC2 20.204.190.160
Media | MC3 20.204.191.57
Media | MC4 20.204.190.255
Media | MC5 20.204.190.202
18
5.6.2.4 nora-cus-p-sbc01.nora-cus.anywhere365.cloud
Component IP Address
Signaling 52.154.236.98
Media | MC1 52.154.236.105
Media | MC2 52.154.232.164
Media | MC3 52.154.234.75
Media | MC4 52.154.234.47
Media | MC5 52.154.237.92
19
5.7 Encryption specifications
Anywhere 365 will only do TLS version 1.2.
Profiles are in OpenSSL Cipher list format. For possible values and additional details, visit the OpenSSL website
at https://www.openssl.org/docs/man1.1.1/man1/ciphers.html
Default:
Strong-TLS:
- HIGH:!SHA:!AES128:!ECDHE-RSA-AES256-SHA384:!DHE-RSA-AES256-SHA256:!AES256-SHA256:!aNULL
NOTE: Anywhere365 recommends using TLS for signaling and SRTP for media.
NOTE: Please be aware that STRONG-TLS profile is not supported by RIBBON session border controllers.
Intermediate 1:
RootCa:
20
6 Routing Scenario’s
This chapter gives examples of what kind of routing can be expected when adding Anywhere365 DialogueCloud
in your telephone network. Please be aware these scenarios are intended to give an idea how Anywere365
DialogueCloud will work in different scenarios but always need to be reviewed with customer/partner
infrastructure and wishes in mind. This scenarios do not explain the use of all the features of Anywhere365
DialogueCloud, if more information is needed please contact your Anywhere365 Project Lead or
representative. This scenario covers only the most basic routing scenario’s and do not take into account legacy
PBX or different setups.
Anywhere365
Dialogue
Cloud
5 4
7
Customer SBC Anywhere365
SBC
6
3
1 ITSP
In this setup external or internal people will call a UCC with a E164 telephone number. For example we will use
+31 70 7777 010. When someone calls this number(1,2) the routing table at the customer SBC should route this
call towards Anywhere365 DialogueCloud SBC(3). Anywhere365 DialogueCloud (4) will take this call and play a
welcome message and IVR questions over the connected call (black line). When the caller has made a choice an
available agent will be hunted. This hunt will be a completely new call (showed in picture by a blue line). The
from will be the telephone number of the UCC and the destination will be the agent phone number(4). The
Anywhere365 DialogueCloud will route the call towards the customer(6). The customer’s SBC should have
routing in place to route this call towards MS Teams(7). MS Teams will route the call towards MS Teams client
on the device of user choice.
To explain this a bit more a few simplified invite request will be shown.
21
Example Agent SIP invite over line 6 towards customer SBC(stripped down):
Please note that the A365-AgentHunt has the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite
to the agent.
In the basic setup UseImpersonation (SharePoint setting) is a feature the customer can use. This means the
caller identity will be manipulated to represent the original caller identity. For example if a cell phone number
+31612345678 calls the UCC +31881200600 the invite’s will look like this.
Example cell phone to UCC over line 3 towards Anywhere365 DialogueCloud (stripped down):
Example Agent SIP invite over line 6 towards the customer SBC with impersonation enabled (stripped down):
Please note that the caller identity from the cell phone number is in the FROM field towards the agent so the
MS Teams user will see this in the toast and the missed call notice. Please note that the A365-AgentHunt has
the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite to the agent.
6.2 Interception
Interception is a feature of Anywhere365 DialogueCloud SBC where a UCC can intercept calls. This can be used,
amongst others, for audio recording, providing agents with an alternative caller-id, or making sure the agent
cannot be called directly. For this to work the customer’s SBC needs to route calls which are either directed:
In this scenario the same setup will be used as in the basic setup.
22
4
Anywhere365
Dialogue
Cloud
1 5
3
Customer SBC Anywhere365
SBC
2
6
8 ITSP
When the agent wants to call a cell phone number utilizing DCI, the agent will put a call in via the Snapper. This
will give the command to the UCC to make two calls. First to the agent via the blue line (1) and if the UCC has a
successful connection to the agent it will call the number (received via the Snapper) via the black line (5).
Example Agent SIP invite over line 1,2 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite
to the agent.
Example cell phone number SIP invite over line 5,6 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘0’ (please see chapter 5.5.3 for explanation) with the invite
to the cell phone number.
DCI also has the option to call on behalf of another endpoint. An UCC can have multiple endpoints with every
endpoint having its own number. The agent will select a call on behalf endpoint in snapper. The from will be
the selected endpoint.
23
Example Agent SIP invite over line 1,2 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite
to the agent.
Example cell phone number SIP invite over line 5,6 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘0’ (please see chapter 5.5.3 for explanation) with the invite
to the cell phone number.
Anywhere365
Dialogue
Cloud
5 4
7
Customer SBC Anywhere365
SBC
6
3
1 ITSP
24
When a cell phone number calls (black line) the telephone number of an agent (1,2) the customer SBC needs to
have routing in place to send this call towards Anywhere365 DialogueCloud (3). Anywhere365 DialogueCloud
checks if the telephone number needs to be intercepted, if so it will take the call (4). Anywhere365
DialogueCloud will setup a new call (blue line) towards an available agent (5, 6) and the customer will need to
route this call towards MS Teams(7).
Example SIP invite cell phone to agent telephone number over line 3 towards Anywhere365 DialogueCloud
(stripped down):
Example Agent SIP invite over line 6 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite
to the agent.
For this feature there is also a possibility to impersonate the original calling line identity with the SharePoint
setting UseOriginalIdentityWithinbound. Giving the agent the original caller identity in the MS Teams Toast.
The example SIP invite cell phone to agent telephone number will be the same.
Example Agent SIP invite over line 6 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘1’ (please see chapter 5.5.3 for explanation) with the invite
to the agent.
25
7
Anywhere365
Dialogue
Cloud
4
6
Customer SBC Anywhere365
SBC
3&5
1 ITSP
When a cell phone number calls (black line) the telephone number of an agent (1,2) the customer SBC needs to
have routing in place to send this call towards Anywhere365 DialogueCloud (3). Anywhere365 DialogueCloud
checks if the telephone number needs to be intercepted. In this case the agent telephone number is not
enabled for inbound interception. Anywhere365 DialogueCloud SBC will send a SIP 408 Request Timeout
message as the response on the initial invite (5). The customer SBC will need to re-route the call towards MS
Teams after receiving the 408 SIP message (6).
Example SIP invite cell phone to agent telephone number over line 3 towards Anywhere365 DialogueCloud
(stripped down):
Example 408 SIP Request Timeout message over line 5 towards customer SBC (stripped down):
26
1
Anywhere365
Dialogue
Cloud
4 5
2
Customer SBC Anywhere365
SBC
3
6
8 ITSP
When an agent makes an outbound call (blue line) to the cell phone number(1,2) the customer’s SBC needs to
have routing in place to send this call towards Anywhere365 DialogueCloud (3). Anywhere365 DialogueCloud
checks if the telephone number needs to be intercepted, if so it will take the call (4). Anywhere365
DialogueCloud will setup a new call (black line) towards the called cell phone number (5, 6) and the customer
will need to route this call towards the PSTN(7).
Example SIP invite agent telephone number to cell phone number over line 3 towards Anywhere365
DialogueCloud (stripped down):
Example cell phone invite over line 6 towards customer SBC (stripped down):
Please note that the A365-AgentHunt has the value ‘0’ (please see chapter 5.5.3 for explanation) with the invite
to the cell phone number.
For this feature there is also a possibility to impersonate the original calling line identity with the SharePoint
setting UseOriginalIdentityWithOutbound. Giving the cell phone user the original caller identity of the agent in
screen.
The example SIP invite agent telephone number to the cell phone number will be the same.
Example cell phone invite over line 6 towards customer SBC (stripped down):
27
INVITE sip:+31612345678@customer-sbc;user=phone SIP/2.0
From: "UCC Anywhere" <sip:+31707777001@anywhere356-dialoguecloud-sbc;user=phone>
To: <sip:+316512345678@customer-sbc;user=phone>
User-Agent: WSP Cloud Controller
A365-AgentHunt: 0
A365-TenantId: A365
X-MS-RoutingPolicies: None
Please note that the A365-AgentHunt has the value ‘0’ with the invite to the cell phone number.
Anywhere365
Dialogue
Cloud
4
2
Customer SBC Anywhere365
SBC
3&5
7 ITSP
When an agent makes an outbound call (black line) to the telephone number of a cell phone (1,2) the
customer’s SBC needs to have routing in place to send this call towards the Anywhere365 DialogueCloud (3).
Anywhere365 DialogueCloud checks if the telephone number needs to be intercepted. In this case the agent
telephone number is not enabled for outbound interception. Anywhere365 DialogueCloud SBC will send a SIP
408 Request Timeout message as the response on the initial invite (5). The customer SBC will need to re-route
the call towards the PSTN after receiving the 408 SIP message (6).
Example SIP invite cell phone to agent telephone number over line 3 towards Anywhere365 DialogueCloud
(stripped down):
Example 408 SIP Request Timeout message over line 5 towards customer SBC (stripped down):
28
SIP/2.0 408 Request Timeout
From: "Agent" <sip:+31707777001@customer-sbc:5061;user=phone>
To: <sip:+31612345678@anywhere356-dialoguecloud-sbc;user=phone>
29
6.3 Multitenancy on one trunk
Multitenancy is mostly seen at partner level where a partner hosts multiple direct routing connections towards
MS Teams. In summary the routing will be the same as mentioned in previous chapters. Impersonation, DCI
and Interception are available to each customer as explained in previous chapters. The only added difficulty is
that multiple customers will use the same trunk towards Anywhere365 DialogueCloud SBC. Here are a few
examples of how this could look at a high level:
Option 1:
10 8
Anywhere365
Dialogue
Cloud
contoso.com fabrikum.com
9 7 5 4
Anywhere365
SBC
6
3
Partner SBC
2
1 ITSP
Option 2:
12 9
Anywhere365
Dialogue
contoso.com fabrikum.com Cloud
11 8
5 4
10 7 Anywhere365
SBC
6
3
Partner SBC
2
1 ITSP
30
Third option is to use one SBC per customer. For each customer a new SBC-SBC trunk will be created towards
Anywhere365 DialogueCloud SBC. Please note that the SBC per customer will also need a unique IP-address per
SBC. If isn’t unique, errors can occur because same IP-address is used for multiple SBC’s.
For partners we have added the following header A365-TenantId from UCC Core Version 8.1.x onwards. The
value of this header can be set and requested by the customer or partner. The default value is ‘A365’.
This header can be used for multitenancy over one trunk connection with Anywhere365 partners to determine
for which customer the SIP traffic is meant. For example if the customer name is: Contoso; the outgoing SIP
traffic from Anywhere365 will have this header A365-TenantId with a value of Contoso added in the SIP
messages. The customer or partner can than route/manipulate/do a set of actions based on that header.
Please note that the A365-AgenHunt has the value 1 and the A365-TenantId has the value Contoso. Meaning
this is an agent hunt (please see chapter 5.5.3 for explanation) for the customer Contoso.
Please note that the A365-AgenHunt has the value 0 and the A365-TenantId has the value Fabrikum. Meaning
this is a call towards a normal phone number (please see chapter 5.5.3 for explanation) for the customer
Contoso.
31
7 Migration
Anywhere365 DialogueCloud advises the following path for migration scenarios where production telephone
numbers need to be cut-over to Anywhere365 DialogueCloud after PoC and/or UAT.
- Assign the (future) production numbers already to the UCC’s at Anywhere365 DialogueCloud
- Make a table linking test-numbers with production numbers
- Make manipulation rules on customer SBC that translates test numbers to production numbers
towards Anywhere365 DialogueCloud.
- When customers does a test, it calls an test number, this will be translated towards a production
number when it sends its outbound SIP message towards Anywhere365 Dialogue Cloud.
When using this method Anywhere365 DialogueCloud will already be using the production numbers internally.
Any errors can be already be resolved before hand. At the moment all testing has been done and approved
point the production numbers from the old system to Anywhere365 DialogueCloud and you are migrated
without any change and help needed in Anywhere365 DialogueCloud.
This makes sure migration can be done (and undone) by customer. There should be no need for rollback as all
testing has been done with production numbers from Anywhere365 DialogueCloud perspective.
32
8 Anywhere365 Dialogue Cloud enhanced routing
Anywhere365 Dialogue Cloud is continuously improving the platform. With our newer bundle 2021.03 with
core version 8.8.1 there is support for transfers within Anywhere365 Dialogue Cloud, where our Unified
Contact Centers (UCC’s) will perform the transfer. Anywhere365 Dialogue Cloud does not automatically rolls
out this new build to new customers.
To make this work there are some changes needed on Anywhere365 platform, SharePoint settings that need to
be removed and changes on the customer SBC. There is also some limitations where still being worked on. This
chapter will go in the part what needs to be done, the known limitations and the transfer scenarios with high
overview.
This enhanced routing is customer ready but Anywhere365 Dialogue Cloud is still heavenly making
improvements on this solution.
NOTE: Please be aware that this is an different setup that the main setup. It is now available for customers to
request to update to this new setup. This requires also changes on customer SBC.
Routing wise, this new build setup currently uses the Teams environment as a regulating hub for all
consultative transfers. This results in additional legs, but this will make sure all consultative transfer scenarios
work with every provider and SBC brand.
Anywhere365 Dialogue Cloud will add the following header to the Invite that is the result of a REFER:
If this header is present, Anywhere365 Dialogue Cloud advice is to route this towards MS-Teams to make sure
every scenario works. As our back-end doesn’t know if the REFER is result of a direct or consultative transfer,
the header will be added to all transfer calls as result of a REFER.
NOTE: This is an advise from Anywhere365 Dialogue Cloud, if not implemented as expected it might result in
unexpected consultative transfer scenarios. When deviating from this advice, please test extensively all transfer
scenarios used.
33
8.3.2 SharePoint setting
In the previous setup the UCC’s didn’t knew when a transfer occurred because the REFER was handled by
Teams. With EDR the UCC does the transfer so it know the initial agent will be available again when the transfer
succeeded. This makes 2 settings obsolete:
- RemoveReservationWhenTransferDetected
- RemoveReservationWhenTransferDetectedDelay
Anywhere365
Dialogue
Cloud
9 5 4
7 11
Customer SBC Anywhere365
10 SBC
6
3
2
1 ITSP
In this scenario the Teams agent wants to transfer the call towards another Teams user. This user can be a
normal user but also an agent of another UCC.
The initial call will go as before. At the moment the Teams agents clicks on the transfer button, the call will be
put on hold.
Teams agent can transfer it to a Teams user (contact search) or an telephone number. The SIP REFER message
will traverse over the BLUE line towards Anywhere365 Dialogue Cloud and will contain the Refer-To target. This
will be a either a telephone number or MS Teams guid. Anywhere365 Dialogue Cloud wil establish a new call
towards the Refer-To target. In this call a header called A365-IsRefer with the value 1 will be added. Indicating
this is the call that’s a result of a REFER.
34
1, 2, 3, 4 = Normal customer call towards UCC
5, 6, 7, 8 = UCC hunts Agent, Refer SIP message back to UCC.
9, 10, 11, 12 = The call that is the result of the Refer that has been send.
End situation:
Anywhere365
Dialogue
Cloud
9 4
11
Customer SBC Anywhere365
SBC
10
3
2
1 ITSP
Anywhere365
Dialogue
Cloud
9 5 4
7 11 12
Customer SBC Anywhere365
10 SBC
6
3
2 13
1 ITSP 14
In this scenario the Teams Agent wants to transfer the call to a PSTN target. The REFER will traverse over the
blue line towards the UCC. When the REFER message enters the Anywhere365 Dialogue Cloud, the UCC will call
the Refer-To target.
35
Anywhere365 Dialogue Cloud will add the header A365-IsRefer with value 1 to the invite that goes over the
green line. As indicated Anywhere365 Dialogue Cloud advise to route SIP Invite messages with this header to
Teams first.
Teams will route it back to the customer SBC, where normal routing rules should be followed and route to
PSTN as target is an ‘unknown’ number not belonging to an agent or UCC.
End situation:
Anywhere365
Dialogue
Cloud
9 4
11 12
Customer SBC Anywhere365
SBC
10
3
2 13
1 ITSP 14
36
8.4.1.1.3 Transfer to other UCC
Anywhere365
Dialogue
Cloud
15 14 9 5 4
11 12 17
Customer SBC Anywhere365
13 SBC
10
6
3
16
2
1 ITSP
In this scenario the Teams agent transfers the call to another UCC, the REFER will go over the blue line. When
the UCC gets the REFER, it will try to call the target sending it outbound, this is the green line. Anywhere365
Dialogue Cloud will also add the header A365-IsRefer with the value 1, indicating this is the call that’s a result of
a REFER. It will go to the customer SBC that will send it towards Teams due to the A365-IsRefer header in the
INVITE. Teams will route it back, the red line, towards Anywhere365 Dialogue Cloud. The UCC will pick-up and
hunt an agent belonging to that UCC, the brown line.
37
End situation:
Anywhere365
Dialogue
Cloud
15 14 9 4
11 12 17
Customer SBC Anywhere365
13 SBC
10
3
16
2
1 ITSP
8 9
Anywhere365
Dialogue
Cloud
11 5 4
7 13
Customer SBC Anywhere365
12 SBC
6
3
2
1 ITSP
In this scenario the Teams agent initiates a consultative transfer to another Teams user. It will put the call on
hold on the blue line towards Anywhere365 Dialogue Cloud. It creates a second call, the consult, over the
purple line, #9 and #10. This will be invisible for customer SBC and Anywhere365 Dialogue Cloud.
When the consult is done, Teams agent will press transfer. The REFER SIP message will traverse over the blue
line towards Anywhere365 Dialogue Cloud. The UCC calls the Refer-To target, this is the green line.
38
Anywhere365 Dialogue Cloud will also add the header A365-IsRefer with the value 1, indicating this is the call
that’s a result of a REFER. Teams will send an re-invite over line 10 to replace the #10 leg and connect it to #13.
End situation:
Anywhere365
Dialogue
Cloud
11 4
13
Customer SBC Anywhere365
12 SBC
3
2
1 ITSP
39
8.4.1.2.2 Consultative transfer to PSTN
8 9
Anywhere365
Dialogue
Cloud
13 5 4
7 10 15 16
Customer SBC Anywhere365
14 SBC
6
3
2 11
1 ITSP 12
In this scenario the Teams agent initiates a consultative transfer to a PSTN target. It will put the call on hold on
the blue line towards Anywhere365 Dialogue Cloud. Teams client will create a second call, the consult, over the
purple line #8-12. When the consult is done, the Teams agent presses transfer. The REFER SIP message will
traverse over the blue line towards Anywhere365 Dialogue Cloud.
The UCC will call the Refer-To, this is the green line Anywhere365 Dialogue Cloud will also add the header
A365-IsRefer with the value 1. Indicating this is the call that’s a result of a REFER. Customer SBC routes it
towards Teams (#15). Teams will send an invite outbound with REPLACES, this is the #16. In this invite there is a
REPLACES message initiating the replacement of leg #10.
40
End situation:
Anywhere365
Dialogue
Cloud
13 4
15 16
Customer SBC Anywhere365
14 SBC
3
2 11
1 ITSP 12
8 9
Anywhere365
Dialogue
Cloud
17 13 12 5 4
15 19 20
Anywhere365
Customer SBC 14 SBC
11
6
3
18
2
1 ITSP
In this scenario the Teams agent initiates a consultative transfer to another UCC. The Teams agent will put the
call on hold via the blue line and initiate a second call towards the UCC. The consult is the purple line. Because
it’s an UCC this UCC will hunt an Agent of this UCC, this is the red line. When the consult is done the first agent
will hit transfer.
The REFER SIP message will traverse over the blue line towards the UCC. This will call the Refer-To target. This
is the brown line. Anywhere365 Dialogue Cloud will also add the header A365-IsRefer with the value 1.
Indicating this is the call that’s a result of a Refer so it can be routed towards Teams (#19). Teams will send an
41
reinvite outbound with replaces, this is the #20. In this invite #20 there is replaces that replaces leg #10. The
reinvite will actual happen in the SIP ladder of #10.
End situation:
Anywhere365
Dialogue
Cloud
17 13 12 4
15 19 20
Anywhere365
Customer SBC 18 SBC
14
11
3
1 ITSP
42
9 RASCI for Customer - Anywhere365 for Operation Support
9.1 Introduction
This document details the way of working for Operational Support between Workstreampeople (WSP) and the
Customer using the Anywhere365 application.
- Level 2/3 support including 24x7 for Premium Plus Support customers
- Root Cause Analyses (RCA) after Priority 1 incidents solely caused by a malfunction of an Anywhere365
component
- Training of Customers (when purchased)
- Portal to log and track cases (https://supportdesk.workstreampeople.com/)
- Online documentation (https://golive.anywhere365.io/)
- Anywhere365 Dialogue Cloud specific:
o Monitoring and maintenance of Anywhere365
o Provision of monitoring portal (https://status.anywhere365.io/)
9.2.2 Customer
Operating the Anywhere365 application with qualified and trained staff. For cloud deployment this includes the
Office365 / Azure tenant, SIP trunk, SBC and the interfacing with the entry points of Anywhere365 (where
applicable).
- Helpdesk offering L1 support to Anywhere365 users, including 24x7 if a Premium Plus Support
contract is in place.
- Skilled staff for Anywhere365 Level 1 support of at least 2 persons
- Providing the e-mail address and phone number of these staff to WSP so they will be authorized to
submit cases
- Submitting cases, which have been validated that the issue is highly likely to be attributable to
Anywhere365, to WSP using the Portal the according to guidelines
- If Premium Plus support has been purchased; calling the 24x7 support number, provided by WSP, after
submitting a Priority 1 case using the Portal
- Root Cause Analyses (RCA) after Priority 1 incidents due to causes other than the Anywhere365
application
- Support the resolution of the case in a timely manner
- Provide WSP Level 2/3 support engineers access to systems and infrastructure when needed to
resolve the incident case
- Configuration and functional management of Anywhere365
43
9.2.3 RASCI Table
Task & Involved party
Anywhere365
Anywhere365
Anywher365
End-users of
Customer
support
Prime contact for end-users of Anywhere365 A,R
Submitting case to Workstreampeople according to guidelines A,R
L2-3 Support Anywhere365 A,R S,C,I
Root Cause Analyses (RCA) P1 incidents caused by A,R S,C,I
Anywhere365
Root Cause Analyses (RCA) P1 incidents with other causes S,C,I A,R
Change request from end-user C,S A,R C,I
Trained staff to support end-users C,S A,R
Providing Anywhere365 training A,R S,I
Dialogue Cloud deployment specific
Provide the Anywhere365 tenant A,R I
Configuring the Anywhere365 tenant C A,R C,I
Troubleshooting interfacing R,S A,R
Connections into Anywhere365 tenant S,C A,R
Entry points of Anywhere365 tenant A,R S
Monitoring and maintenance of Anywhere365 A,R I
On-premise deployment specific
Infrastructure on which Anywhere365 is running C A,R
Initial installation of Anywhere365 on the infrastructure A,R S
Upgrades to assure Anywhere365 is supported according to C A,R
Anywhere365 Support End of Life Policy
New versions and maintenance updates (via the Customer A,R S
portal)
44
9.2.4 Systems overview for cloud scenario
o Managed by Anywhere365
45
9.3 Flow
9.3.1 Summary
Anywhere365 trained Level-1 support staff of the customers logs a fully detailed case in the online
support portal, highly likely to be attributable to Anywhere365. Relevant information according to the
guidelines should be provided.
Workstreampeople L2/L3 support operations engineer handles the case with assistance of the
Customer.
Trained staff of the Customer handles internal communication with end-users including closing of the
incident or service request.
46
10 RASCI for Partner - Anywhere365 for Operation Support
10.1 Introduction
This chapter details the way of working for Operational Support between Workstreampeople (WSP) and the
Partner of Workstreampeople in providing the Anywhere365 application to customers.
Level 2/3 support including 24x7 for Premium Plus Support customers
Root Cause Analyses (RCA) after Priority 1 incidents solely caused by a malfunction of an Anywhere365
component
Providing training for partners (first 2 persons are included in partner fee)
Portal to log and track cases (https://supportdesk.workstreampeople.com/)
On-line documentation (https://golive.anywhere365.io/)
Anywhere365 Dialogue Cloud specific
o Monitoring and maintenance of Anywhere365
o Provision of monitoring portal (https://status.anywhere365.io/)
Helpdesk offering Level 1 support to customer, including 24x7 for Premium Plus Support customers
Skilled staff for Anywhere365 Level 1 support of at least 2 persons
Providing the e-mail address and phone number of these staff to WSP so they will be authorized to
submit cases
Submitting cases to WSP using the Portal (https://supportdesk.workstreampeople.com/) on behalf of
the customer according to guidelines
(https://golive.anywhere365.io/support/Case_filing_process.html).
If the customer has purchased Premium Plus support calling the 24x7 support number, provided by
WSP, after submitting a Priority 1 case using the Portal
(https://supportdesk.workstreampeople.com/)
Root Cause Analyses (RCA) after Priority 1 incidents due to causes other than the Anywhere365
application
o Support the resolution of the case in a timely manner
o Provide WSP Level 2/3 support engineers access to systems and infrastructure when needed
to resolve the incident
o Configuration of Anywhere365 and support the customer with functional management
o On-premise at customer or hosted at partner for customer specific
Infrastructure on which Anywhere365 is running
Installation of Anywhere365 on the infrastructure
Upgrades to assure Anywhere365 is supported according to Anywhere365 Support
End of Life Policy
(https://golive.anywhere365.io/support/anywhere365_support_endoflife.html) as
published on the support portal.
47
10.3 RASCI table
Task & Involved party
Anywhere365
Customer
Partner
Prime contact for customer A,R
L1 Support Anywhere365 A,R S,I
Submitting case to L2-3 according to guidelines A,R
L2-3 Support Anywhere365 A,R S,C,I
Root Cause Analyses (RCA) P1 incidents caused by A,R S,C,I
Anywhere365
Root Cause Analyses (RCA) P1 incidents with other causes S,C,I A,R S,C,I
Change request from customer C A,R C,I
Trained staff to support customers C A,R
Providing Anywhere365 training A,R S,I
Dialogue Cloud deployment specific
Provide the Anywhere365 tenant A,R I
Configuring the Anywhere365 tenant C A,R C,I
Troubleshooting interfacing R,S A,R
Connections into Anywhere365tenant S,C A,R
Entry points of Anywhere365 tenant A,R S
Monitoring and maintenance of Anywhere365 A,R I I
On-premise deployment specific
Infrastructure on which Anywhere365 is running C A,R S,C,I
Installation of Anywhere365 on the infrastructure C A,R S,C,I
Upgrades to assure Anywhere365 is supported according to C A,R S,C,I
Anywhere365 Support End of Life Policy
New versions and maintenance updates (via the partner A,R S
portal)
48
10.4 Systems overview sample for Cloud scenario
o Managed by Anywhere365
o Managed by partner
49
10.5 Flow
10.5.1 Summary
Customer contacts Partner
Partners trained staff solves cases if possible, using resources like on-line documentation, test
environment etc.
If not possible to resolve, and it has been determined that the issue is highly likely attributable to
Anywhere365, trained staff logs a fully detailed case in online support portal, that they have
(pre)registered with, providing relevant information according to the guidelines.
Workstreampeople L2/L3 support operations engineers handle the case with assistance of the partner.
Partner handles communication with the customer including closing of the incident or the service
request.
50