Testování federace
Pro otestování federace máme k dispozici jednoduchý cmdlet Test-CsFederatedPartner, který použijeme v Lync Server Management Shell. Zkusil jsem jej použít proti dotyčné doméně a dostal jsem chybu. Vyzkoušel jsem řadu dalších domén a všechny vracely chybu. Už jsem si myslel, že mi federace přestala fungovat. Pak jsem narazil na testovací stránku Event Zero Federation Tester, kde můžeme vyzkoušet obousměrnou komunikaci s testovacím účtem, a to mi fungovalo bez problémů. Stejně tak test pomocí cmdletu pro tuto doménu fungoval.
Pozn.: Aby nám příkaz správně fungoval, tak musíme spustit Shell s právy administrátora, jinak dostaneme podivné chyby ohledně TLS. (Test-CsFederatedPartner : The operation failed due to issues with Tls. See the exception for more information.)
Cmdlet Test-CsFederatedPartner
využijeme na Front End serveru se dvěma parametry, do Domain
zadáme cílovou SIP doménu, s kterou chceme testovat federaci, a TargetFqdn
je adresa interního rozhraní našeho Edge serveru. Chyba, kterou vrátila většina domén, vypadá následovně.
PS C:\> Test-CsFederatedPartner -Domain hp.com -TargetFqdn lynced.firma.dmz Test-CsFederatedPartner : A 504 (Server time-out) response was received from the network and the operation failed. See the exception details for more information. At line:1 char:1 + Test-CsFederatedPartner -Domain hp.com -TargetFqdn lynced.firma.dmz + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [Test-CsFederatedPartner],FailureResponseException + FullyQualifiedErrorId : WorkflowNotCompleted,Microsoft.Rtc.Management.SyntheticTransactions.TestFederatedPartnerCmdlet
Asi jen na doméně MS jsem zaznamenal ještě jinou chybu.
PS C:\> Test-CsFederatedPartner -Domain microsoft.com -TargetFqdn lynced.firma.dmz Test-CsFederatedPartner : A 404 (Not Found) response was received from the network and the operation failed. See the exception details for more information. At line:1 char:1 + Test-CsFederatedPartner -Domain micrososft.com -TargetFqdn lynced.firma.dmz + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) [Test-CsFederatedPartner],FailureResponseException + FullyQualifiedErrorId : WorkflowNotCompleted,Microsoft.Rtc.Management.SyntheticTransactions.TestFederatedPartnerCmdlet
Test proti fungující doméně vypadá jinak.
PS C:\> Test-CsFederatedPartner -Domain eventzero.com -TargetFqdn lynced.firma.dmz Target Fqdn : lynced.firma.dmz Result : Success Latency : 00:00:00 Error Message : Diagnosis :
Provedl jsem více testů a našlo se pár domén, které fungovaly. Narazil jsem na zajímavou shodu, která je ovšem možná pouze náhodná. Všechny domény, které mi fungovaly, měli DNS jméno pro Access Edge ve formátu SIP.FIRMA.TLD
. To je adresa, kterou vrací SRV záznam _sipfederationtls._tcp.firma.tld
. Příkladem je třeba sip.eventzero.com
. Naopak nefungující domény měli adresu sipfederation.hp.com
, sipfed.microsoft.com
nebo sipfed.online.lync.com
, která se používá pro Lync Online.
Řešení problému
Při připojení k cizí doméně by si měl Lync server nalézt SRV DNS záznam s adresou serveru. To patrně v některých situacích neproběhne správně a Lync se nemůže k cílovému serveru připojit. Řešení je vytvořit ruční záznam mezi povolenými doménami v Lyncu, tak jako bychom neměli povolenu Open Federation.
Nejprve musíme zjistit DNS adresu pro Lync federaci cílové domény. Můžeme využít nslookup
z Windows, který spustíme, pak nastavíme typ záznamů a zadáme dotazovanou adresu.
> set type=srv > _sipfederationtls._tcp.microsoft.com Server: dc.firma.local Address: 10.0.0.10 Non-authoritative answer: _sipfederationtls._tcp.microsoft.com SRV service location: priority = 0 weight = 0 port = 5061 svr hostname = sipfed.microsoft.com
Další krok můžeme realizovat pomocí Lync Server Control Panel nebo Lync Server Management Shell. V GUI jde o Federation and External Access – SIP Federated Domains. V PowerShellu o cmdlet New-CsAllowedDomain, hodit se mohou i Get-CsAllowedDomain a Set-CsAllowedDomain.
Při přidání nové povolené domény zadáváme její jméno do Domain
nebo Identity
. Hodně důležitý je druhý parametr, který je normálně nepovinný, ProxyFqdn
, což je dle dokumentace adresa SIP proxy serveru cílové domény, pro nás jde o Access Edge rozhraní v internetu (které jsme zjistili DNS dotazem).
New-CsAllowedDomain -Domain microsoft.com -ProxyFqdn sipfed.microsoft.com
Pokud chceme, aby se změna projevila co nejdříve, tak můžeme vyvolat replikaci na Edge server zadáním cmdletu Invoke-CsManagementStoreReplication na Front End serveru.
Federace s firmou Microsoft
Doplněno 13.10. 2015. Potřeboval jsem komunikovat s lidmi z Microsoftu, ale spojení se nedařilo (i s přihlédnutím k faktu, že používají jiné adresy pro email a jiné pro Lync/Skype for Business). Test federace ze serveru vracel chybu.
PS C:\> Test-CsFederatedPartner -Domain microsoft.com -TargetFqdn lynced.firma.dmz Target Fqdn : Result : Failure Latency : 00:00:00 Error Message : 504, Server time-out Diagnosis : ErrorCode=1034,Source=sip.firma.cz,Reason=Previous hop federated peer did not report diagnostic informa tion,domain=microsoft.com,peerserver=sipfed.microsoft.com Microsoft.Rtc.Signaling.DiagnosticHeader
Na internetu jsem narazil na zmínku, že Microsoft nepoužívá Open Fedarci, ale každou doménu musí povolit. A opravdu to tak je, kontaktoval jsem partnera u MS a ten zadal Federation Request pro naši doménu a vše začalo fungovat.
PS C:\> Test-CsFederatedPartner -Domain microsoft.com -TargetFqdn lynced.firma.dmz Target Fqdn : lynced.firma.dmz Result : Success Latency : 00:00:00 Error Message : Diagnosis :
Závěr
Když jsem sepisoval tento článek, tak jsem prováděl řadu dalších testů. A dostal jsem se do stavu, kdy se Lync choval velice nedeterministicky. Přidal jsem doménu, test prošel, odstranil jsem doménu, test selhal, znovu jsem přidal doménu a test opět selhal. Po několika různých pokusech mi najednou test prošel. Takže nevím, jestli mnou uvedené informace jsou správné. Každopádně pro můj praktický případ toto řešení pomohlo a komunikace mi funguje.
Zatím zde nejsou žádné komentáře.