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.