Configure Skype for Business hybrid

Important

Skype for Business Online operated by 21Vianet in China will be retired on October 1, 2023. If you haven't upgraded your Skype for Business Online users yet, they will be automatically scheduled for an assisted upgrade. If you want to upgrade your organization to Teams yourself, we strongly recommend that you begin planning your upgrade path today. Remember that a successful upgrade aligns technical and user readiness, so be sure to leverage our upgrade guidance as you navigate your journey to Teams.

Skype for Business Online, excluding the service operated by 21Vianet in China, was retired on July 31, 2021.

To configure Skype for Business hybrid, you need to:

If you have Exchange on-premises, you may want to configure OAuth between your Exchange on-premises and online environments. For more information, see Manage server-to-server authentication in Skype for Business Server and Plan to integrate Skype for Business and Exchange.

Configure your on-premises Edge service to federate with Teams

Federation allows users in your on-premises deployment to communicate with Teams users in your organization. To configure federation, run the following cmdlet in the Skype for Business Server Management Shell:

Set-CSAccessEdgeConfiguration -AllowOutsideUsers $True -AllowFederatedUsers $True -EnablePartnerDiscovery $True -UseDnsSrvRouting

If '-EnablePartnerDiscovery' value is set to $True, Skype for Business Server will use DNS records to try and discover partner domains not listed in the AllowedDomains list. If the value is set to $False , Skype for Business Server will only federate with domains found on the AllowedDomains list. This parameter is required if you use DNS service routing.

Note

For more details about enabling federation between users of your on-premises Skype for Business deployment and users of a Microsoft 365 organization, see Configuring federation support for a Microsoft 365 customer in Skype for Business Server.

Configure your on-premises environment to enable shared SIP address space with Teams

You must also configure your on-premises environment to trust Teams and enable shared SIP address space. This configuration means Teams can potentially host user accounts for the same set of SIP domains as your on-premises environment, and messages can be routed between users hosted on premises and online. You configuring a hosting provider with ProxyFqdn=sipfed.online.lync.com as described below.

First, check if you already have a hosting provider with ProxyFqdn=sipfed.online.lync.com. If one exists, then remove it by using the following command in the Skype for Business Server Management Shell:

Get-CsHostingProvider | ?{ $_.ProxyFqdn -eq "sipfed.online.lync.com" } | Remove-CsHostingProvider

Then create a new hosting provider by using the New-CsHostingProvider cmdlet as follows:

New-CsHostingProvider -Identity Office365 -ProxyFqdn "sipfed.online.lync.com" -Enabled $true -EnabledSharedAddressSpace $true -HostsOCSUsers $true -VerificationLevel UseSourceVerification -IsLocal $false -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/AutodiscoverService.svc/root 

Enable shared SIP address space in your organization

In addition to the change you made in your on-premises deployment, you'll need to make the corresponding change in your Teams organization to enabled shared SIP address space with your on-premises deployment.

To enable shared SIP address space in your organization, establish a remote PowerShell session with Teams, and then run the following cmdlet:

Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true

Note

The SharedSipAddressSpace attribute needs to remain "True" until moving to online is final, and no users remain on-premises.

To establish a remote PowerShell session with Teams, you first need to install the Teams PowerShell module. The Teams PowerShell module replaces the Skype for Busines Online Connector module, which has been retired.

After you install the module, you can establish a remote session with the following cmdlets:

# When using Teams PowerShell Module

Import-Module MicrosoftTeams
$credential = Get-Credential
Connect-MicrosoftTeams -Credential $credential

For more information about how to establish a remote PowerShell session with Teams, and how to use the Teams PowerShell module, see Set up your computer for Windows PowerShell.

See also

New-CsHostingProvider