Contact Center przy wykorzystaniu Lync Server 2013?

W tym poście chciałbym poruszyć kwestię Contact Center (CC) w rozwiązaniu Lync Server 2013. Można zadać sobie wiele pytań związanych z uruchomieniem telefonii na Lync, między innymi:

  • co będzie agentem CC?
  • kolejki i algorytmy przełączania?
  • nagrywanie rozmów?
  • supervisor CC (coaching, monitorowanie kolejek, nadzorowanie)?
  • delegowanie uprawnień do zarządzania CC?
  • monitorowanie CC (od strony serwerów, web services)?
  • busy hours i holidays – jak zachowa się Lync?
  •  inne mechanizmy znane z dedykowanych rozwiązań Contact Center?

Patrząc na funkcje natywne Lync Server 2010/2013 mamy do dyspozycji mechanizm Lync Response Group Services (RGS), który:

  • jest dedykownay dla małych lub średnich prostych rozwiązań Contact Center, raczej w kontekście kolejk głosowych dla departamentów.
  • daje nam funkcje Hunt Group i interaktywnych IVR, przykładowo: wciśnij 1 dla działu Sprzedaży, 2 dla działu Wspracia Technicznego.
  • definiowania interaktywnego drzewa IVR, gdzie można wykorzystać mechanizm TTS lub przygotowane wcześniej pliki zapowiedzi.
  • anonimowość agenta, dzięki czemu prezentujemy się jako „help desk”, a nie przykładowy Jan Kowalski.
  • mechanizmy rozpoznawania mowy (głosowa obsługa IVR)
  • muzyka na czekanie (Music on Hold)
  • podstawowe CDR.
  • przelewy pomiędzy kolejkami (nie nadzorowane przez Supervisora).

Patrząc na Lynca jego mechanizmy wbudowane do obsługi CC planują go, jako rozwiązanie „basic PBX feature”. Jeśli będziemy chcieli wykorzystać mechanizmy Supervisora, kampanie outbandowe (wydzwaniane), zaawansowane CDR, czy podgląd kolejki oraz obsługę innych kanałów (czat, integracja z Social Media, fax) to potrzebujemy rozwiązań, które Lynca rozbudowują. Za pomocą narzędzi firm trzecich mamy możliwość zbudowania bardzo zaawansowanego Contact Center i przejścia do modelu „dedicated ACD”, gdzie integrujemy się z aplikacjami LOB, mamy kampanie wychodzące, rozpoznawanie „emocji”, czy obsługę wszystkich dostępnych kanałów zgłoszenia. Lync posiada własne API, więc możliwe jest obudowanie samego klienta, czy dopisanie dowolnych rozszerzeń dla Lync Server 2013.

cc-solutions

Jeśli chcemy rozbudować Lync o rozwiązania klasy średniej (Add-on ACD Solutions) to mamy przykładowo:

1. Rozwiązanie firmy Arcus (Polska) – Arcus Contact Center

  • rozbudowany i interaktywny IVR
  • nagrywanie rozmów
  • ACD – kierowanie rozmów wg umiejętności
  • CTI – integracja z aplikacjami typu CRM
  • interfejsy agentów i supervisor’ów
  • czat wprost ze strony www
  • raporty

Untitled picture2

 

Jeśli myślimy o bardzo zaawansowanej rozbudowie Lync w celu budowy dużego rozwiązania Contact Center ze wszystkimi możliwościami to możemy skorzystać z produktów:

2. Geomant Contact Expert od międzynarodowej firmy Geomant.

Możliwości tego rozwiązania można zobaczyć na stronie producenta, są to między innymi:

  • Multiple ACD strategies including, skills, time and event based routing.
  • Interactive voice response (IVR) for fronting calls or deploying full self-service applications.
  • Unified Agent desktop with embedded web browser, softphone and contact history ‘screen pop’.
  • Integration with business applications and CRMs.
  • Call recording for compliance and quality.
  • Intuitive Administrator role for defining, implementing, and tuning multiple inbound queues and outbound campaigns.
  • Supervisor call observing and agent messaging.
  • Distributed architecture for scalability and resilience.
  • Comprehensive reporting, both real-time and historic using SQL Database.
  • Software-based wallboard for agents and supervisors.
  • Built-in softphone that manages Lync telephony functions.
  • Dedicated Hold, Consult, Transfer and Conference functions.
  • User definable call closure (wrap-up) codes.
  • Single agent sign-on (Contact Expert and LYNC).
  • Simple creation of agent scripts and IVR scripts through graphical editor tools.
  • Automated contact list import and export.
  • Preview and Progressive dialing strategies for outbound proactive contact.
  • Simple web based Administration and Supervisor interfaces.

Więcej informacji na temat rozwiązania Geomant:

http://www.geomant.com/videos/contact-expert/

http://www.geomant.com/microsoft-solutions/contact-expert/

3. Customer Interaction Center od Interactive Intelligence

Na temat Interactive Intelligence nie trzeba mówić wiele, bo jest to dedykowane rozwiązanie dla dużych Contact Center, które jest raczej konkurencją dla Lync. Jednak wykorzystując Lync Server 2013 do obsługi komunikacji i telefonii wewnątrz sieci, jeśli zaistnieje potrzeba zbudowania bardzo zaawansowanego Contact Center to jest możliwość integracji tych dwóch produktów.

4. Inne rozwiązania rozbudowujące możliwości Lync Server 2013 pod kątem Contact Center (zakładka Contact Center): http://technet.microsoft.com/en-us/lync/hh972602.aspx

Wszystkie osoby zainteresowane materiałami na temat Contact Center pod Lync zapraszam do kontaktu lub pobrania materiałów z mojej prezentacji z grupy PEPUG: https://onedrive.live.com/?gologin=1&mkt=en-US#cid=00BC8C403550AE0A&id=BC8C403550AE0A!21320

Lync for developers – trochę na temat API:

http://msdn.microsoft.com/en-us/office/dn448485.aspx

http://msdn.microsoft.com/en-us/library/office/dn454963%28v=office.15%29.aspx

Reklamy

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.