Z cyklu Interop: Integracja Lync Server 2010 z rozwiązaniem głosowym Avaya AES

Postanowiłem napisać słów kilka o integracji systemu Microsoft Lync Server 2010 z rozwiązaniem Avaya. Pewnie większość zapyta się po co? Jest kilka powód za, między innymi klient który obecnie używa rozwiązań głosowych Avaya, chciałby dorzucić IM’a (Instant Messaging) i dzwonienie z Lync 2010 za pośrednictwem Avaya.

Tutaj znowu nasuwa się pytanie, po co dzwonić z Avaya, a nie z Lync Server bezpośrednio? Odpowiedź jest prosta, bo klient kupił usługi SIP trunkingu lub H.323 trunkingu od ISP, które są już terminowane na systemie Avaya lub po prostu chce mieć dwa systemy działające (może tylko w niektórych oddziałach firmy).

Cała integracja opiera się o scenariusz RCC (kontrolowanie systemu zdalnego przez użytkownika AD), gdzie użytkownik posiadający komunikator może się z niego wydzwaniać/odbierać (hold/unhold, transfer, itd.) połączenia za pośrednictwem systemu Avaya, czyli mówiąc prosto przełączyć się również na słuchawkę hardwarową awajki.  Integracja pomiędzy klientem Lync 2010 i Avaya Communication Manager odbywa się za pośrednictwem TR/87 over SIP. Pomiędzy Lync Server 2010 a Avaya ACM w komunikacji pośredniczy serwer Avaya AES, który jest pewnego rodzaju API i interfejsem komunikacyjnym – CSTA over SIP do Lync, a CTI do Avaya ACM. Oczywiście na samym AES musimy mieć zainstalowane certy z CA w naszej domenie AD. Cała procedura konfiguracji jest mocno skomplikowana i źle udokumentowana w przewodnikach stworzonych wspólnie przez Avaya i Microsoft.

Co zyskamy w tej integracji? Siłę komunikatora Lync + konferencje + presence + dostęp do Exchange VoiceMail połączoną z systemem typu Enterprise Telephony Network od Avaya.

Co jest potrzebne w labie do zestawienia tej integracji?

Avaya Core Releases
· Avaya Session Manager 6.1 SP5
· Avaya Aura System Platform 6.0.3 + patch 6.0.3.3.3
· Avaya Aura Communication Manager 6.0.1 SP 5.01

Avaya Unified Communication Releases
· Avaya Aura Application Enablement Services 6.1.1 (r6-1-1-30-0)

Microsoft Unified Communication Releases
· Podstawowe role Windows Server 2008 R2 z ostatnimi poprawkami: ADDS+DNS (forest and domain level set to Windows Server 2008 R2), ADCS (Certificate Authority).

· Lync Server 2010 and Lync 2010 (client) with latest hotfix (wymagane KB2493736).

· Exchange Server 2010 with Update Rollup 6 (lub późniejszy) for Exchange Server 2010 Service Pack 1 (KB2608646).

Architektura rozwiązania:

Po co nam ten serwer Avaya AES?

Odpowiada on za konwersję planu numeracyjnego, żeby numery krótkie które są z reguły wykorzystywane w systemie Avaya były odpowiednio przetłumaczone na numery w formacie E.164 rozumianym przez Avaya – konfiguruje się to w sekcji („Dial Plan Settings – Conversion Rules for Default” and „Dial
Plan Settings – Conversion Rules – switchname) w AE Services Management Console. Mamy dwie opcje From TelURI i To TelUri. 

From TelURI:  konwertowanie z normalized TelURI number do extension lub dial string, które jest przechwytywane przez system Avaya (Communication Manager).

To TelURI:  konwertowanie z extension lub dial string do normalized TelURI, które jest przechwytywane przez Microsoft Lync 2010.

Licencjonowanie na AES: W celu włączenia wymaganego TR/87 na serwerze AE Server są potrzebne licencje typu Unified CC API Desktop Edition licenses. To jest licencjonowanie per-user, czyli każdy aktywny klient Microsoft Office Communicator lub Lync 2010 konsumuje 1 licencję Unified Desktop license.

Trzeba włączyć TR/87 na serwerze AES (standardowo jest wyłączone): AES używa portu 4723 do komunikacji pomiędzy Microsoft Lync Server 2010 a AE Services. Włączamy to z poziomu OAM — Networking -> Ports page and Apply changes.

Po stronie AES musimy dodać jeszcze Communication Managera, czyli Switch Connection oraz TSAPI link, co zostało dokładnie opisane w tym przewodniku (http://support.avaya.com/css/P8/documents/100127029).

Pozostało nam jeszcze dokonfigurowanie dial planu i zasad konwersji o których pisałem powyżej. W moim przypadku ACM używa numerów 7 cyfrowych: 666+XXXX, więc musimy w jedną stronę uzupełniać do 11 cyfr formatu E.164, a w druga usuwać – zrobimy nam to jedna reguła po stronie AES’a:

Nie będę opisywał procedury dodawania linka z Avaya ACM do AES, bo jest to opisane tutaj  (http://support.avaya.com/css/P8/documents/100127029).

Teraz najciekawsza część, czyli LYNC – let’s Lync!

I tu jest największa kupa – jeśli źle wygenerujemy cert to będzie źle. Na początek instalacja zaufanego certu na Lync Server. Procedurę opisano nie szczegółowo w dokumecie http://support.avaya.com/css/P8/documents/100127013. Podczas instalacji zaufanego certyfikatu, należy pamiętać, że Microsoft Lync Server i AE Serices musi użyć tego samego urzędu certyfikacji lub wystawcy w tym samym łańcuchu certyfikatów.

Przechodzimy do Windows 2008 CA Server Console, uruchamiamy CA MMC snap-in. Right click na Certificate Templates i wybieramy Manage.


Prawy klik na RAS and IAS Server, i wybieramy duplicate template.

RAS and IAS template został wybrany, ponieważ zawierea Client and Server Authentication Application Policies wymagane przez Avaya AE Services.

Na zakładce General tab, należy podać unikalną nazwę dla templatu, przykładowo“AES”.

Na zakładce Request Handling, pole Purpose ustawiamy na Signature and encryption. Ustaw Minimum key size na 1024.

Na dole zakładki Request Handling, wybierz cryptographic service providers (CSPs), które powinny zostać użyte:
· Microsoft DH SSchannel Cryptographic Provider
· Microsoft Enhanced Cryptographic Provider v1.0
· Microsoft RSA SChannel Cryptographic Provider

Na zakładce Subject Name, sprawdź czy opcja Supply in the request została zaznaczona.

Na zakładce Extension, sprawdź czy sygnatura Digital signature została zaznaczona. Szyfrowanie (Encryption) powinno być ustawioe na wartość “Allow key exchange only with key encryption”.

Otwieramy Certification Authority snap-in i w Certificate Templates wybieramy New Certificate Template to Issue.  Tutaj musimy wybrać poprzednio wygenerowany szablon certyfikatu “aes” i klikamy OK – powinien być teraz dostępny w Certificate Templates.

Ta procedura wygenerowała nam cert, którego użyjemy na serwerze Lync Server 2010, który zawiera Client and Server Authentication Policies wymagane przez AE Services.

Odpalamy Lync Server Deployment Wizard. Wybieramy “Install or Update Lync Server System”.
W kroku 3 wizarda, “Request, Install or Assign Certificates” wybieramy Run lub Run Again. Tutaj też pokażę tylko najważniejszą część – oczywiście robimy Request certu.

Na stronie Specify Alternate Certificate Template, wybieramy box Use alternate certificate template for the selected certification authority. Wprowadzamy nazwę wcześniej wygenerowanego certu “aes” i przechodzimy dalej.

Na stronie Name and Security Settings wizarda, wpisz nazwę “aes_cert” i wybierz szyfrowanie 1024 (tak jak w cercie).

Oczywiście w kolejnym kroku wybieramy SIP domain, pozostawiamy Additional Subject Alternate Names i przypisujemy certyfikat do serwera Lync Server 2010: “Assign this certificate to Lync Server certificate usages”.

Po stronie AES Server trzeba jeszcze dodać zaufany certyfikat z AD i wygenerować cert dla serwera w AD – wszystko opisane jest w przewodniku do którego linkowałem powyżej.

Configuring Remote Call Control (RCC) w Lync Server 2010
Lync Server 2010 Management Shell będzie wykorzystany do dodania AES’a jako RCC gatewaya.

Uruchamiamy polecenie, żeby zebrać info o obecnej konfiguracji serwera (najlepiej skopiować te dane):

PS C:UsersAdministrator.lync01> Get-CsStaticRoutingConfiguration
(should return null results unless a static route has previously been configured)
Identity : Global
Route : {}

PS C:UsersAdministrator.lync01> Get-CsSipDomain
(To view configured SIP domain(s). This will not be modified during RCC configuration in this example)

PS C:UsersAdministrator.lync01> Get-CsTrustedApplicationPool
(Retrieves settings for one or more pools that contain the computers that host trusted applications)

For help with the Lync Server management Shell:
PS C:UsersAdministrator.lync01> Get-Help

Teraz pozostało nam stworzyć statyczne trasy do RCC gateway. Tworzymy zmienną $TLSRoute.

PS C:UsersAdministrator.lync01> $TLSRoute = New-CsStaticRoute –TLSRoute -Destination aes352.uclabs.com -Port 4723 -UseDefaultCertificate $true -MatchUri *.uclabs.com

PS C:UsersAdministrator.lync01> Set-CsStaticRoutingConfiguration -Route @{Add=$TLSRoute}

Tworzymy trusted application.

PS C:UsersAdministrator.lync01> New-CsTrustedApplicationPool –Identity aes352.uclabs.com -Registrar hq666se.aes352.uclabs.com -Site hq666 -TreatAsAuthenticated $true -ThrottleAsServer $true -RequiresReplication $false

Następnia dodajemy trusted application do pool:

PS C:UsersAdministrator.lync01> New-CsTrustedApplication -ApplicationID hq666 -TrustedApplicationPoolFqdn aes352.uclabs.com -Port 4723

Użyj Get-CsStaticRoutingConfiguration oraz Get-CsTrustedApplicationPool, żeby podejrzeć wprowadzone zmiany:

PS C:UsersAdministrator.lync01> Get-CsStaticRoutingConfiguration
PS C:UsersAdministrator.lync01> Get-CsTrustedApplicationPool

Implementujemy zmiany cmdletem:

PS C:UsersAdministrator.lync01> Enable-CsTopology

Ostatnia faza konfiguracji to włączenie użyszkodnika RCC po stronie serwera LYNC – przykład w formie obrazkowej:

No i można testować interop!

Klient Microsoft Lync 2010 dla Windows Phone już jest!

Pojawił się Mobile Client for Lync Server http://lync.microsoft.com/en-us/Product/UserInterfaces/Pages/lync-2010-mobile.aspx, którego można pobrać z Marketu http://www.windowsphone.com/en-US/apps/9ce93e51-5b35-e011-854c-00237de2db9e. Sam Microsoft opublikował dokumentację Microsoft Lync Server 2010 Mobility Guide oraz Microsoft Lync Server 2010 Mobility Service and Microsoft Lync Server 2010 Autodiscover Service, którą trzeba przeanalizować przed startem.

Monitoring Mobility for Performance

 

Microsoft Lync 2010 for Windows Phone (wymaga Lync Server lub Office 365 Lync): http://www.windowsphone.com/en-US/apps/9ce93e51-5b35-e011-854c-00237de2db9e

 

 

Music-On-Hold w Lyncu 2010

Dziś postanowiłem odświeżyć temat MOHa (Music-on-Holda) dla użytkowników Lync Server 2010. Temat ostatnio mnie kilka razy wyprowadził z równowagi :).

Jedną z ciekawych funkcji jeśli mamy włączone Enterprise Voice  jest możliwość pozwolenia użytkownikowi wybrania muzyki, która zostanie odtworzona podczas wrzucenia kogoś na Hold. Nie jest to oczywiście standardowo uruchomiona opcja i nie wiem, czy ktoś będzie chciał na taką zmianę pozwolić użytkownikowi (do not trust anyone), ale się da „Play music on Hold” w Options/Ringtones and Sounds. Użytkownicy „no enabled for Enterprise Voice” nie zobaczą tej opcji, a osoby z włączonym Enterprise Voice standardowo zobaczą wyszarzone pole.

Na samym początku warto zaznaczyć jaki jest minus MOHa na Lyncu:

  • nie działa z Lync Phone Edition, czyli jeśli w rozmowie bierze udział CX600 IP Phone lub inny model to nie usłyszymy muzyki (cisza)!
  • nie sprawdziłem jak wygląda kwestia MOHa przy interoperability z innymi platformami po bezpośrednim SIP trunku (czyli CUCM, Avaya, itd.).

Żeby włączyć to ustawienie należy zmienić ustawienia Lync Client Policy w celu włączenia Music-on-Hold. W pierwszym kroku możemy podejrzeć ustawienia Global Client Policy:

Get-CSClientPolicy Global

Interesujący nas parameter to EnableClientMusicOnHold, który standardowo będzie ustawiony na FALSE. Musimy zmienić go na TRUE.

Set-CSClientPolicy Global -EnableClientMusicOnHold:$TRUE

Po przelogowaniu klienta opcja Play music on hold w opcjach Lync 2010 będzie dostępna. Standardowo wykorzystywany jest plik DefaultHold.wma, który znajduje się w lokalizacji:

C:Program Files (x86)Microsoft LyncMediaDefaultHold.wma.

Jeśli chcemy użyć nie standardowego MOHa plik musi spełniać następujące wymagania:

  • format WMA lub WAV
  • bit rate 192 kbps (chociaż tego nie jestem pewien).
Drugie wyjście z sytuacji (lepsze z punktu widzenia dużych korporacji) na ustawienie MOHa to globalna konfiguracja i zdefiniowanie pliku przez Administratora. W tym celu wykorzystamy parameter MusicOnHoldAudioFile w ustawieniach CSClientPolicy (http://technet.microsoft.com/en-us/library/gg398300.aspx).

Set-CSClientPolicy -EnableClientMusicOnHold:$FALSE -MusicOnHoldAudioFile „C:Program FilesMicrosoft LyncMediaDefaultHold.wma”

Jeśli tak to skonfigurujemy użytkownik nie będzie mógł zmienić muzyki, jeśli chcielibyśmy mu na to pozwolić należy wyczyścić zawartość parametru MusicOnHoldAudioFile ustawiając go na wartość $NULL lub „”.

MusicOnHoldAudioFile description on TechNet:

http://technet.microsoft.com/en-us/library/gg398300.aspx

MusicOnHoldAudioFile  Optional String Path to the audio file to be played when a caller is placed on hold. If a value is configured for this property, then music on hold will be enabled and users will not be allowed to disable the feature. If no value is configured for this property, then users can specify their own music-on-hold file, provided that EnableClientMusicOnHold is set to True.

Zdjęcia w Lync 2010 i Outlook 2010

Lync 2010 i Outlook 2010 mają przyjemne interfejsy, które umożliwiają wyświetlanie zdjęć osób z którymi na co dzień pracujemy (fajne żeby zobaczyć jak wygląda osoba z innego zakątka świata). Pozostaje więc pytanie jak Administratorzy mają podejść do tematu zdjęć i Global Address List (GAL).

Standardowo Lync 2010 oraz Outlook 2010 umożliwia wyciągnięcie zdjęcia przechowywanego w atrybucie thumbnailPhoto (zawiera binarną reprezentację fotki) dla obiektu użytkownik przechowywanego w Active Directory (AD). Niestety Lync nie udostępnia bezpośredniej metody importowania zdjęć do atrybutu thumbnailPhoto w AD. W przypadku klienta Lync 2010 możemy również skorzystać z adresu URL „Show a picture from a web address” w celu załadowania zdjęcia z dowolnego adresu URL. Możliwe jest także wykorzystanie witryny My Site w Microsoft SharePoint Server 2010, gdzie możemy synchronizować zdjęcie z wcześniej wspomnianym atrybutem thumbnailPhoto.

Zdjęcie możemy dodać również z poziomu Exchange Management Shell w Exchange Server 2010 korzystając z cmdletu Import-RecipientDataProperty (http://technet.microsoft.com/en-us/library/dd351252.aspx).

Import-RecipientDataProperty -Identity Ayla -Picture -FileData ([Byte[]]$(Get-Content -Path „M:Employee PhotosAylaKol.jpg” -Encoding Byte -ReadCount 0))

Lync Server 2010 udostępnia cmdlet CsClientPolicy (parametry DisplayPhoto oraz MaxPhotoSizeKB), który pozwala kontrolować pewne opcje związane ze zdjęciem. W celu otrzymania zdjęcia Lync 2010 wysyła zapytanie do Lync Server 2010 używając Address Book Web Query (ABWQ). Zapytanie dotyczy trzech atrybutów:

  • PhotoHash – zawiera hash binariów zdjęcia, dzięki czemu wiadomo, czy zdjęcie zostało zmienione.
  • PhotoRelPath – zawiera ścieżkę do zdjęcia.
  • PhotoSize – rozmiar zdjęcia w bajtach.

Rekomendowane rozmiary zdjęć to 96×96 pixeli. Sam atrybut ThethumbnailPhoto pozwala przechowywać zdjęcia o maksymalnej wielkości 100K, ale cmdlet Import-RecipientDataProperty nie umożliwia przesłania zdjęcia większego niż 10K. W przypadku dużych organizacji powyżej 20K pracowników łączna wielkość miniatur zdjęć powinna wahać się w granicach 200MB.

GAL Photos: Frequently Asked Questions

GAL Photos in Exchange 2010 and Outlook 2010

Dostępne jest SDK dla Microsoft Lync 2010

Microsoft opublikował SDK dla Microsoft Lync 2010, dzięki któremu można rozszerzyć funkcjonalności do ujednoliconej komunikacji oferowane przez Lynca. SDK zawiera między innymi zestaw gotowych kontolek, które możemy dodawać (także metodą drag and drop) do aplikacji WPF’owych, HTML’owych, czy też stworzonych w Microsoft Silverlight 4.0.

Wymagania dla SDK’a:

  • Visual Studio 2008 SP1 or Visual Studio 2010 RTM for Microsoft Windows Forms or WPF development.
  • Visual Studio 2010 RTM for Silverlight development.
  • Microsoft .NET Framework 3.5 or later service pack.
  • Microsoft Silverlight 4.0 runtime, installed with Lync 2010.
  • Microsoft Silverlight 4 Tools for Visual Studio 2010.

Sesje online o Lync Server 2010 w grudniu na WSS.pl!

Na portalu WSS.pl  w następnym tygodniu (14 i 16 grudnia 2010 o godzinie 19:30) odbędzie się cykl spotkań online: „Premiera Lync Server 2010 na WSS.pl„. Prelekcje poprowadzą Adam Dolega (Microsoft) i Konrad Sagała (MVP, SAGI-B Expert Group).

Microsoft Lync to platforma, która łączy wiadomości błyskawiczne, zarządzanie obecnością, dźwięk, wideo, konferenencje internetowe i głos, aby łączyć ludzi i umożliwiać im optymalną komunikację. Platforma ma jeden wspólny interfejs, który współpracuje ze znanymi i używanymi aplikacjami, takimi jak Microsoft Office, Microsoft SharePoint oraz Microsoft Exchange.

Sesja Konrada Sagały
14 grudnia 2010, godzina 19:30

Niezbędne wymagania systemowe do wdrożenia Lync 2010 i narzędzia wdrożeniowe. Scenariusze wdrażania i migracji Lync 2010 oraz koegzystencja z OCS 2007 R2. Różnice w stosunku do poprzednich wersji.

Wchodze na spotkanie Dodaj do kalendarza

Konrad SagałaKonrad Sagała od 17 lat zajmuje się projektowaniem i wdrażaniem systemów informatycznych opartych o różne platformy sieciowe, od 12 lat związany z platformą Microsoft Windows Server. Do jego specjalności należą: projektowanie i wdrażanie systemów usług pocztowych i pracy grupowej Microsoft Exchange, projektowanie systemów usług katalogowych Active Directory, projektowanie infrastruktury sieciowej, usług bezpieczeństwa i zarządzania systemami. Jest twórcą jednej z największych w Polsce struktur Active Directory i Exchange. Twórca Polskiej Grupy Profesjonalistów i Użytkowników Exchange PEPUG. Posiada certyfikaty MCITP z Wirtualizacji R2, Windows 2008, Exchange 2010, 2007, W7 i Visty, MCSE+M, MCSE+S, jest od kilku lat MCT. Od 4 lat MVP z kategorii Exchange Server. Prowadzi firmę SAGI-B Expert Group Sp. z o.o. – zajmującą się wdrożeniami technologii Microsoft.

Sesja Adama Dolegi
16 grudnia 2010, godzina 19:30

Zobacz w działaniu najnowsze rozwiązanie Microsoft w zakresie komunikacji w czasie rzeczywistym – LyncServer 2010 (następca OCS 2007 R2). LyncServer 2010 informuje o dostępności pracowników, oferujące wysyłanie wiadomości błyskawicznych, konferencje głosowe i wideo, wspólną pracę oraz telefonię IP. Wszystko dostępne z jednego narzędzia i z dowolnego miejsca.

Wchodze na spotkanie Dodaj do kalendarza

Adam Dolega

Adam Dolega jest Architektem Rozwiązań Biznesowych w Microsoft Polska. Wspiera technologicznie proces sprzedaży rozwiązań usprawniających komunikację w przedsiębiorstwach – Exchange Server i LyncServer. Certyfikowany inżynier i trener Microsoft.

Spotkanie będzie realizowane na żywo przy użyciu rozwiązania Live Meeting. Aby uczestniczyć w transmisji należy wcześniej pobrać bezpłatnego klienta i uruchomić sesję.

Udział w spotkaniu jest bezpłatny.

Więcej informacji o wydarzeniu można znaleźć na portalu WSS.pl. Nie można przegapić tych sesji!

Problemy z PoE na telefonach Polycom CX600 i CX700

W nowych telefonach Polycoma dedykowanych dla Lynca (Lync Phone Edition) możemy zaobserwować problemy z działaniem słuchawek w przypadku zastosowania Power over Ethernet (PoE). W przypadku modeli CX700 i CX600 kiedy telefony dostają zasilanie z PoE pojawiają się problemy z ciągłym restartowaniem aparatu lub z przechodzeniem z trybu idle do active.

Telefony Lync Phone Edition Polycoma posiadają wsparcie dla PoE oraz Link Layer Discovery Protocol-Media Endpoint Discovery (LLDP-MED), ale żeby można było używać tych technologii switch musi wspierać standardy PoE 802.3AF (PoE Standard) and LLDP-MED 802.1AB.

Rozwiązaniem problemu  zaproponowanym przez Microsoft w przypadku, gdy switch wspiera powyżej wymienione standardy, a problem występuje  jest użycie zewnętrznego źródła zasilania zamiast PoE dla telefonów Polycoma. W przypadku wykrycia tego typu problemu Zespół Lync prosi o zgłoszenie incydentu.

Premiera Microsoft Lync Server 2010

Wczoraj odbyła się światowa premiera Lynca podczas której mogliśmy zobaczyć Billa :), który opowiadał i zachwalał Microsoftowe UC. Dobra wiadomość dla wszystkich, którzy nie posiadają subskrypcji TechNet lub MSDN – Microsoft udostępnił wersję próbną Lync Server 2010 i Lync 2010 ograniczoną czasowo (180 dni).

Co nowego w Lync Server 2010 RTM ? http://www.microsoft.com/downloads/en/details.aspx?FamilyID=782975c4-8610-46b6-9fc4-d1d30de7c76d&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+MicrosoftDownloadCenter+%28Microsoft+Download+Center%29#tm 

Wersję trial można pobrać ze strony produktu http://lync.microsoft.com/en-us/launch/Pages/launch.aspx. Na stronie można obejrzeć również webcast z wczorajszej premiery.

Lync Server 2010 i Exchange Server 2010

Zapraszam na spotkanie grupy PEPUG, które odbędzie się w najbliższy czwartek w siedzibie Microsoft, gdzie będę miał okazję poprowdzić prezentację o integracji Lynca z Exchangem. Prezentacja będzie prowadzona na wersji beta refresh Lynca :), więc na pewno coś nie zadziała…  i będzie trzeba debugować. Jednym słowem zapraszam.

Link do zapisania się na spotkanie (trzeba mieć konto na WSS.pl):

http://www.wss.pl/group-129/CalendareventList/1,19376/asc.aspx