<div dir="ltr"><p style="box-sizing:inherit;margin:5px 0px 20px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">Observed with Jabber 12.5 and 12.6.1 (Windows, on Prem IM&P 12.5)</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">I have a customer with a large WAN with many sites and data centers.  We're using the default auto-discovery for Windows clients to allow a Jabber on a Domain-joined Windows workstation to find and select a global catalog server.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> Not using UDS on the service profile.  Jabber 12.5 and 12.6 GSSAPI auto-discovery LDAP.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> Jabber clients that are configured for the default Cisco Directory Integration (CDI) and using the autodiscovery process are performing a lookup for <strong style="box-sizing:inherit">_gc._<a href="http://tcp.domain.com">tcp.domain.com</a></strong> . </p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">What we're seeing is that DNS SRV replies for <strong style="box-sizing:inherit">_gc._<a href="http://tcp.domain.com">tcp.domain.com</a></strong> .  return a list of many servers with equal weight and priority. (17 at current count) Some of the servers have 150-300 ms ping times based on where the Jabber client is.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">It's not feasible to adjust these weighs since you'd want Jabber clients in a remote site to use a "close" GC server.  Adjusting priority on DNS SRV records is not granular enough as it doesn’t account for the location of the client making the request.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> I spoke to the customer about this and he informed that a native Windows process running on workstation (Like a Windows Login) doesn't do simple SRV lookup, but makes an API call to something called "<strong style="box-sizing:inherit"><em style="box-sizing:inherit">DC Locator</em></strong>"  This will return a list to the Windows client based on the AD Sites and Network topology.  It's supposed to return the "closest" resource to the client based on its current network subnet.  A simple DNS SRV request won't do this.  Basically a SRV lookup is performed but adding in the <site> string into the FQDN.  Getting that Site returned is the key part to find the "closest" GC servers to the client. (See the links below for some background)</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> <strong style="box-sizing:inherit">Cisco should be utilizing this on Windows</strong>.  Implementing the <font color="#339966" style="box-sizing:inherit"><strong style="box-sizing:inherit"><em style="box-sizing:inherit">DsGetDcName</em></strong></font> call API from the MS Locator function to find the best GC server to connect to .</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> I know I could utilize a <em style="box-sizing:inherit">jabber-config.xml</em> file option to specify <em style="box-sizing:inherit">PrimaryServerName</em> and <em style="box-sizing:inherit">SecondaryServerName.</em>  But these values can't be correct for all users at all sites, and there is only a primary and secondary.  This is why good AD design calls for placing Domain Controllers / LDAP / GC  across the WAN sites close to the users.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> Below are a few links on the subject.  Some are quite old but this function hadn't really changed much in 15+ years.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">Cisco should be utilizing this on Windows.  Implementing the <strong style="box-sizing:inherit"><font color="#339966" style="box-sizing:inherit"><em style="box-sizing:inherit">DsGetDcName</em></font></strong> call API from the DC Locator function to find the best GC server to connect to .</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">If this function doesn’t return anything , then perform what it's doing today.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">Not sure if it’s a windows only thing.  I doubt MAC implements it but you never know.</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px">Has anyone else run into this issue ?</p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"><a href="https://searchwindowsserver.techtarget.com/tip/How-the-DC-locator-works-in-Active-Directory" target="_blank" rel="nofollow noopener noreferrer" style="background-color:transparent;box-sizing:inherit;color:rgb(2,86,117);outline:0px">https://searchwindowsserver.techtarget.com/tip/How-the-DC-locator-works-in-Active-Directory</a><br></p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> <a href="http://adcoding.com/using-dsgetdcname-in-c-sample/" target="_blank" rel="nofollow noopener noreferrer" style="background-color:transparent;box-sizing:inherit;color:rgb(14,116,142);text-decoration-line:none">http://adcoding.com/using-dsgetdcname-in-c-sample/</a></p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"> <a href="https://ldapwiki.com/wiki/How%20Domain%20Controllers%20Are%20Located%20in%20Windows" target="_blank" rel="nofollow noopener noreferrer" style="background-color:transparent;box-sizing:inherit;color:rgb(14,116,142);text-decoration-line:none">https://ldapwiki.com/wiki/How%20Domain%20Controllers%20Are%20Located%20in%20Windows</a></p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"><br></p><p style="box-sizing:inherit;margin:20px 0px;color:rgb(88,88,91);font-family:CiscoSans,Arial,sans-serif;font-size:16px"><br></p></div>