On Premises

Warning: Please make sure the value in "Name" uses lowercases and no spaces.

To Configure a UCC

  1. Go to UCC Server

  2. Edit Config.xml of Anywhere365.

    The default path of this file is:

    C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

  3. In order to connect your UCC to the SharePoint environment, use the following settings in your config.xml file on the application server.

    1. SharePoint Server/Foundation

      Copy
      XML
      <UnifiedContactCenter Name="ucc_">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepoint</SettingsProvider>
      </UnifiedContactCenter>
    2. SharePoint Online

      Note: Used when there is no AD synchronization, for example ME-ID Formerly known as Azure Active Directory (or Azure AD, or AAD) or ADFS.
      Note: If MFA is enabled on the Service Account for Anywhere365, an APP Password needs to be generated. Log into the browser with the username and password, to generate the app password and put this in the config.xml
      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepointonline</SettingsProvider>
         <SettingsUsername>username@domain.com</SettingsUsername>
         <SettingsPassword encrypted="true">encrypted_password<SettingsPassword/>
      </UnifiedContactCenter>
       Tip: Password tool is located in the install package.
       Tip: You can use an un-encrypted password by using:
      Copy
      XML
      <SettingsPassword>password</SettingsPassword>
    3. SharePoint Online with app id and app secret

      Note: Used to avoid getting throttled or blocked in SharePoint Online
      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>SharepointOnlineAppId</SettingsProvider>
         <ClientRealm>TenantID</ClientRealm>
         <ClientId>AppID</ClientId>
         <ClientSecret>AppSecret</ClientSecret>
      </UnifiedContactCenter>

      ClientRealm is the tenant id.

      ClientId is the id (also called AppId) created during the installation of the UCC Creator, Learn More

      ClientSecret is the client secret (also called AppSecret) created during the installation of the UCC Creator, Learn More

    4. SharePoint on-premises with ADFS (service account credentials will be used)

      Note: Used when there is an AD synchronization and when Windows Authentication is enabled in the Global Authentication Policy on the ADFS server. (See reference: https://blogs.msdn.microsoft.com/josrod/2014/10/15/enabled-forms-based-authentication-in-adfs-3-0/)
      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepointadfs</SettingsProvider>
         <SettingsUsername>username@domain.com</SettingsUsername>
         <SettingsPassword encrypted="true">encrypted_password</SettingsPassword>
      </UnifiedContactCenter>
       Tip: Password tool is located in the install package.
       Tip: You can use an un-encrypted password by using:
      Copy
      XML
      <SettingsPassword>password</SettingsPassword>
    5. SharePoint Online with ADFS (service account credentials will be used)

      Note: Uses when there is an AD synchronization and when Windows Authentication is enabled in the Global Authentication Policy on the ADFS server.(See reference: https://blogs.msdn.microsoft.com/josrod/2014/10/15/enabled-forms-based-authentication-in-adfs-3-0/)
      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepointonlineadfs</SettingsProvider>
      </UnifiedContactCenter>

      When only Forms is enabled for the intranet zone a username and password has to be provided for this option.

      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepointonlineadfs</SettingsProvider>
         <SettingsUsername>username@domain.com</SettingsUsername>
         <SettingsPassword encrypted="true">encrypted_password</SettingsPassword>
      </UnifiedContactCenter>
       Tip: Password tool is located in the install package.
       Tip: You can use an un-encrypted password by using:
      Copy
      XML
      <SettingsPassword>password</SettingsPassword>
    6. SharePoint OtherDomain

      Note: Used when its an on-premises SharePoint in another domain.
      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>sharepointotherdomain</SettingsProvider>
         <SettingsUsername>username@domain.com</SettingsUsername>
         <SettingsPassword encrypted="true">encrypted_password</SettingsPassword>
      </UnifiedContactCenter>
       Tip: Password tool is located in the install package.
       Tip: You can use an un-encrypted password by using:
      Copy
      XML
      <SettingsPassword>password</SettingsPassword>
    7. SharePoint Online App-Only, Certificate and Thumbprint

      Note: When using a certificate and a thumbprint of the certificate stored on the server below settings can be used. (Thumbprintkey with no spaces)

      1. Generate a self-signed certificate as described on Microsoft site. Learn More - Microsoft.

        1. (In short) Create an Azure App Registration

          1. Upload the self-signed certificate (.cer file) to your Azure App registration

          2. Add the SharePoint API application permission (i.e. SharePoint -> Application permissions -> Sites -> Sites.FullControl.All)

          3. Grant admin consent

          4. Collect the Application ID (AppID) of this Azure App registration

      2. Install certificate (.pfx file) on local server

      3. Retrieve thumbprint for the certificate (in local certificate Details tab)

      Copy
      XML
      <UnifiedContactCenter Name="ucc_name">
         <SettingsUrl>ucc_site_url<SettingsUrl/>
         <SettingsProvider>SharepointOnlineCertificate</SettingsProvider>
         <ClientRealm>TenantId</ClientRealm>
         <ClientId>AppId</ClientId>
         <CertificateThumbprint>Thumbprintkey</CertificateThumbprint>
      </UnifiedContactCenter>

       Tip: A renewed certificate (.cer file) can be uploaded to the Azure App and the corresponding Thumbprintkey can be changed in the config.xml without needing a UCC service restart.

  4. Save Config.xml

  5. The new UCC will now start.

     Tip: Use Snaketail to watch the logs real-time.

Optional Configuration

 Tip: Useful when running multiple services on one machine (Enterprise Plus)

Set Display name

In order to set a display name for a UCC, the Config.xml of the UCC Service should be changed. More specifically, a new attribute called “DisplayName” must be added to the UnifiedContactCenter-node.

C:\Program Files\Anywhere365\Core\UCC\

Copy
XML
<UnifiedContactCenter Name="ucc_" DisplayName="Display Name">
   <SettingsProvider>sharepoint</SettingsProvider>
   <SettingsUrl />
</UnifiedContactCenter>

If no display name is configured for a UCC, it defaults to the UCC ID (the attribute “Name” of the UnifiedContactCenter-node). The display name can be modified on the fly, and as soon as this happens, all client applications will be informed about this name change.

Both the UCC ID and UCC DisplayName, will be send via the Dashboard- and Attendant service to supply Snapper and (Web)Wallboard. The IPluginUccSettings of the ListsPlugin also contain the UCC ID and UCC DisplayName. Furthermore, an Event with the display name is raised when a UCC is started and when the display name is modified. Finally, the table “UCC_Name” of the CDR database is extended with an additional column called “DisplayName” containing the current display name of the UCC.

Change config location

You can move the location of the config file by adding a key to the appsettings of the Wsp.Anywhere365.Ucc.Service.exe.config.

C:\Program Files\Anywhere365\Core\UCC\

Copy
XML
<appSettings>
   <add key="config" value="C:\Program Files\Anywhere365\Core\config.xml" />
</appSettings>

Change cache location

You can move the location of the cache files by adding a key to the appsettings of the Wsp.Anywhere365.Ucc.Service.exe.config.

C:\Program Files\Anywhere365\Core\UCC\

Copy
XML
<appSettings>
   <add key="cache" value="C:\Program Files\Anywhere365\Core\" />
</appSettings>

Change log location

You can move the location of the log files by changing a key in the log.xml.

C:\Program Files\Anywhere365\Core\UCC\

Copy
XML
<file value="D:\UCClogging\ucc_log.txt"/>

Set start order

You can change the order in which the UCC start in the config.xml

The default path of this file is:

C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

Copy
XML
<UnifiedContactCenter Name ="ucc_name" StartOrder="1"> 

Set Max concurrent starting

You can change the amount of UCCs that start at the same time (default 5)

The default path of this file is:

C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

Copy
XML
<UnifiedContactCenters maxConcurrent="5">

Skip SharePoint Connection on Startup

You can change the startup delay of SharePoint

The default path of this file is:

C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

Copy
XML
<UnifiedContactCenters SkipSharepointConnectionOnStartupDelay="10" SkipSharepointConnectionOnStartupDelayInterval="3">

SkipSharepointConnectionOnStartupDelay = A delay (in seconds) between the complete startup of the first UCC (heartbeat is started) and initiating the SP connection for this UCC.

SkipSharepointConnectionOnStartupDelayInterval = A delay (in seconds) before the SP connection of the subsequent UCCs will be initiated; this delay will be multiplied by the number of UCCs that is already started.

E.g. if the value for SkipSharepointConnectionOnStartupDelay is 10 seconds and the value for SkipSharepointConnectionOnStartupDelayInterval is 3 seconds, the SP connection for the first UCC will be initiated 13 (10 + 1*3) seconds after the heartbeat of this first UCC is started. The SP connection of the second UCC will be initiated 16 (10 + 2*3) seconds after the heartbeat of this second UCC is started. The SP connection of the third UCC will be initiated 19 (10 + 3*3) seconds after the heartbeat of this third UCC is started. Etc.

Copy
XML
<UnifiedContactCenters SkipSharepointConnectionOnStartupDelay="10" SkipSharepointConnectionOnStartupDelayInterval="3">

Configure conference cancel delay

It is now possible to specify a delay in config.xml to delay the start of canceling conferences.

The default path of this file is:

C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

Copy
XML
<?xml version="1.0" encoding="utf-8"?>
<config version="1.5">
<ConferenceCancelDelayInSeconds>1800</ConferenceCancelDelayInSeconds>
....

Enable audio route logging

It is possible to log the audio routes

The default path of this file is:

C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml

Copy
XML
<?xml version="1.0" encoding="utf-8"?>
<config version="1.5">
<UseAudioRouteLogging>true</UseAudioRouteLogging>
....

You should now observe in the log lines such as:

Copy
Log
2020-02-17 15:51:07,729 [13] Microsoft.Rtc.Collaboration.AudioVideo.AudioVideoMcuRoutingExtensionMethods INFO  - ADD out route from sip:Welcome@domain.com to sip:user@domain.com
2020-02-17 15:51:07,733 [13] Microsoft.Rtc.Collaboration.AudioVideo.AudioVideoMcuRoutingExtensionMethods INFO  - ADD in route from sip:Welcome@domain.com to sip:user@domain.com