Exchange 2013 Preview dostępny do testowania! Co nowego?

Wiele produktów Microsoft w wersji „Preview” miało premierę w tym tygodniu…, począwszy od całej rodziny produktów Office (Sharepoint, Office 15), aż po Exchange 2013 Preview. Już od dłuższego czasu (wydanie pierwszej bety dla MVP) przyglądałem się nowej wersji Exchange 2013 i wersja Preview jest zdecydowanie ciekawsza od poprzedniej i nie chodzi tutaj o poprawienie interfejsu 😀 (osobiście jestem Metro entuzjastą).

Microsoft nie publikował informacji na temat nowości w wersji beta Exchange 2013, i pewnie dlatego większość przeżyje spory szoookkk, jak zobaczy artykuły poświęcone Exchange 2013 Server Roles lub Exchange 2013 Mail Flow, czy też Exchange 2013 System Requirements.

Pierwsza „gruba” zmiana to przede wszystkim nowa architektura rozwiązania, która zamknie się w trzech rolach: Client Access Server, Mailbox ServerEdge Transport Server (niestety nie jest dostępna w wersji Exchange 2013 Preview).

W nadchodzących dniach, tygodniach będę chciał napisać więcej o nowościach i architekturze nowego Exchange (wss.pl i ten blog), więc teraz tylko kilka zdań o rolach:

Serwery Client Access – jego rolą będzie akceptowanie połaczeń od klientów, uwierzytelnianie i przekierowanie (proxy) tego ruchu do back-endu, czyli serwerów Mailbox trzymających aktywną kopię bazy. Kilka serwerów Client Access będzie można grupować w ramach macierzy z rozkładem obciążenia (layer 4 load balancing). A Client Access array includes two different components: the Client Access service and the Front End Transport service.

Serwery Mailbox – tak jak w przypadku 2010/2007 odpowiedzialne za trzymanie bazy skrzynkowej i folderów publicznych. Serwery te będzie można groupować w klaster z database availability groups (DAG). Opócz tego Mailbox serwer będzie odpowiedzialny za / nowe podejście:

  • email address policies
  • records management i retention policies
  • ralizowanie multi-mailbox searcha
  • HA
  • Exchange 2013 Preview hostuje komponenty transportowe, Client Access i rolę Unified Messaging.
  • Store został przepisany od nowa, co ma usprawnić wydajność (IO)
  • Smart Search zastąpił Exchange 2010 multi-mailbox search (to zmiana na plus – zobaczymy w praktyce)
  • ewolucja DAGa!
Więcej ciekawostek o Mailbox Server w Exchange 2013 Preview, tutaj: http://technet.microsoft.com/en-us/library/jj150491(v=exchg.150).
Zapytacie, co z Unified Messaging? Jest… W nowym modelu na serwerze Client Access działa usługa Microsoft Exchange Unified Messaging Call Router, która przekierowuje sesje Session Initialization Protocol (SIP) do serwera Mailbox. Na serwerze Mailbox działają obie usługi Microsoft Exchange Unified Messaging service i UM worker processes (wcześniej komponenty roli Unified Messaging). W przypadku mediów, mamy kanał (RTP) lub (SRTP) zestawiony bezpośrednio pomiędzy IP gateway lub IP Private Branch eXchange (PBX) do serwera Mailbox, który trzyma skrzynkę uzytkownika.
Co nowego w Exchange 2013 Preview (jakie ficzery)?
1. Architektura – Front-End array (protocol proxy) i Back-end cluster (ewolucja DAGa). Tutaj dojdzie nam Layer 4 Load Ballancing w opraciu o protokoły.
3. Zmiany w sposobie podłączenia Outlooka na rzecz RPC/HTTP.
5. Integracja z Sharepoint 2013 Preview:
10. Więcej znajdziecie pod następującym linkiem: http://technet.microsoft.com/en-us/library/jj150540(v=exchg.150) i
Kilka cennych linków dla rozpoczynających przygodę z Exchange 2013: 
Warto również wspomnieć o wsparciu dla IPv6: http://technet.microsoft.com/en-us/library/gg144561(v=exchg.150)

Pozostaje tylko pytanie, czy Microsoft zdąży ze wszystkim do wydania wersji RTM Exchange Server 2013 (czy będziemy musieli zaczekać do SP1)? Ja trzymam kciuki…

Inne linki:

Tony Redmond „Installing Exchange 2013 Preview”: http://www.windowsitpro.com/blog/tony-redmonds-exchange-unwashed-50/exchange-server/installing-exchange-2013-preview-143722

Tony Redmond „Exchange 2013 and Outlook 2013 preview versions debut”: http://www.windowsitpro.com/blog/tony-redmonds-exchange-unwashed-50/exchange-server/exchange-2013-outlook-preview-versions-debut-143715

Jak skonfigurować Exchange Server 2010 Unified Messaging i Lync Server 2010?

Pokażę jak skonfigurować Unified Messaging w połączeniu z Lync Server 2010, czyli osiągniemy scenariusz zostawiania wiadomości dla klientów Lync i wdzwaniania się na pilota w celu odsłuchania poczty (z zewnątrz również). Nie będę opisywał procedury instalacji roli Unified Messaging – jest to opisane pod tym adresem: http://technet.microsoft.com/en-us/library/aa998002. Postaram się zaprezentować najważniejsze parametry, które muszą być skonfigurowane, żeby zadziałał podstawowy scenariusz użycia Unified Messaging dla Lynca.
Środowisko – jakie zainstalowane role posiada mój Exchange?
  • Mailbox,
  • Client Access,
  • Hub Transport,
  • i Unified Messaging.
Co musimy zrobić, żeby taki scenariusz osiągnąć?
– utworzyć i skonfigurować UM Dial Plan (http://technet.microsoft.com/en-us/library/bb123819)
– utworzyć i skonfigurować UM IP Gateways (http://technet.microsoft.com/en-us/library/aa998045)
– utworzyć i skonfigurować UM Hunt Groups (http://technet.microsoft.com/en-us/library/aa997679)
– skonfigurować Subscriber Access number
– skonfigurować Mailbox (Unified Messaging enabled)
Konfiguracja UM Dial Plan

Z poziomu Exchange Management Console (Start > All Programs > Microsoft Exchange Server 2010 > Exchange Management Console):

  • Przechodzimy do Organization ConfigurationUnified Messaging
  • Klikamy New UM Dial Plan (lub prawym myszki wybieramy istniejący już UM DialPlan i wybieramy Properties)
Jak widać na powyższym obrazku nowy UM Dial Plan posiada nazwę „HQ123_UMDialPlan”, która musi nam identyfikować sajt dla którego to konfigurujemy. Następnie należy zdefiniować długość extension, które będzie wykorzystane – w moim przypadku skorzystam z numerów 11 cyfrowych (+33XXZZZWWWW), w późniejszym procesie włącznia Unified Messaging dla konkretnej skrzynki numer będzie musiał być zgodny ze zdefiniowaną tutaj długością extension.
Kolejne pole URI Type – do wyboru mamy:
  • Telephone extension  – to jest defaultowa wartość dla UM Dial Plan. Format jest nastepujący: Tel:512345 lub 512345@<IP address>.
  • SIP URI – ten typ URI wykorzystywany jest, jeśli będzie mowa o trasowaniu SIP, czyli przy integracjach z IPPBX, na przykład Microsoft Office Communications Server 2007, czy też Lync Server 2010. Format jest następujący: sip:<username>@<domain or IP address>:Port. Jak widać na powyższym obrazku do integracji z Lync Server 2010 rekomendowany jest format SIP URI.
  • E.164 – Po prostu format E.164 : Tel:+48221112233.

Wartość VoIP Security  definuje sposób komunikacji „bezpieczeństwo komunikacji”. Standardowo serwer Exchange z rolą Unified Messaging nasłuchuje na porcie TCP 5060 dla nieszyfrowanych zapytań, w przypadku połączeń szyfrowanych jest to port TCP 5061. Do wyboru mamy:

  • Unsecured – Włączony by default, komunikacja pomiędzy IP gateway, IP PBX, a serwerem Exchange 2010 odbywa się bez szyfrowania (RTP i sygnalizacja SIP’owa).
  • SIP secured   – w tym trybie tylko sygnalizacja SIP jest szyfrowana, zaś strumień RTP w dalszym ciągu korzysta z TCP bez szyfrowania. Mutual Transport Layer Security (TLS) jest wykorzystywany do szyfrowania  sygnalizacji SIP.
  • Secured  – tutaj mamy do czynienia z szyfrowaniem sygnalizacji i strumienia RTP, czyli podsumowując mamy Secure Realtime Transport Protocol (SRTP) dla mediów i mutual TLS dla sygnalizacji. Takie ustawienie zostało wykorzystane w mojej konfiguracji.

Ostatnia kwestia to Contry/Region code – ja skorzystałem z regionu Francja :).

W rezultacie dostaniemy UM Dial Plan, który nie jest przypisany do żadnego serwera UM i nie posiada skonfigurowanego UM IP Gatewaya.

Teraz możemy zweryfikować ustawienia – prawym myszki wybieramy istniejący już UM DialPlan i wybieramy Properties.

W zakładce Subscriber Access skonfigurujemy numer dostępowy do wdzwaniania się na Outlook Voice Access, czyli użytkownicy UM-enabled mogą zadzwonić na numer „Subscriber Access Number” i zalogować się do swojej skrzynki głosowej w celu odsłuchania wiadomości głosowych, emaili oraz dostępu do kalendarza.

W moim przypadku „wymyślony” numer to +33296080001.

Powyższe elementy na zakładce Subscriber Access pozwalają zmienić standardową zapowiedź, więcej o modyfikacji tych parametrów pod tym adresem: http://technet.microsoft.com/en-us/library/bb124125.

W kolejnym kroku przeskoczymy do zakładki Setting, gdzie zajmiemy się ustawieniem kodeka głosowego. W moim przypadku będzie to kodek GSM (ps. odnotowałem kilka problemów z transkodowaniem G.711, więc został wybrany GSM) . Możliwe do skonfigurowania są kodeki: MP3, Windows Media Audio (WMA), Group System Mobile (GSM) 06.10, i G.711 Pulse Code Modulation Linear.

Następnie w sekcji Server Configuration –> Unified Messaging –> przechodzimy do właściwości serwera Exchange (Properties), a następnie w zakładce UM Settings ustawiamy wartość Startup Mode na TLS. 

Standardowo UM serwer startuje w trybie TCP, więc jeśli chcemy używać Transport Layer Security (TLS) do szyfrowania ruchu Voice over IP (VoIP) musimy skonfigurować tryb TLS lub Dual mode (w przypadku kiedy są różne ustawiania bezpieczeństwa na dialplanach). Po zmianie trybu należy zrestartować usługę Microsoft Exchange Unified Messaging.

Należy również przypisać wcześniej utworzony DialPlan do serwera (Associated DIal Plans –> ADD).

Konfiguracja UM IP Gateway

Teraz dodamy IP Gateway, czyli naszego Lynca, który będzie komunikował się z Exchange UM. Przechodzimy do Organization Configuration > Unified Messaging > zakładka UM IP Gateways i dodajemy gateway.

Następnie dodamy Hunt Groupę. Co to jest? UM hunt group jest pewnego rodzaju linkiem, czy też połączeniem pomiędzy UM IP Gateway i Dial Planem. Kiedy tworzy się Unified Messaging (UM) hunt group, obiekt UM Hunt Group jest tworzony w usłudze Active Directory i jest logiczną reprezentacją IP PBX hunt group. W przypadku naszego scenariusza integracji z Lync nie będzie nam potrzebny numer pilota (ps. w przypadku integracji z Cisco IP PBX jest wymagany).

Hunt Groupę dodajemy z poziomu zakładki UM IP Gateways, klikając prawym myszki na IP Gateway’u. Associated UM IP gateway: HQ123 UM IP Gateway; Name: dowolna, np. HQ123 Hunt Group; Dial plan: wybieramy poprzednio utworzony; Pilot identifier: zostawiamy pusty.

Jak zapewne zauważyliście została jeszcze jedna magiczna zakładka UM Mailbox Policies, która pozwala zdefiniować polityki bezpieczeństwa, takie jak PIN, restrykcje wybierania, itd. Więcej o tym pod adresem: http://technet.microsoft.com/en-us/library/bb123510 – na obecnym etapie nie ma to dla nas większego znaczenia, opórcz ustawień długości PIN-u (zakładka PIN Policies).

PoweShell wygląda tak:

New-UMMailboxPolicy -Name MyUMMailboxPolicy -UMDialPlan MyUMDialPlan

Przykładowa polityka (by default):

To byłoby na tyle od strony serwera Exchange (została jeszcze konfiguracja użytkowników UM enabled).

Konfiguracja Exchange Server – ExchUCutil.ps1

Kolejny krok to uruchomienie cmdletu ExchUCUtil tool (ExchUCUtil.ps1), który realizuje natępujące zadania:

  • Grants Office Communications Server permission to read Exchange Unified Messaging Active Directory objects, specifically Exchange Unified Messaging attributes, so that it can create contact objects for each auto-attendant and subscriber access.
  • Creates a Unified Messaging IP gateway object for each Office Communications Server pool and associates the gateways to the Unified Messaging SIP dial plans that are defined for Office Communications Server.

Skrypt uruchamiamy z poziomu Exchange Management Shell!!! komendą:

[PS] C:Program FilesMicrosoftExchange ServerV14Scripts>ExchUCutil.ps1

 

Konfiguracja serwera Lync Server 2010 Front End

Uruchamiamy narzędzie OcsUmUtil z lokalizacji C:Program FilesCommon FilesMicroosft Lync Server 2010SupportOcsUmUtil.exe na serwerze Front End.

  • Klikamy Load Data
  • Dwa razy klikamy na SIP Dial Plan i klikamy Edit
  • (sekcja Phone Number) Wybieramy Use this pilot number from Exchange UM i wpisujemy numer w formacie E164 z którego będziemy osiągali skrzynkę głosową z PSTN (z zewnątrz lub z Lync 2010, telefonów Lync Phone Edition).
  • Wybieramy Subscriber Access 
Tworzymy skrzynkę UM-enabled
Klikamy prawym na skrzynce użytkownika i wybieramy z menu kontekstowego Enabled Unified Messaging.
W pierwszym kroku kreatora wskazujemy wcześniej skonfigurowaną UM Mailbox Policy.
Definiujemy PIN – automatycznie lub manualnie.
Na drugiej stronie kreatora musimy zdefiniować mailbox extension danego użytkownika – ten numer musi być zgodny z dial planem (11 cyfr). SIP Resource Identifier możemy wygenerować automatycznie.
Lync Dial Plan – drobna wskazówka
Oczywiście na serwerze Lync musimy posiadać odpowiednią regułę normalizacyjną (Voice Routing –> Dial Plan –> Edit Normalization Rule), która umożliwi wydzwanianie na Unified Messaging. Tutaj oczywiście dowolność i fantazja, wszystko zależy od wymagań i założeń projektowych. Przykładowo:
Starting digits: 296080001
Length: Exactly 10
Digits to remove: 1
Digits to add: +33
Patter to match: ^0(296080001)$
Translation rule: +33$1
Wykonać test ;):
– Można wykonać połączenie testowe z klienta Lync 2010 na numer Subscriber Access Number +33296080001.
– Lync Phone Edition –> Call Voice Mail feature
– Test z zewnątrz na numer Subscriber Access Number +33296080001.

Ku pamięci: OCS 2007 R2 i usuwanie plusa przy wychodzeniu (non-RFC 3966)

Standardowo OCS 2007 R2, jak i jego poprzednik OCS 2007 RTM korzystają z RFC 3966 (http://www.ietf.org/rfc/rfc3966.txt), czyli Mediation Server przy wychodzących połączeniach dokleja do numeru E.164 w Request Uniform Resource Identifier (URI) znak plusa z przodu. Oczywiście, jeśli druga strona to wspiera to jest super, ale wielu producentów nie wspiera takiego formatu i oczekuje numeru bez plusa, w innym przypadku dostaniemy zrzutkę w stylu „not acceptable here”, czy coś podobnego.

W OCS 2007 RTM, którego daaawwnnno nie ruszałem usunięcie plusa było możliwe przy wychodzeniu na zewnątrz (przez Mediation) dopiero od KB 952780 i KB 952785 (to był jakiś CU, chyba CU5). Po aktualizacji dostępny był plik konfiguracyjny MediationServerSvc.exe.config (w głównym katalogu z dll’kami do OCS’a). Należało wyedytować plik konfiguracyjny i zrobić restart serwera Mediation:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
                 <appSettings>
                                <add key="RemovePlusFromRequestURI" value="Yes" />
                 </appSettings>
</configuration>

W ostatnim tygodniu musiałem skonfigurować trunk z OCS 2007 R2 do Session Border Controlera (SBC) u providera Orange, żeby zrobić kilka testów. SIP trunk realizowany jest z Mediation (TCP, 5060) do SBC (TCP,5060). Oczywiście pierwszy call i buuuuuu… Okazało się, że jest dokładany plus, którego SBC nie akceptuje – z związku z czym poszukałem w sieci i usuwanie plusa się delikatnie zmieniło w tej wersji.

W R2 robi się to przez ustawienia WMI – RemovePlusFromRequestURI , więcj tutaj: Enterprise Voice Server-Side Components.

Wartość RemovePlusFromRequestURI można zmienić za pomocą skryptu – wywołujemy go na Mediation serwerze:

' RemovePlusFromRequestURI
'

  Dim objLocator
  Dim objService
  Dim objInstances
  Dim objInstance

  Wscript.Echo "Connecting to local WMI store..."

  Set objLocator = CreateObject("WbemScripting.SWbemLocator")
  Set objService = objLocator.ConnectServer(".", "rootcimv2")

  Wscript.Echo "select * from MSFT_SIPMediationServerConfigSetting"
  Set objInstances = _
    objService.ExecQuery("select * from MSFT_SIPMediationServerConfigSetting")

  If IsNull(objInstances) Or (objInstances.Count = 0) Then
    Wscript.Echo "Error: No instance"

  Else

    For Each objInstance in objInstances

      objInstance.Properties_.Item("RemovePlusFromRequestURI").Value = "TRUE"
      objInstance.Put_
      wscript.Echo "Done"
    Exit For
    Next

  End If

  Wscript.Echo ""

I wystarczy restart…

Możemy też wykorzystać inną metodę – narzędzie WBEMTest (http://technet.microsoft.com/en-us/library/cc785775.aspx). Musimy być członkiem grupy RTCUniversalServerAdmins i uruchomić narzędzie na Mediation serwerze.

>Start > Run > wbemtest.

W oknie Windows Management Instrumentation Tester klikamy Connect.

W oknie Connect > Namespace wpisujemy rootcimv2 i klikamy Connect.

Następnie otwieramy Open Class. W boksieGet Object Path, wpisujemy MSFT_SIPMediationServerConfigSetting, i klikamy OK.

W oknie Object Editor dla MSFT_SIPMediationServerConfigSetting  klikamy Instances.

Podwójny klik na MSFT_SIPMediationServerConfigSetting=”{…}”.

Przewijamy w dół okna i zmieniamy wartość RemovePlusFromRequestURI na TRUE (standardowo jest FALSE).

Restartujemy serwer Mediation – włala 🙂

http://technet.microsoft.com/en-us/library/dd441273(office.13).aspx

Lipcowe nominacje MVP (lipiec 2012) – drugi raz zostałem MVP…

Rok temu 1 lipca zostałem nominowany do tytułu Microsoft Most Valuable Professional (MVP) w kategorii Exchange Server {to międzynarodowy program Microsoft dla programistów i specjalistów IT. Tytuł przyznawany jest tym, którzy swoją działalnością wywarli istotny wpływ na techniczną społeczność i są jej głównym trzonem. MVP to forma podziękowania za dotychczasowe osiągnięcia oraz motywacja i wsparcie do dalszej aktywności…}.

Wczoraj po godzinie 17:00 otrzymałem email z informacją o renominacji na kolejny rok 2012 w kategorii Exchange Server! Była to dla mnie zupełna niespodzianka, ponieważ wypadło mi z głowy, że to dzień nominacji MVP. Ten tytuł to  dodatkowa dawka pozytywnej energii do dzielenia się swoją widzą (nie mogę się doczekać, żeby porozmawiać z Wami o Exchange 15 i sporych zmianach w tym produkcie).

Dla mnie był to rok MVP pełen wyzwań i doświadczeń:

Do grona MVP dołączyły dwie osoby:

  • Kamil Skalski (System Center Cloud and Datacenter Management)
  • Łukasz Kałużny (Virtual Machine)

Renominację na kolejny rok otrzymali:

  • Grzegorz Rycaj (Visual Studio ALM)
  • Grzegorz Tworek (Enterprise Security)
  • Jacek Doktór (System Center Configuration Manager)
  • Jakub Skałbania (Dynamics CRM)
  • Joanna Subik (System Center Cloud and Datacenter Management)
  • Karol Stilger (Setup and Deployment)
  • Marcin Szeliga (SQL Server)
  • Paweł Pławiak (Directory Services)
  • Piotr Pawlik (Exchange Server)
  • Tobiasz Janusz Koprowski (SQL Server)

Gratuluję wszystkim i mam nadzieję, że spotkamy się w lutym w Redmond (w pełnym składzie).

Więcej informacji:

http://belead.me/2012/07/01/mvp-award-program-july-2012/

http://www.wss.pl/aktualnosci/lipcowe-nominacje-mvp-lipiec-2012,10894

http://blog.kaluzny.pro/microsoft-most-valuable-professional-virtual-machine/

http://skalski.info/