Microsoft Lync část 6 – Integrace s Exchange serverem

Lync je určitým způsobem s Exchangem integrovaný automaticky (klienti Lyncu přistupují přes EWS nebo MAPI na Exchange) a tak umožňuje získávat informace z kalendáře a ukládat historii do schránky. Integrace ale může být mnohem větší a to ve dvou oblastech. Využití Exchange role Unified Messaging nám přináší možnost hlasové schránky, hlasového přístupu do schránky, automatického pomocníka (spojovatele). Druhá možnost integrace spočívá v rozšíření Outlook Web App (OWA) o Instant Messaging (IM) a Presence.

Integrace Lyncu a Exchange serveru je určitě užitečnou možností a získáme tak ucelený Unified Messaging systém. Na internetu je toto téma hodně probíráno a popisováno. Praktické využití této integrace záleží na požadavcích firmy, ale asi nic nebrání jeho realizaci. Obecné články od Microsoftu, které popisují tuto oblast, jsou třeba Overview of Unified Messaging a Lync 2010 Integration.

Pozn.: Následující popis jsem otestoval na OS Windows Server 2008 R2 a se servery Front End Lync Server 2010 Standard Edition a Exchange 2010 SP2 RU1, který obsahoval všechny role.

Microsoft Exchange Server 2010 Unified Messaging a Lync

Microsoft Exchange Server 2010 Unified Messaging (UM) kombinuje hlasové a emailové zprávy do jedné infrastruktury, kdy jsou všechny zprávy umístěny v jedné schránce na Exchange serveru, kam můžeme přistupovat z různých zařízení. Tím, že na Exchange serveru přidáme roli Unified Messaging a nastavíme komunikaci mezi Exchange a Lync, získáme několik funkcí.

Tou největší je hlasová schránka (Voice Mail), kdy jsou hovory (dle definovaných pravidel) přesměrovány na Exchange a zde komunikujeme s automatem (můžeme nahrávat vlastní zprávy). Nahrané hlasové zprávy jsou uživateli doručeny do poštovní schránky a má možnost si je přehrát přímo v Outlooku či OWA, uložit, přehrát na libovolném telefonu (dojde k zavolání na číslo a přehrání) nebo v Lyncu. Jsou zde i různé možnosti upozorňování na zmeškané hovory.

Další funkcí je hlasový přístup do schránky (Outlook Voice Access), kdy zavoláme na zadané číslo a spojíme se s automatem (auto attendant). Ovládání většiny funkcí pak můžeme provádět hlasem. Přístup je do hlasové schránky, emailu, kalendáře, kontaktů a můžeme poslouchat i nahrávat vzkazy a zprávy nebo spojit hovor s určitým kontaktem apod.

Uživatel s povoleným UM má možnost nastavovat různé parametry (jako pravidla pro hlasovou schránku, reset PINu, způsoby upozorňování) pomocí Outlook Web App (OWA). V menu Options – See All Options – Phone je nová záložka Voice Mail.

Ovšem v naší zemi máme velký problém, protože pro žádné hlasové funkce není podporována čeština. Takže celá komunikace včetně hlášek, ovládání (Automatic Speech Recognition) a čtení zpráv (Text-to-Speech), je v angličtině nebo některém jiném jazyce, pro který existuje Exchange Server 2010 UM Language Packs.

Pozn.: Co se týče licencí , tak uživateli, kterému na schránce aktivujeme UM, nestačí Standard CAL (Client Access License), ale potřebuje i Enterprise CAL. Vyšší licence přidává Voicemail with Unified Messaging, možnost archivace, Multi-Mailbox Search and Legal Hold a Information Protection & Control (IPC).

Konfigurace obecně

Vycházím z toho, že již máme implementovaný Exchange server 2010 včetně nainstalované role Unified Messaging. Potom stručné kroky, které musíme provést, jsou:

  • vytvoříme Exchange UM Dial Plan a nakonfigurujeme vlastnosti Exchange UM
  • povolíme UM pro určité účty (schránky) na Exchange serveru
  • spustíme Exchange UC Configuration Script na Exchange serveru
  • nastavíme nebo zkontrolujeme Lync Dial Plan
  • spustíme Exchange UM Integration Utility na Lync serveru

Hned na začátku je dobré myslet na to, že budeme potřebovat dvě telefonní čísla, takže si doplníme číslovací plán:

  • Exchange Subscriber Access (SA) – 610, toto číslo budou uživatelé používat pro přístup na hlasovou i poštovní schránku
  • Exchange Auto Attendant (AA) – 611, číslo automatické spojovatelky

Vytvoření Exchange UM Dial Plan

Pro komunikaci mezi Lyncem a Exchangem budeme používat Secured VoIP, to znamená, že SIP signalizace i RTP stream bude šifrovaný pomocí TLS. Je to bezpečné a funkční nastavení, na rozdíl od ostatních možností. Služba Microsoft Exchange Unified Messaging defaultně startuje v TCP módu, takže ji nejprve musíme přepnout do TLS.

  • pomocí Exchange Management Console (EMC)
  • rozklikneme Server Configuration - Unified Messaging
  • vybereme server, který budeme používat pro UM
  • otevřeme jeho Properties
  • přepneme se na záložku UM Settings (zde můžeme přiřazovat Dial Plan, viz dále)
  • změníme Startup mode z TCP na TLS
  • potvrdíme OK, dostaneme upozornění, že změny se projeví až po restartu

Pokud jsme měli původně nastaven TCP mód, tak jsme neměli přiřazen certifikát k UM službě. To nyní musíme napravit, jinak nám služba nenastartuje. Nejjednodušší je použít stejný certifikát, jako pro ostatní služby. Přiřazení provedeme v Server Configuration, kde zvolíme požadovaný server, u něj certifikát a na něm Assign Services to Certificate. Pak musíme nastartovat (pokud neběžela) nebo restartovat službu Microsoft Exchange Unified Messaging.

Dial Plan je důležitý prvek telefonie, vytváří se globálně pro organizaci, ale můžeme jich vytvořit více. Stanovuje očekávaný počet a vzor číslic pro telefonní číslo. Lokálně ve firmě používáme linky, takže hlavním parametrem je počet číslic v telefonní lince. Dále obsahuje přiřazené kódy země, přístupové kódy, apod. V jednom Dial Plan spojujeme všechny uživatele, kteří mají stejně dlouhou linku (například ze tří číslic - 125). Ti pak mohou mezi sebou volat napřímo, pouze vytočením linky. Uživatel může být zařazen pouze do jednoho Dial Plan a jeho linka musí být v rámci něho unikátní. Na Dail Plan dále nastavujeme různé vlastnosti, které se týkají formátu čísel, pravidla vytáčení nebo třeba jazyku.

integ01

Nový Dial Plan vytvoříme pomocí EMC:

  • rozklikneme Organization Configuration - Unified Messaging
  • na záložce UM Dial Plans zvolíme New UM Dial Plan
  • v průvodci nastavíme požadované parametry (jméno, které zvolíme, bude často odkazováno)
  • počet číslic linky je důležitý, nejde dále změnit
  • URI Typa: SIP URI, VoIP Security: Secured, Country/Region Code: 420 (pro Čechy)
  • na další záložce vybereme jeden nebo více Exchange serverů - Set UM Servers
  • vytvoříme plán - New

Pokud jsme před vytvořením Dial Plan nezměnili startovací mód UC služby (jak je popsáno na začátku kapitoly), tak dostaneme varování.

Warning:

The VoIPSecurity type of dial plan(s) 'DialPlan' does not match the UMStartupMode of Unified Messaging server 'EXCH01'. Please ensure that if the UMStartupMode of the Unified Messaging server is TCP, the dial plan has a VoIPSecurity type of Unsecured. If the UMStartupMode of the Unified Messaging server is TLS, the dial plan should have a VoIPSecurity type of either SIPSecured or Secured.

Po vytvoření našeho UM Dial Plan si otevřeme jeho vlastnosti a upravíme některá nastavení, jako Dial Codes a Settings. Povinně musíme nastavit telefonní číslo pro SA. Přepneme se na záložku Subscriber Access a dole přidáme číslo SA +420123456610.

integ02

Volitelně můžeme upravit nastavení na záložce UM Mailbox Policy (v Organization Configuration - Unified Messaging), kde je vytvořena defaultní politika pro náš Dial Plan. Můžeme změnit například požadavky na uživatelský PIN v PIN Policies.

integ03

Další důležité nastavení se skrývá na záložce UM Auto Attendant (stále v Organization Configuration - Unified Messaging), kde nastavíme číslo a parametry pro Auto Attendant. Zvolíme New UM Auto Attendant a v průvodci zadáme jméno, které nesmí obsahovat mezery, třeba AutoAttendant. Přiřadíme náš DialPlan, zadáme telefonní číslo +420123456611 do Pilot Identifier List a podle požadavků zatrhneme volby.

Pokud zatrhneme Create auto attendant as speech-enabled, tak po zavolání na AA řekneme jméno osoby, se kterou chceme spojit. To ovšem pro česká jména téměř nefunguje. Pokud tuto volbu nezatrhneme, tak se jméno (případně část emailové adresy před zavináčem) zadává na klávesnici. V obou případech můžeme zadat napřímo linku uživatele.

integ04

Povolení UM pro uživatele (schránku)

Vybraným uživatelům aktivujeme Exchange Unified Messaging. Ti by měli mít účet na Lyncu s povoleným Enterprise Voice.

  • pomocí Exchange Management Console (EMC)
  • rozklikneme Recipient Configuration – Mailbox
  • vybereme uživatele a klikneme na Enable Unified Messaging
  • v průvodci vybereme naši defaultní politiku a ostatní můžeme nechat na přednastavených hodnotách

integ05

  • na další stránce zkontrolujeme uživatelovu linku a ID

integ06

Samozřejmě také můžeme použít PowerShell cmdlet Enable-UMMailbox. Poté, co povolíme UM pro uživatele, mu dorazí informační email, který obsahuje i PIN.

Pokud otevřeme mailbox, kde jsme povolili UM, tak na záložce Mailbox Features můžeme rozkliknout Unified Messaging a zde můžeme měnit hodnoty pro uživatele.

integ07

Na záložce E-Mail Addresses se také přidal nový typ adresy EUM.

integ08

Použití Exchange UC Configuration Script

V dalším kroku je potřeba spustit Exchange UC Configuration Script ExchUCUtil.ps1, který se nachází na Exchange serveru (defaultně) ve složce C:\Program Files\Microsoft\Exchange Server\v14\Scripts. Ten přiřadí práva pro Lync server, aby mohl číst Exchange UC objekty v Active Directory, a vytvoří UM IP Gateway a IP Hunt Group. Není problém spustit skript opakovaně.

[PS] C:\Program Files\Microsoft\Exchange Server\v14\Scripts>.\ExchUCUtil.ps1

Using Global Catalog: GC://DC=firma,DC=local

Configuring permissions for firma.local\RTCUniversalServerAdmins ...
Firma: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring permissions for firma.local\RTCComponentUniversalServices ...
Firma: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring UM IP Gateway objects...
Pool: lync.firma.local
A UMIPGateway doesn't exist in Active Directory for the Office Communications Server Pool. A new UM IP gateway is being created for the Pool.
IsBranchRegistrar: False
MessageWaitingIndicatorAllowed: True
OutcallsAllowed: True
WARNING: The command completed successfully but no settings of '1:1' have been modified.
Dial plans: DialPlan

Permissions for group firma.local\RTCUniversalServerAdmins

ObjectName AccessRights Configured
---------- ------------ ----------
Firma ListChildren True
UM DialPlan Container ListChildren, ReadProperty True
UM AutoAttendant Container ListChildren, ReadProperty True

Permissions for group firma.local\RTCComponentUniversalServices

ObjectName AccessRights Configured
---------- ------------ ----------
Firma ListChildren True
UM DialPlan Container ListChildren, ReadProperty True
UM AutoAttendant Container ListChildren, ReadProperty True

PoolFqdn UMIPGateway DialPlans
-------- ----------- ---------
lync.firma.local 1:1 {(not found)}

Zde je vidět problém, že v posledním řádku vpravo je DialPlans {(not found)}. To je chyba, kterou opravíme později.

Použití Exchange UM Integration Utility

Přesuneme se na Lync server a spustíme nástroj OcsUmUtil.exe, který se defaultně nachází v cestě C:\Program Files\Common Files\Microsoft Lync Server 2010\Support\.Ten v AD vytvoří objekty, aby Lync mohl lokalizovat služby Exchange Subscriber Access a Auto Attendant.

  • spustíme OcsUmUtil.exe
  • klikneme na Load Data

integ09

  • klikneme Add pro vytvoření Subscriber Access kontaktu
  • v okně vybereme OU pro umístění a zadáme jméno (to se bude zobrazovat při volání z Lyncu) a zbytek můžeme ponechat

integ10

  • znovu klikneme Add pro vytvoření Auto Attendant kontaktu
  • přepneme typ na Auto-Attendant a změníme jméno
  • zavřeme nástroj

Vynutíme aktualizaci adresáře, kvůli novým kontaktům. Třeba pomocí Lync Server Management Shell.

Update-CsAddressBook

Řešení problémů

Pokud jsme narazili na problém, že při prvním spuštění skriptu na Exchange serveru se nepřiřadil DialPlan, tak jej nyní spustíme znovu. U mne to vyřešilo problém.

[PS] C:\Program Files\Microsoft\Exchange Server\v14\Scripts>.\ExchUCUtil.ps1

Using Global Catalog: GC://DC=firma,DC=local

Configuring permissions for firma.local\RTCUniversalServerAdmins ...
Firma: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring permissions for firma.local\RTCComponentUniversalServices ...
Firma: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM DialPlan Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.
UM AutoAttendant Container: The appropriate permissions haven't been granted for the Office Communications Servers and Administrators to be able to read the UM dial plan and auto attendants container objects in Active Directory. The correct permissions are being added to the container objects.

Configuring UM IP Gateway objects...
Pool: lync.firma.local
A UMIPGateway doesn't exist in Active Directory for the Office Communications Server Pool. A new UM IP gateway is being created for the Pool.
IsBranchRegistrar: False
MessageWaitingIndicatorAllowed: True
OutcallsAllowed: True
WARNING: The command completed successfully but no settings of '1:1' have been modified.
Dial plans: DialPlan

Permissions for group firma.local\RTCUniversalServerAdmins

ObjectName AccessRights Configured
---------- ------------ ----------
Firma ListChildren True
UM DialPlan Container ListChildren, ReadProperty True
UM AutoAttendant Container ListChildren, ReadProperty True

Permissions for group firma.local\RTCComponentUniversalServices

ObjectName AccessRights Configured
---------- ------------ ----------
Firma ListChildren True
UM DialPlan Container ListChildren, ReadProperty True
UM AutoAttendant Container ListChildren, ReadProperty True

PoolFqdn UMIPGateway DialPlans
-------- ----------- ---------
lync.firma.local 1:1 {DialPlan}

Pokud narazíme na nějaké problémy, třeba se nedaří zavolat na číslo Subscriber Access a Auto Attendant. Tak je dobré se podívat do logů. Na Lync serveru může být chyba:

Attempts to route to servers in an Exchange UM Dialplan failed

No server in the dialplan [DialPlan.firma.local] accepted the call with id [0df8c0b2-312d-4004-a4d2-a5769143b631].
Cause: Dialplan is not configured properly.
Resolution:
Check the configuration of the dialplan on Exchange UM Servers.

Ta může být způsobena tím, že neběží na Exchange serveru služba Microsoft Exchange Unified Messaging.

Na Exchange serveru, může být chyba:

The Unified Messaging server rejected an incoming call with the ID "5cf1ddf281595caf46855fc95". Reason: "The Unified Messaging server can’t find a valid UM hunt group for "Auto Attendant.ExchangeUM" associated with UM IP gateway "lync.firma.local"."

Zde může být problém v tom, že v názvu UM Auto Attendant nesmí být mezera. Takže znovu vytvoříme Auto Attendant s lepším názvem.

Když jsem prohlížel logy na Exchange serveru, tak jsem narazil na následující chybu, která se pravidelně opakovala.

The following UM IP gateways did not respond as expected to a SIP OPTIONS request.

Transport = TLS, Address = lync.firma.local, Port = 5061, Response Code = 0, Message = This operation has timed out.

Na internetu se mi podařilo nalézt řešení. Když se na Exchange serveru spustil skript ExchUCUtil.ps1, tak si ve vlastnostech UM IP gateway nenastavil komunikační port (standardně 5061). Stačí jej nastavit a chyba se již neobjeví. Pomocí následujících příkazů nejprve zkontrolujeme, jestli hodnota není nastavena, a pak ji nastavíme.

[PS] C:\>Get-UMIPGateway | fl port
Port : 0

[PS] C:\>Get-UMIPGateway | Set-UMIPGateway -Port 5061

Podle zmínek na internetu by při tomto problému nemělo fungovat volání na Subscriber Access a Auto Attendant čísla. To ale u mne fungovalo. Každopádně je lepší chybu odstranit.

Instant Messaging pomocí Outlook Web App

Lync nemá webového klienta pro vlastní IM (pouze pro organizované konference). Ale využívá k tomu Outlook Web App z Exchange Server 2010. Oficiální popis konfigurace je v článku Configure Outlook Web App and Lync Server 2010 Integration a Enable Exchange 2010 SP1 Outlook Web App and IM Integration.

Vše je docela jednoduché a spočívá ve třech obecných krocích:

  • instalace Web Service Providera na Exchange
  • konfigurace na Exchange serveru
  • konfigurace na Lync serveru

Instalace Web Service Provider

Na všechny CAS Exchange servery, kde budeme používat integraci, musíme doinstalovat Web Service Provider. K dispozici je sice pouze verze pro OCS 2007 R2, ale je plně funkční i s Lyncem. Ve většině případů pak potřebujeme ještě dva patche. Stáhneme tedy následující soubory:

Ze stažených souborů nainstalujeme pouze následující v daném pořadí (počítám, že obecné knihovny již na serveru jsou):

  • UcmaRedist.msp (starší verze z rozbaleného archivu se nepoužije UcmaRedist.msi)
  • CWAOWASSP.msi
  • CWAOWASSP.msp

Instalace proběhne bez jakýchkoliv informací, zkontrolovat můžeme pouze pohledem do Programs and Features.

Konfigurace Exchange serveru

Velkou roli pro komunikace Lync - Exchange hrají certifikáty. IM integraci u Exchange nastavujeme na virtuálním adresáři OWA a zde vybíráme i certifikát, který bude Exchange pro komunikaci používat. Myslím, že ve většině případů používáme jeden certifikát, který má celou řadu Subject Alternative Name (SAN) pro různé role a přístupy. Takže tento certifikát nastavíme i pro IM. Ale pak se může stát, že když dokončíme konfiguraci a přihlásíme se do OWA, tak v nové sekci Contact List uvidíme pouze chybové hlášení.

Instant Messaging isn't available right now. The Contact List will appear when the service becomes available.

A ve většině případů zjistíme, že problém je způsoben certifikátem. I v oficiálním návodu je o tom zmínka, ale člověk ji asi jednoduše ignoruje. Certifikát, který se použije pro IM, musí mít v Subject jméno daného CAS serveru, který se připojuje na Lync. Přitom běžně v Subjectu necháváme veřejné DNS jméno a adresa vlastního serveru je v SAN, to ale Lync nevezme a odmítne spojení. Problém je i v případě, kdy používáme CAS Array. Většinou máme stejný certifikát na všech členech pole. MS sice uvádí, že pro Lync může být v Subject DNS adresa CAS pole, ale to se mi v praxi nepodařilo zprovoznit. Takže jsem pro každý Exchange musel udělat samostatný certifikát.

Pokud již máme správný certifikát (nebo více), tak si je vypíšeme (nejčastěji se používá certifikát, který máme pro IIS, pokud jich je více). Protože dále budeme potřebovat použít Thumbprint (mohli bychom samozřejmě výstup uložit do proměnné a tu následně použít, ale pro jednoduchost používám takto).

[PS] C:\>Get-ExchangeCertificate | FL Services, Thumbprint

Services : IMAP, POP, UM, IIS, SMTP
Thumbprint : E8E438D294F308A44E8F5257E0C225F541F

Pro kontrolu si můžeme vypsat OwaVirtualDirectory.

[PS] C:\>Get-OwaVirtualDirectory

Name Server OwaVersion
---- ------ ----------
owa (Default Web Site) EXCH01 Exchange2010
owa (Default Web Site) EXCH02 Exchange2010

A u OWA adresáře si můžeme vypsat atributy, které souvisí s IM (zde jsou již nastavené).

[PS] C:\>Get-OwaVirtualDirectory -Server EXCH01 | FL *inst*

InstantMessagingCertificateThumbprint : E8E438D294F308A00E225F541
InstantMessagingServerName : lync.firma.local
InstantMessagingEnabled : True
InstantMessagingType : Ocs

Pokud máme pouze jeden adresář nebo chceme všechny nastavit shodně, tak použijeme následující příkaz. Pokud chceme nastavit OWA jen na určitém serveru, tak u příkazu určíme sever (nebo ID adresáře) Get-OwaVirtualDirectory –Server EXCH01. Pomocí příkazu povolíme IM, nastavíme typ na OCS a přiřadíme certifikát a adresu Lync serveru.

[PS] C:\>Get-OwaVirtualDirectory | Set-OwaVirtualDirectory -InstantMessagingType OCS -InstantMessagingEnabled:$true -InstantMessagingCertificateThumbprint E8E438D294F308AF5257E0C225F541 -InstantMessagingServerName lync.firma.local

Po té, co jsme provedli změny na virtuálním adresáři, musíme restartovat službu IIS. Například:

[PS] C:\>iisreset

Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted

Konfigurace Lync serveru

Nyní ještě musíme nastavit Lync server, aby dovolil komunikaci s naším Exchangem. To provedeme pomocí Lync Server Topology Builder a definování Trusted Application Pool, kde uvedeme Exchangem serverem.

  • připojíme se na lync.firma.local
  • spustíme Lync Server Topology Builder
  • zvolíme Download Topology from existing deployment
  • uložíme topologii do souboru (přepíšeme původní) firma.tbxml
  • rozklikneme naši lokalitu (Praha), klikneme pravým tlačítkem na Trusted Application Pool a zvolíme New Trusted Application Pool
  • zadáme FQDN Exchange serveru (nebo CAS Array a Multiple computer pool) a zaškrtneme Single computer pool, klikneme Next

integ11

  • pokud jsme zvolili Multiple computer pool, tak nyní zadáme FQDN jednotlivých Exchange serverů, klikneme Next

integ12

  • Next Hop je náš Lync server, klikneme OK
  • vybereme vytvořený pool a zvolíme Edit Properties, odškrtneme Enable replication of configuration data to this pool
  • pak musíme publikovat topologii
  • pravým tlačítkem klikneme na Lync Server 2010 a zvolíme Publish Topology

Ve většině návodů (včetně toho oficiálního) se uvádí, že je následně potřeba definovat Trusted Application pomocí Lync Server Management Shellu. Já jsem ale narazil na článek (Exchange 2010 RTM/SP1 OWA IM Integration with Microsoft Lync Server 2010), který uvádí, že pokud máme na Exchange serveru roli CAS i UM, tak toto nastavení provádět nemusíme. Dokonce se tak vyhneme chybě, která se jinak zobrazuje na Lync serveru.

Two servers cannot be configured at the same FQDN with different server version numbers.

Cannot configure a server at FQDN [EXCH01.firma.local] because another server is already configured there with a different server version number. Existing server has role 'Authorized Host' (version 0) with GUID {6E2B5F7D-D4F8-4A5E-DC823837729}. New server has role 'Application Server' (version 5) with GUID {DD2300BF-3BF3-5C4C-ECC57264681}.

ALL servers at this FQDN will be removed from the configuration until this conflict is resolved.

Cause: This is a configuration problem.
Resolution:
Review the server roles that are configured at this FQDN and ensure that they have identical version numbers.

Úspěšně jsem otestovat, že vše funguje, ale pro úplnost uvádím i potřebný příkaz (musíme si určit nějaký port pro komunikaci).

PS C:\> New-CsTrustedApplication -ApplicationId ExchangeOWA -TrustedApplicationPoolFqdn EXCH01.firma.local -Port 5059
WARNING: The following changes must be made in order for the operation to be complete.
Enable-CsTopology must still be run for all changes to take effect.

Identity : EXCH01.firma.local/urn:application:exchangeowa
ComputerGruus : {EXCH01.firma.local sip:EXCH01.firma.local@firma.cz;gruu;opaque=srvr:exchangeowa:
vwAj3fM7TFy5TOzFcRoHQA}
ServiceGruu : sip:EXCH01.firma.local@firma.cz;gruu;opaque=srvr:exchangeowa:vwAj3fM7TFy5TOzFcRoHQA
Protocol : Mtls
ApplicationId : urn:application:exchangeowa
TrustedApplicationPoolFqdn : EXCH01.firma.local
Port : 5059
LegacyApplicationName : exchangeowa
PS C:\> Enable-CsTopology

Nově se přihlásíme do OWA a měli bychom vidět IM i Presence u kontaktů a také se rozšíří kliknutí pravým tlačítkem myši.

Troubleshooting – hledání problémů

Zde je stručně popsaný obecný postup, jak můžeme hledat řadu komunikačních problémů na nižší úrovni. Využijeme Lync Server Logging Tool (OCSLogger.exe), který se nainstaloval spolu se serverem (je součástí Lync Server Administrative Tools). Ten dovoluje zachytit vybraný provoz a pak můžeme použít Snooper, který je součástí Microsoft Lync Server 2010 Resource Kit Tools, a pomocí něj analyzovat provoz.

  • spustíme Lync Server 2010 Logging Tool
  • mezi Components zatrhneme SIPStack
  • pod Flags zatrhneme všechny možnosti
  • Level necháme Information nebo přepneme na All

integ13

  • klikneme na tlačítko Start Logging
  • nyní provedeme akce, které končí chybou (například použití OWA s IM) nebo počkáme nějakou dobu
  • klikneme na tlačítko Stop Logging
  • klikneme na tlačítko Analyze Log Files (musíme mít nainstalovaný Resource Kit se Snooperem)
  • v dalším okně by mělo být vybráno vše potřebné, takže klikneme Analyze
  • přepneme se na záložku Messages a zde vidíme podrobně seskupovanou komunikaci, červené řádky označují chybu

Autor: Petr Bouška