24 listopada 2016

Integracja Skype for Business i Exchange - kwestia autodiscovera

Prezentacja statusu dostępności to bardzo wygodna funkcjonalność Skype for Business. Niektórzy twierdzą, że umożliwia szpiegowanie (bo pokazuje kiedy przez jakiś czas nie dotykamy klawiatury), ale dla mnie umożliwia przede wszystkim szybki kontakt ze współpracownikami i kontrahentami, pokazując kiedy są dostępni. W środowisku, gdzie jest wdrożony również Exchange, można używać również mechanizmów integracyjnych do pobierania danych z kalendarza użytkownika w Exchange, w celu automatycznej zmiany statusy z 'dostępny' na 'zajęty'. Dodatkowo klient SfB może wyświetlać informacje publikowane przez asystenta OOF. Funkcjonalność tą możemy wyłączyć (domyślnie jest włączona) w opcjach klienta SfB.

Jak działa ten mechanizm? Wbrew pozorom nie jet to takie oczywiste i w wielu środowiskach może działać on niepoprawnie. Klient SfB, podobnie jak Outlook wykorzystuje usługę EWS (Exchange Web Services), do odpytania serwerów Exchange o dane z kalendarza (Availability Service). Podobnie jak Outlook, klient SfB również używa usługi Autodiscover do odpytania Exchange o konfigurację EWS. Jednak jak to mówią, diabeł tkwi w szczegółach. Na komputerach należących do domeny, Outlook sprawdza w pierwszej kolejności informację znajdującą się w rekordzie SCP (Service Connection Point). Jego wartość możemy sprawdzić wykonując komendę:
Get-ClientAccessServer | select name,AutoDiscoverServiceInternalUri
Na komputerze poza domeną Outlook szuka url - najpierw https://domenapocztowa/autodiscover/autodiscover.xml, następnie, w  drugim kroku sprawdza url https://autodiscover.domenapocztowa/autodiscover/autodiscover.xml, a w trzeciej kolejności sprawdzany jest rekord SRV dla usługi autodiscover (_autodiscover._tcp.domenapocztowa). W przypadku klienta SfB ścieżka jest dużo prostsza, co w wielu środowiskach może spowodować nieco problemów - sprawdzany jest tylko i wyłącznie rekord https://autodiscover.domenapocztowa/autodiscover/autodiscover.xml. Jeżeli nie jest on dostępny, to mogą pojawić nam się komunikaty, mówiące o problemach z integracją, a nawet okna logowania (które oznacza próbę uwierzytelnienia w Exchange). 
Jak zweryfikować, czy SfB poprawnie integruje się z Exchange? Najprościej sprawdzić, zerkając na konfigurację (prawoklik+Ctrl na ikonie skype w pasku zadań)

Następnie sprawdzamy. Jeżeli są wyświetlone ścieżki EWS i widać informację 'Status EWS jest OK', to wszystko powinno działać poprawnie.

Jeżeli ścieżki EWS nie są wyświetlane, to przeważnie również wyświetlana jest informacja o nieprawidłowej konfiguracji EWS lub braku takiej konfiguracji. W większości przypadków świadczy to o tym, że SfB nie był w stanie pobrać informacji o konfiguracji EWS poprzez autodiscover. Oprócz braku rekordu A dla nazwy autoodiscover może to być spowodowane również np. niepoprawną konfiguracją usługi proxy.