Skype For Business contact migration to Teams

Every now and then when migrating Skype users to Microsoft Teams the contacts will not migrate over. Here is a quick blog on what is required and limitations of what can be migrated over.

Requirements for SFB to Teams:

  • Users cannot be UCS enabled, The users contacts must be stored on SFB and NOT Unified contact store or UCS.
  • Obviously the users account must be online
  • Users need to be in Teams only for the contacts to be migrated


  • Only Federated and Tenant contacts will be migrated
  • Maximum number of contacts is 1000
  • Max number of groups is 64
  • Skype consumer contacts do not get migrated
  • Any distribution groups also will not get migrated

How the migration process works:

  1. The contacts will be triggered to migrate once the user clicks on the contacts tab in Teams. While this will trigger the migration the users will not see the contacts until the migration is complete and they have logged out and back in.
  2. If the migration fails it will re-trigger after 8 hours.
  3. If users are not enabled for federation the federated contacts will not migrate
  4. If users are UCS enabled then the contacts will not migrate. Once UCS is set to false and the contacts have moved over to SFB the process will re-trigger

UCS cmdlets can be found here:

Set-CsUserServicesPolicy -Identity global -UcsAllowed $False

Rollback the UCS policy by using Invoke-CsUcsRollback -Identity “user” if you do not roll back the user from UCS the contacts will not be removed for the contact store. If you do not change the policy and you run the rollback after 7 days the contacts will revert back to UCS.

Unable to create Skype meeting from Outlook on a MAC

Are you a MAC user? Do you also happen to use Skype for communication? Are you trying to create a Skype meeting from Outlook and getting an error? Is the message “To create the online meeting, sign in to Skype for Business (Lync) and try again” ?

Well there is a simple fix for this.:

On the MAC desktop go to Security & Privacy –> Privacy –>Automation. In the Automation box should have some apps listed. If you scroll down to the SFB app it should have Outlook underneath it. Make sure that box is checked. You may also want to log out of Skype and Outlook and back in and test. This should now be resolved.

Skype for Business / WAP 2019

Recently I assisted a customer that had removed TMG from their environment and installed WAP 2019 for the reverse proxy. As we all know mobile devices are being used more and more in corporations and with security being a big concern its time to get some of the older technologies updated.

The issue was not with the installation of the WAP server. This issue in particular had to with the Android devices. When logging into Skype the first time everything went as planned. However, when logging out and back in we would see errors stating trying to connect to server and presence stuck at updating….

Reviewing Skype for Business server side logs and client logs we get different errors. The server side logs show a 401 and for whatever reason the client (Droid) was getting a 500. iOS worked just fine.

After some research I found there is a know issue currently with the WAP 2019 server. Server 2019 has HTTP2 enabled by default and this does not support Windows Auth.

To fix this simlpy set to 0 on HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp\EnableDefaultHttp2 on all the 2019 servers and reboot/test.

More information can be found here


Are you trying to install the Skype for Business debugging tools or the Reskit? Are you getting the below error message?

To fix this simply run the following cmdlet:

msiexec /a c:\software\SkypeForBusinessDebugTools.msi /qb TARGETDIR=C:\yourpathhere

You will have to change the above cmdlet to match what you are trying to do and where you are trying to extract it to. Once this is done you should now be able to run the debugging tools or the Reskit.   

Office Web Apps Server

Recently worked an issue with Office Web Apps Server aka OWA or even WAC server. The issue simply was it would not work.

There is not to much to these things. Couple of configuration settings and you are pretty much good to go.

So I checked the basics:

verify you can reach the discovery url from the browser
Collect client logs and server logs
Server components are as followed:

Component: DataMCU
=> Level: Verbose
=> Flags: All
Component: DataMCURunTime
=> Level: Verbose
Component: DataProxy
=> Level: Verbose
=> Flags: All
Component: GraphListener
=> Level: Verbose
=> Flags: All
Component: GraphService
=> Level: Verbose
=> Flags: All
Component: Infrastructure
=> Level: Verbose
=> Flags: All
Component: InternalCommon
=> Level: Verbose
=> Flags: All
Component: LDM
=> Level: Verbose
=> Flags: All
Component: WebInfrastructure
=> Level: Verbose
=> Flags: All

Also have fiddler running while reproducing the issue.

So, once I collected all the logs its obviously time to review. Client logs were showing the following:

<diagHeader>54031;reason=”The WAC presentation failed with a server error.”; There is a few other lines like the url for the OWA server etc.

So Fiddler captures the error and we look at the url its trying to use. There I noticed that the url that was being created was pointing outside my network. I then checked my topology for the Office Web App and where it thinks the server location is:

Well this is not correct. My WAC server is internal. I then proceeded to change the topology and set my Office Web Apps servers location to internal and then published the topology. Once this was done testing proved that it is now working.

Hopefully this will help anyone that is having that “odd: issue.