Core FAQ
Warning: Anywhere365 customers and partners deploying or considering deploying recent Skype for Business Server 2015 Cumulative Updates or have Skype for Business Server 2019.
Microsoft has acknowledged that the recent Skype for Business Server 2015 Cumulative Update (CU8 and CU9) has introduced an undesired anomaly in the SfB Conferencing Server service. The anomaly can lead to a deadlock when 2 incoming calls are routed simultaneously to two different queues using UCMAMicrosoft Unified Communications Managed API (UCMA) is used primarily to build middle-tier applications that work with the Skype for Business Server. and each call is then transferred to the other queue. The anomaly will cause UCMA to deadlock in the AVMCU Service, causing AVMCU to stop processing all other incoming request and wait (perpetually) for the deadlock to be resolved.
Resolved: Microsoft has a fix in CU10. We strongly recommend not to install CU8 and CU9
For more information visit this Microsoft Support page
Version

A: The easiest way to find out, is to make yourself a Supervisor in one of the UCC's and then type a chat message to a UCC endpoint "version". The UCC will respond with the current version.
Alternatively, you can go to the Anywhere365 Server:
Navigate to the install directory:
6.3: C:\Program Files\Anywhere365\Core\UCC\
6.1: C:\Program Files\Anywhere365\Core\
5.0: C:\Program Files\UCC\
Right click on the Wsp.Anywhere365.Ucc.exe
Now choose for properties and then review the Details tab.
Logs

A: The UCC logs can be found (default location) in
6.3: C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\logs
6.0: C:\Program Files\Anywhere365\Core\Logs
5.0: C:\Program Files\UCC\Logs

A: In the logs.xml file there is a parameter called <file value="logs\ucc_log.txt"/>. This can be changed to a destination of your choice (<file value="D:\UCClogging\ucc_log.txt"/>)
6.3: C:\Program Files\Anywhere365\Core\UCC\
6.1: C:\Program Files\Anywhere365\Core\
5.0: C:\Program Files\UCC\

A: Yes, in the logs.xml file there are two parameters for the file size and amount. To adjust the file size, you can change the value of the <maximumFileSize value="10MB"/> parameter.
6.3: C:\Program Files\Anywhere365\Core\UCC\
6.1: C:\Program Files\Anywhere365\Core\
5.0: C:\Program Files\UCC\
To change the maximum amount of files you can change the value of the <maxSizeRollBackups value="5"/> parameter.
Microsoft Teams Presence Source

A: Login to the Azure Portal and navigate to Azure Active Directory. Your tenant ID is visible on the overview page of Azure Active Directory.

A: The default API limit is maximum 100 presences per request with a maximum of 2 requests per second per account. This is based on the official Microsoft Graph Documentation.

A: The UCC has to query the domains in the tenant. This can only be done with the Directory.Read.All permission. The permission is not used to query any other information.

A: To improve performance, the user basic information is stored in a cache file on disk in the UCC's cache folder. Using a cache has the advantage that the UCC doesn't have to rescan the Azure Active Directory after a restart. The following user information is stored in the cache file:
-
UserId
-
DisplayName
-
TenantId
-
UserPrincipalName
-
GivenName
-
Mail
-
OfficeLocation
-
SurName

A: Without the permission, the UCC cannot query the user's presences.

A: The UCC stores the Graph API refresh token encrypted in the cache folder of the UCC. When the cache is cleared, authorization steps must be performed again.

A: This depends on the tenant configuration. The following is based on the default settings. After the UCC service has stopped, the authorization will be valid for 90 more days. When the UCC is started within 90 days, the UCC will refresh the authorization token and claim another 90 day access. Only when the UCC or presence source has stopped for more than 90 days, the authorization will become invalid and you have to sign in again. The authorization expires when a user account password expires or has changed.
Support

A: The license file can be replaced in 2 simple steps.
-
Replace license in folder on the application server
6.3: C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\
6.0: C:\Program Files\Anywhere365\Core\
5.0: C:\Program Files\UCC\
-
Restart the Unified Contact Center Service on the application server.

A:
Warning Terminating a UCC could fail and will require a service restart to restore!
-
Go to the application server which hosts the UCC.
-
Open the config.xml file of Anywhere365 in notepad.
6.3: C:\ProgramData\Anywhere365\Core\Service\UnifiedContactCenterService\Config.xml
6.0: C:\Program Files\Anywhere365\Core\Config.xml
5.0: C:\Program Files\UCC\Config.xml
-
Remove <UnifiedContactCenter.. </UnifiedContactCenter>
-
Save config.xml
-
Wait till you see the line in the logs:
INFO - ucc_.. UCC ucc_.. Terminated
-
When this step fails a restart of the service is required. Follow the steps below before restarting the service.
-
-
Add <UnifiedContactCenter.. </UnifiedContactCenter> back in the config.xml
-
Save config.xml
-
Wait till you see starting heartbeat in the log.

A: The network operation has failed with message: "CryptSignMessage failed with error 50". This means that the certificates aren't correct. Reassign the certificates and the problem will be solved.

A: The SFB Mediation server has a setting "RTCPActiveCalls" which disconnects a call when there is no sound for longer than 30 seconds. You can disable this setting and/or add the "EnableMusicOnHold" setting on the UCC settings page.

A: There could be many reasons for this issue. The most common one is that audio is disabled. In the UCC log, you should see this:
DEBUG ucc_name - ucc_name Presence change: sip:username@domain.com : Away : 15500 : : Computer : SameEnterpriseText Enabled,Audio Disabled,Video Disabled.
To solve this issue: simply attach a working audio device, such as a headset or standalone microphone or enable the audio device.

A: To use the Anywhere365 software it is crucial that the UCC is responding. In the case it is not, the priority is to restart it before analyzing the cause. Restarting can be executed on the server hosting the UCC and restart the Service via the Services window. When the UCC service is restarted, it will be up and running again in seconds.
To understand the cause of the unavailability of the UCC, the log files of the UCC can be examined. The log files will consist of the reason of unavailability of the UCC. If not the log files can be send to the WORKSTREAMPEOPLE Support Desk for detailed analysis.

A: Call Distribution is elementary for the working of the UCC.
When agents notice that there are several calls in the queue, but no one (or only a couple) receives them, there can be a problem with the UCC or with the setup of agents.
-
Step 1. Verifying there are agents in the queue. There must be informal agentsWhen you create an 'Informal Agent' in the agent list, then this agent will be part of the agent circle as soon as he signs in to his Skype for Business or Teams client. In contrast, by marking the checkbox 'Formal' upon creating a new agent, the agent first has to actively sign in to the UCC to be available for call distribution. or signed-in formal agentsA Formal Agent is able to sign in and sign out of the UCC. This can be achieved when the Agent sends a start or stop command to the Skype for Business client of the UCC. assigned to the queue. The agents can be reviewed on the UCC settings page.
-
Step 2. Reviewing the log file. Look for the “presence change” line in the log. Each time an agent switches status, the UCC notices it. The lines you’re looking for should look similar to this:
2014-11-24 08:04:27,251[84] ucc_name DEBUG - ucc_name Precence change: sip:agent01@domain.com : Online: 3500 : : Undefined,SameEnterprise,TextEnabled,Audio Enabled,Video Enabled,
When the agent switches status from Online to Busy, and back to Online, you should see this in the log. It can occur that the change in presence isn’t noticed by the UCC. In this case, the agents should log off and logon on their Skype for Business or Microsoft Teams Client. Mostly this solves the problem. Another common issue is that the Audio of the agent is disabled. Than the agent should unmute their audio device or plug in a headset on the client.
Most common situations
-
The agent does not have a working audio device attached and thereby not audio enabled
-
The Skype for Business or Microsoft client is not able to reach the server due to network latency or PC related issues.

A:
Option A : When your SIP address has not the same domain as the UCC the presence cannot be set.
Option B: The user endpoint is not registered properly in the front-end server.
When starting the UCC this line will appear in the log:
UserEndpointHelper:Establish: user endpoint failed: sip:username@domain.com
The endpoint was unable to register. See the ErrorCode for specific reason.
Option C: If an agent is added to the In- and/or outbound (InterceptorThe Interceptor is a service installed on the Skype for Business Front End(s). It monitors all the calls passing over it. When a call is going to or coming from an Agent it will come into action. By intercepting that call and redirecting it to Anywhere365, it lets you manage the direct inbound and outbound dialogues of the contact center agents.) UCC. There is no endpoint registered on the user then also no forwarding information of this agent is available then.
When the user is added in another UCC which is not in- and outbound the user endpoint is registered there and the Reason Codes will work.

A: When the callers aren’t routed to the right Skilled agents, the IVRInteractive Voice Response (IVR) is a telephone application to take orders via telephone keypad or voice through a computer. By choosing menu options the caller receives information, without the intervention of a human operator, or will be forwarded to the appropriate Agent. Questions should be reviewed. The flow of the question can be checked by opening the UCC settings page and go to IVRQuestions.
The second check (if the flow is setup correctly) is to check the skills on the Agents Skills page. On this page the right Agent-Skill combination needs to be checked.
The last step will be reviewing the log file and look for a line like this:
2014-11-2413:10:34,950 [56] ucc_name INFO -adc1f650-49f2-4fa6-a75e-0344e022fd34 Set Skill: SKILL
2014-11-2413:10:34,954 [56] ucc_name INFO -adc1f650-49f2-4fa6-a75e-0344e022fd34 Set ivr path: -1
2014-11-24 13:10:34,955[56] ucc_name INFO -adc1f650-49f2-4fa6-a75e-0344e022fd34 Set in Queue
2014-11-2413:10:34,986 [75] ucc_name DEBUG - adc1f650-49f2-4fa6-a75e-0344e022fd34 InitIVRQueueHoldWma
2014-11-2413:10:35,928 [78] ucc_name INFO -ucc_name ##################READY FOR HUNT############
In these lines you can see the chosen Skill and the followed IVRpath. After this, the UCC starts to hunt for an agent. You will see which agents are hunted and so you can review your settings.

A: A table repeatedly gets created with the wrong schema. For example db_owner instead of dbo. Removing of the table does not solve this issue.
When this occurs. Execute the following in SQL management studio on the Anywhere365 database:
"ALTER SCHEMA dbo TRANSFER [domain\user].tablename"
This will alter the schema of the table to dbo.

A: In certain scenarios it has come to our attention that clients experience a situation where the calls are not visible / received by the Anywhere365 UCC. This can be verified by reviewing the Anywhere365 UCC logs. In such cases, this usually means that the Skype Frontend server(s) are unable to reach the Anywhere365 UCC. This could be either related to port(s) being blocked by the firewall or connectivity issues between the Skype Front end server and the Anywhere365 UCC. The easiest way to troubleshoot this problem is by disabling the firewall on both the Skype Front end server and the Anywhere365 UCC server and test again.

A: Most likely the UCC cannot call to a phone number because of the Voice Policy and/or Dial plan.
Make sure the UCC Application Endpoint got the correct Voice Policy and Dial Plan.
This can be done with the following PowerShell command
Grant-CsVoicePolicy -identity sip:<name>@domain.com -PolicyName "appropriate_policy_name"
Repeat for each endpoint

A: The music can be activated in 3 simple steps.
-
Upload your music file in the Audio filed
-
Create a new Playlist and select your music file.
-
Create a new setting (QueuePlaylist / OnHoldPlaylist) and select your Playlist.

A: This is most likely because the agent's client is sending music on hold. If the UCC detects the client is sending music on hold, the UCC will not start its own music on hold.

A: Add regestry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Anywhere365 UCC\Performance
FileMappingSize DWORD, decimal:1048576

A: In case of maintenance / restart / reboot of a relevant Skype Front-end server, the Anywhere365 UCC and Interceptor will try to reconnect. But is some cases may require a service restart as well. Make sure you restart the services and follow the logs to confirm operationality is restored again

A: Starting from UCC v 6.1 and up there is a quick method to check if agents in a specific UCC are experiencing subscription issues and to reset them if necessary.
In the SharePoint site do as follows;
-
Go to Agents -> List -> Modify view
-
Select "SubscriptionState" and save by hitting "OK"
In case the problem with the Skype subscriptions (re)occurs, you can verify this in the "Agents" page.
You can then edit the Agents list and clear the "SubscriptionState" field for the agents that have a Skype subscription issue. Once cleared, a new attempt to subscribe the agents will be performed.

A: Enterprise Plus license supports the ability to run multiple UCCs over multiple dedicated UCC Services to avoid disruption of other UCCs when a restart is required.

A: When experiencing this error, it means the file is blocked because it was extracted from a zip file that was locked. You need to unlock and unzip again.

A: First check if SharePoint is working properly, also check the SQL server where the content database is running is working properly.
Additional you can add the setting "UpdateSettingsTimeout" to the SharePoint Template Settings list. This will reduce the traffic going to SharePoint. For example set it to 60 (seconds).

A: You can enable this by adding the setting "EnableDTMFToInitiator" as true in the SharePoint Template Settings list. This will enable that the DTMF tones are also send to the customer.

A: This is because the Skype client doesn't do a merge, but disconnect the call and setups a new call to the UCC.
To solve this, instead of using the consult option in the client, call the UCC from the client (this will put the customer on hold) and use the transfer button.

A: This is usually caused due to performance issues on Skype for Business where the SQL database causes high latency.

A: This is caused because the agent's presence didn't turn busy. Alternatively if you need a workaround,you can set WaitForAgentBusyTimeout to a very high value (for example; 86400 seconds (24 hours).

A: When seeing the following error in the UCC logs;
ERROR - System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
at System.Convert.FromBase64_Decode(Char* startInputPtr, Int32 inputLength, Byte* startDestPtr, Int32 destLength)
at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
at System.Convert.FromBase64String(String s)
It usually refers to the fact that the CrmPassword is not encrypted. In such case use the PasswordTool to encrypt your password.

A: When there is a delay in setting up the call connection you will find this in the UCC logs;
2018-08-30 02:12:12,121 [65] ucc_xx DEBUG - 19924766-53ce-49ef-adc8-6d81289a13e1
CustJoin, took 00:00:21.55 seconds
…………
2018-08-30 11:11:11,111 [66] ucc_xx DEBUG - 3e847045-cadf-4457-8e20-1d87dfe2ad2e
CustJoin, took 00:00:21.77 seconds
…………
2018-01-30 22:22:22,222 [9] ucc_xx DEBUG - f94b3f7c-1745-43cf-86a8-0032287537ff
CustJoin, took 00:00:21.61 seconds
…………
If the above is found in the UCC logs, where the Customer Join takes 21 seconds or more, review the Skype Front-end SQL performance.

A: When below error pops up in the UCC logs, it means the Skype Front-end is having issues;
2018-xx-xx 11:11:11,111 [11] ucc_xxx ERROR - 3b78b026-74cd-4356-83e3-ec4dc935e685 KeepAlive:
error The application was timed out of the lobby., at
Microsoft.Rtc.Signaling.SipAsyncResult`1.ThrowIfFailed()
at Microsoft.Rtc.Signaling.Helper.EndAsyncOperation[T](Object owner, IAsyncResult result)
at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2
endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
task)
at oq.ct.d()

A: To prevent this issue, use the PurgeAppEndpointUserDataFromPSD.ps1 tool from the Skype for Business 2015 Resource Kit. More information can be found:

A: The speak root node together with the xml document header can be rather bulky, so Anywhere365 Prompt Markup Language infers it based on your UCC configuration.
The following configuration
The speak root node is optional, because it is rather <emphasis>large</emphasis> and can be inferred based on UCC settings expands automatically to something similar to the following (exact details depend on your UCC settings):
<?xml version="1.0"?>
<speak version="1.1"
xmlns="http://www.w3.org/2001/10/synthesis"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/10/synthesis
http://www.w3.org/TR/speech-synthesis11/synthesis.xsd"
xml:lang="en-US">
The speak root node is optional, because it is rather <emphasis>large</emphasis> and can be inferred based on UCC settings
</speak>

A: Different SSML providers have different rules for what types of audio files they allow, and how they should be available. Anywhere365 Prompt Markup Language adds an additional title attribute to the audio node that is interpreted by the Anywhere365 rather than the SSML provider. This allows Anywhere365 to also play files from your SharePoint Library.