Microsoft Tech Community Live:  Microsoft Teams Edition
November 09, 2021, 08:00 AM - 12:00 PM (PST)

External chat disabled after s4b onpremise to teams migration

Occasional Contributor
We have shutdown skype for busines server .
Done below steps
1. changed all the dns configuration
2.changed coexistence mode in teams admin center to teams only.
3. Enabled external chat settings in teams admin center.

Now when users tries to chat with external user it shows "chat is disabled , This user is currently using Skype for Business".

when I checked teams admin center and powershell command I got following results.

Teams admin center :
HybridOnPremEnabledUserWithSfBAnd Teams License
Powershell results :
Hosting provider : srv:
Interpretedusertype: hybridonpremteamonlyuser

Only for few user external chat is working and the configuration is as follows
Teams admin center :
HybridOnlineEnabledUserWithSfBAnd Teams License

Powershell result:
Hosting provider :
Interpretedusertype: AADConnectEnabledonlineteamonlyuser

Please advice how to fix this issue.
12 Replies
When did you do the change?


Hi, what have you done after the migration from Skype onPrem to Teams.
If your Hosting provider ist still srv: , this means your user is still on the SFB onPrem server.
The msRTCsip-Deploymentlocator should be for all user in your AD

We didn't had much meeting data or contact list to migrate from skype to teams.
So we basically shutdown the skype server.
Changed dns entry and changed the coexistence mode to teamsonly in teams admin center.
How will I achieve it .
Is there any powershell script I have to run in migration task.
I tried running powershell command
Grant-CsTeamsUpgradePolicy for the users but it failed saying I have to run Move-CsUser first.
But when I tried executing Move-CsUser command, I get error saying Move-CsUser is not recognised .
You can test with one user to change the msRTCSIP-DeploymentLocator from SRV: to, wait for AAD Sync and check the Interpretedusertype. If this is ok for the user, clear the msRTCSIP-DeploymentLocator and check the Interpretedusertype after AAD Sync.

This is for all users:
Get-ADUser -Filter {UserPrincipalName -eq "UPN"} -Properties * | Set-ADUser -clear msRTCSIP-DeploymentLocator

Here is a good lin, how to remove the SfB onPrem correct with all steps
Only password synchronisation was enabled and Attributes synchronisation was not enabled in AAD synchronisation configuration.
I did following step :
1. cleared msRTCSIP-DeploymentLocator attribute in local AD
2. RECONFIGURED AAD with attribute enabled for lync server
3. Initiatied manual synchronisation .
Still the values remain same in online.
In AAD synchronisation wizard , it shows success delta synchronisation and even I performed a full synchronisation but the values are not synchronising with online user.

@salman asif s 


Hello, it could take a couple of days after you make changes to on-premises attributes to reflect Online,


A couple of questions,


What is the current state of all msRTCSip- attributes?

Where are your DNS SRV records related to Skype/Teams pointing?

What is the value of OnPremHostingProvider/HostingProvider (Online side)?

What is the value of InterpretedUserType for the users?



@Andres Gorzelany 

1.What is the current state of all msRTCSip- attributes?

msRTCSIP-DeploymentLocator :
msRTCSIP-FederationEnabled : True
msRTCSIP-InternetAccessEnabled : True
msRTCSIP-OptionFlags : 257
msRTCSIP-PrimaryHomeServer : CN=Lc Services,CN=Microsoft,CN=1:1,CN=Pools,CN=RTC
msRTCSIP-PrimaryUserAddress : sip:#######
msRTCSIP-UserEnabled : True
msRTCSIP-UserPolicies : {0=1449800187}
msRTCSIP-UserRoutingGroupId : {237, 182, 12, 54...}

2.Where are your DNS SRV records related to Skype/Teams pointing?



3.What is the value of OnPremHostingProvider/HostingProvider (Online side)?
HostingProvider : SRV:

4.What is the value of InterpretedUserType for the users?

Enabled : False
TeamsUpgradeEffectiveMode : TeamsOnly
InterpretedUserType : HybridOnpremTeamsOnlyUser

I have synchronized msRTCSip with Online.
Following are the Outputs:
HostingProvider :
InterpretedUserType : AADConnectEnabledOnlineTeamsOnlyUser



when i synchronized ,

InterpretedUserType changed to AADConnectEnabledOnlineTeamsOnlyUserNeedsProvisioningToAD

then after some time it got updated to AADConnectEnabledOnlineTeamsOnlyUser


But still external chat is not activate in teams.

Finally Teams users with license are able to chat with external users.

Thanks to all @Andres Gorzelany @Holger Bunkradt @adam deltinger @StaleHansen 


Issue :

Skype 4 business On premise shutdown and We have few users with teams license.

Those users with teams license were not able to chat with external users and below message was shown :

 "chat is disabled , This user is currently using Skype for Business".



Steps :



  1. Updated DNS to Online DNS

      2. Cleared all msRTCSip- attributes in Local AD

Before clear : 

msRTCSIP-DeploymentLocator: SRV

After Clear :



#select users for clearing attributes  
foreach($user in $users){ 
#Get All msRTCSIP properties for a user that has a value 
$Properties=Get-ADuser -Filter {UserPrincipalName -eq  $u} -Properties * | Select-Object -Property 'msRTCSIP*' 
if($Properties -match "srv"){ 
    #clear all properties for a user 
     Get-ADuser -Filter {UserPrincipalName -eq  $u} -Properties * |Set-ADUser -Clear ($Properties | Get-Member -MemberType "NoteProperty "| % {$_.Name}) 



3.Updated Coexistence Mode in Teams Admin Center to TEAMSONLY


4. Used Latest Azure ad connect to Sync users with Online AD

Enabled Attribute synchronization for lync server and followed below article for recommended.

Shown some errors during sync:


#Manualy Sync AD : 
Start-ADSyncSyncCycle -PolicyType delta 



5.Check Online user attribute 


#If MicrosoftTeams Module is Not installed
Install-Module MicrosoftTeams

#Import Microsoft teams
Import-Module MicrosoftTeams 

$userCredential = Get-Credential 
Connect-MicrosoftTeams -Credential $userCredential 

#Gets all users 

#Gets all Properties for Single user 

#Get-CsOnlineUser $user

#Gets all Properties related to Teams
Get-CsOnlineUser $user | Format-List UserPrincipalName, DisplayName, SipAddress, Enabled, TeamsUpgradeEffectiveMode, EnterpriseVoiceEnabled, HostedVoiceMail, City, UsageLocation, DialPlan, 
TenantDialPlan, OnlineVoiceRoutingPolicy,LineURI, OnPremLineURI, OnlineDialinConferencingPolicy, TeamsVideoInteropServicePolicy, TeamsCallingPolicy, HostingProvider,
InterpretedUserType, VoicePolicy, CountryOrRegionDisplayName



6. InterpretedUserType and HostingProvider are the main properties

Before sync:

Enabled                        : False
TeamsUpgradeEffectiveMode      : TeamsOnly
HostingProvider                : SRV:
InterpretedUserType            : HybridOnpremTeamsOnlyUser

After Sync

Enabled                        : True
TeamsUpgradeEffectiveMode      : TeamsOnly
HostingProvider                :
InterpretedUserType            : AADConnectEnabledOnlineTeamsOnlyUser
In teams admin center -> Users -> Add column "Interpreted User Type " 
After Sync below are the different user type shown for licensed users
Interpreted User Type : HybridOnlineEnabledUserWithSfBAndTeamsLicense
Interpreted User Type : HybridOnlineEnabledUserWithTeamsLicense
7. Skype to teams Migration is complete.
8. But my external User chats not enabled Yet .Below message was showing
"We can't setup the conversation because your organizations are not set up to talk to each other".
  I checked the domains i have added for external sharing in Teams Admin center.
I used below powershell script to add multipel domain 


# Get current Teams federation settings before change. 
Write-Verbose -Verbose -Message "Before change:" 

# Disable communication with accounts on public IM and presence providers such as Windows Live, Yahoo, and AOL. 
Set-CsTenantFederationConfiguration -AllowPublicUsers $false 

# Enable Teams federation. 
Set-CsTenantFederationConfiguration -AllowFederatedUsers $true 

# Run for Add Multiple domain 
# Function to add allowed domain for Teams federation. 

function Enable-TeamsFederationForAllowedDomainsOnly { 
param ( 
 [parameter(Mandatory = $true)] 
[parameter(Mandatory = $false)] 
  # Remove existing domains (if requested). 
 if ($RemoveExistingDomains) { 
   Write-Verbose -Verbose -Message "Removing existing domains..." 
  Set-CsTenantFederationConfiguration -AllowedDomainsAsAList $null 
 # Add each domain to the list of allowed domains. 
 foreach ($Domain in $AllowedDomains) { 
 Write-Verbose -Verbose -Message "Adding $Domain..." 
Set-CsTenantFederationConfiguration -AllowedDomainsAsAList @{Add=$Domain} 

# List of domain to allow. 
$AllowedDomains = "", 

# Set Teams federation settings to allowed domains only. 
Enable-TeamsFederationForAllowedDomainsOnly -AllowedDomains $AllowedDomains -RemoveExistingDomains 

# Get current Teams federation settings after change. 
Write-Verbose -Verbose -Message "After change:" 



9. Still it was not working , so i tried removing all the domains fom external sharing but it didnt allow me to clear everything from UI in teams admin center.
Used Below Powershell script


$x = New-CsEdgeAllowAllKnownDomains 
Set-CsTenantFederationConfiguration -AllowedDomainsAsAList $x 



Now External chat is working !!!!!

Please do comment to add more into this thread.