Microsoft Lync část 5 – Integrace s Cisco IPT a Dial-in Conference

Pokud již máme nasazenu nějakou IP telefonii (IPT) a k tomu zprovozníme Lync, tak by se nám asi líbilo propojit tyto dva systémy dohromady.

Pokud již máme nasazenu nějakou IP telefonii (IPT) a k tomu zprovozníme Lync, tak by se nám asi líbilo propojit tyto dva systémy dohromady. Nebo alespoň napojit Lync na Voice Gateway (či IP PBX), abychom mohli využít funkcí Enterprise Voice a Dial-in Conference. Mě by přišla jako optimální možnost z Lyncu ovládat HW telefon a z telefonu přenášet stav do Lyncu. To sice možné je, ale není to jednoduché (či spíše levné) řešení.

Zde budeme mluvit přímo o Unified communications (UC) řešení firmy Cisco, Cisco Unified Communications Manager (CUCM), Cisco Unified Presence (CUP) a případně dalších komponentách. Ale v teoretické rovině jsou stejné metody možné i s jinými výrobci. Co a jak je podporováno nalezneme v tabulce Unified Communications Open Interoperability Program – Lync Server. Tam je uveden, Microsoftem otestovaný a oficiálně kompatibilní, seznam služeb a infrastruktury pro integraci s Lyncem. To ale neznamená, že s jinými systémy nebude integrace možná.

Za chvíli si stručně popíšeme jednotlivé možnosti, jak integraci provést. Ale hned na začátek poznamenám, že nejjednodušší a nejvíce funkční, dle mého názoru, je použít celé řešení od jednoho výrobce. Tedy pokud máme nasazený Lync, tak doplnit Voice Gateway do PSTN sítě a HW telefony pro Lync (nebo můžeme využít jen náhlavní soupravy a SW klienty). Pokud máme telefonii od Cisco, tak doplnit CUP server a SW klienty Cisco Unified Personal Communicator (CUPC) (v další verzi se budou jmenovat Cisco Jabber for Windows).

Samozřejmě pokud již máme nasazenu IPT Cisco, tak asi nechceme zahodit investice a přejít na Lync. Ale pokud bychom chtěli dosáhnout plné integrace, tak stejně potřebujeme na Cisco straně Presence server a uživatelské licence. A v případě takové implementace bych příliš nechápal nasazování Lyncu (snad jen kvůli některým speciálním vlastnostem). I když si osobně myslím, že Lync nabízí více možností než CUP server. Pořád se nám ale může vyplatit, k existujícímu CUCM, implementovat Lync a tyto dva nezávislé světy propojit přes SIP Trunk.

Možnosti integrace MS Lync a Cisco UC

Podle informací, které jsem dal dohromady, jsou možné tři hlavní způsoby, jak integrovat Microsoft Lync a Cisco Unified Communications systémy. Stručně se podíváme na tyto možnosti.

Remote Call Control (RCC)

Uživatel Lyncu může ovládat Cisco stolní telefon a mezi telefonem a Lyncem se přenáší presence (takže při zvednutí sluchátka se v Lyncu zobrazí, že uživatel volá). Pro zprovoznění je potřeba SIP/CSTA GW přes kterou se provede napojení. Tato GW je součástí CUP serveru nebo CUCM Express, ale ne plnohodnotného CUCM.

Pozn.: Pravděpodobně jsou pro tuto metodu potřeba i uživatelské licence na CUP.

Návody a dokumentace

Cisco UC Integration for Microsoft Lync 8.5 (CUCI-LYNC)

Jde o Cisco aplikaci, která se integruje do Lync klienta a rozšíří jeho funkce. Přenáší presence a můžeme ovládat stolní telefon, podporuje i přenos videa. Lync klient získá v dolní části novou lištu. Samo Cisco toto řešení příliš nedoporučuje.

Pozn.: Licenčně je to skoro to samé jako použití CUP serveru a Cisco klientů, takže nemá příliš význam.

Návody a dokumentace

Direct SIP – SIP Trunk

Jde o spojení Microsoft a Cisco UC světa standardním způsobem pomocí SIP protokolu. Microsoft to označuje jako Direct SIP a Cisco jako SIP Trunk. Je to stejné, jako v případě, kdy bychom neměli Cisco UC, ale chtěli v Lyncu provozovat Enterprise Voice. Pak potřebujeme nějakou hlasovou bránu (voice gateway) připojenou do PSTN a na ni se připojíme pomocí Direct SIP.

Lync se může napojit na telefonní GW i na CUCM a volají mezi sebou, každý má svou sadu čísel a je nastaveno směrování mezi nimi a směrování do PSTN.

Pozn.: Je třeba zdůraznit, že pokud má jeden uživatel stolní telefon i Lync klienta, tak na každém zařízení bude mít jiné telefonní číslo.

Návody a dokumentace

Direct SIP se současným vyzváněním (mobility)

Toto řešení je hodně podobné tomu předchozímu, ale získáme jednu výhodu. U příchozích hovorů zvoní najednou Lync klient i stolní telefon a zvednutím přijmu hovor na libovolném zařízení. Důležité ovšem je, jestli musí mít uživatel dvě různé linky, nebo má na MS i Cisco stejnou linku (což u Lyncu není oficiálně podporováno). Obecně se používá termín Dual Forking (stejné číslo) nebo Simultaneous Ring (dvě různá čísla). Cisco má termín Single Number Reach (SNR), což je součást Unified Mobility.

Pozn.: Přidání druhého zařízení pro SNR na CUCM spotřebovává licence. Při zapnutí Enable Mobility na End User se spotřebují 4 DLU, pokud se přiřadí telefon Primary User Device, tak se spotřebují pouze 2 DLU (bere se to jako druhý telefon - Adjunt). Když odškrtnu Enable Mobility, tak se licence opět vrátí.

Návody a dokumentace

Integrace pomocí Direct SIP (SIP trunk)

Trochu více se zde podíváme na integraci pomocí propojení na úrovni SIP bran. To mi připadá jako optimální řešení, pokud máme CUCM a Lync, i když neposkytne všechny funkce, které bych chtěl. Navíc je to podobné, když chceme připojit libovolnou hlasovou bránu a propojit Lync do PSTN.

Microsoft zveřejnil podrobný a funkční návod v dokumentu Integrating Microsoft Lync Server 2010 and Cisco Unified Communications Manager. Který doporučuji využít a nebudu zde opisovat jeho postup. Pouze stručně zmíním jednotlivé kroky a případné poznámky k nim.

Pozn.: Pokud se využije Media Bypass, tak se Lync může přímo spojit s Cisco Gateway, která je nastavena jako Media Termination Point (MTP), pomocí G.711.

Jednoduchou topologii zapojení ukazuje následující obrázek.

lync01.gif

Než začneme celé propojení nastavovat, tak si musíme rozmyslet, jak budeme chtít telefonii využívat. Důležité je upravit si stávající číslovací plán. To znamená z veřejného telefonního rozsahu čísel vybrat určitou skupinu, kterou přiřadíme k Lyncu, a na CUCM nastavíme předávání těchto hovorů na Lync.

V příkladu, který zde popisuji, máme tisíc telefonních čísel s předvolbou +420123456. Pro interní volání (na CUCM) využíváme pouze linku, kterou tvoří tři čísla. Pro Lync vyhradíme rozsah linek 600 až 699.

Konfigurace na CUCM

SIP Trunk Security Profile

Nejprve musíme vytvořit bezpečnostní profil pro SIP Trunk. Nemůžeme použít SRTP a nastavujeme komunikační port, zde standardní 5060 (můžeme volit jiný, na Lyncu je výchozí 5066).

  • System -> Security -> SIP Trunk Security Profile – Add New - Lync Non Secure SIP Trunk Profile

SIP Profile

Potom vytvoříme profil pro SIP.

  • Device -> Device Settings -> SIP Profile – Add New - Lync SIP Profile

Partition

Pokud chceme oddělit linky pro Lync do samostatné partition, tak ji vytvoříme (jinak můžeme použít naši interní).

  • Call Routing – Class Of Control – Partition – Add new – lync

Calling Search Space (CSS)

Můžeme vytvořit speciální CSS pro SIP Trunk, kam zařídíme Lync partition. Potom také musíme Lync partition přidat do všech CSS, kde chceme povolit volání na Lync.

  • Call Routing – Class Of Control – Calling Search Space – Add new – lync_css
  • Call Routing – Class Of Control – Calling Search Space – Edit standard

SIP Trunk

Nyní vytvoříme vlastní SIP Trunk. Mimo jiné zde určujeme adresu Lync serveru a komunikační port (zde také 5060).

  • Device -> Trunk – Add new – Trunk-Lync

Translation Pattern

Lync používá plná E.164 čísla, na CUCM používáme pro interní volání pouze tříčíselnou linku. Takže vytvoříme převod pro příchozí volání z Lyncu na interní uživatele.

  • Call Routing – Translation Pattern – Add New - \+420123456XXX

Potom potřebujeme druhý převod, který upraví číslo při volání z Lyncu na veřejná čísla.

  • Call Routing – Translation Pattern – Add New - \+.!

Route Pattern

Dále potřebujeme směrovat určitá volání na Lync. Převedeme je do E.164 formátu a pošleme na SIP Trunc.

  • Call Routing- Rount/Hunt - Route Pattern – Add New – 6XX

Konfigurace routeru (Voice GW)

Díky Media Bypass může GW komunikovat přímo s Lync Mediation Server. Takže přidáme konfiguraci na Cisco ISR.

dial-peer voice 50 voip
description >>Directly to Lync<<
destination-pattern 123456..
rtp payload-type comfort-noise 13
session protocol sipv2
session target ipv4:10.0.0.90
session transport tcp
dtmf-relay sip-notify rtp-nte
codec g711ulaw

Konfigurace na Lyncu

Lync Server Topology Builder

Rozšíříme topologii o hlasovou bránu, což je v našem případě CUCM.

  • PSTN Gateway – IP 10.1.0.2, TCP port 5060
  • Mediation Pools – TCP port 5060, Add
  • Publish
  • Deployment Wizard - Install or Update Lync Server System - Step 2 - Setup or Remove Lync server Components

Lync Server Control Panel

Další konfigurace probíhá pomocí Control Panelu.

Dial Plan

Vytvoříme normalizační pravidlo pro Enterprise Voice, které převede vytočenou linku XXX na odpovídající E.164 číslo a stejně tak vytočené veřejné číslo XXXXXXXXX.

  • Voice Routing - Dial Plan - edit Global – New Normalization Rule
  • Commit

Route

Vytvoříme směrovací pravidlo, které zařídí, že všechny hovory, které nejsou lokální, budou směrovány na CUCM (což je naše gateway).

  • Voice Routing – Route – New CUCMRoute
  • Commit

Voice Policy

Do Globální Voice Policy přiřadíme PSTN Usage Internal.

  • Voice Routing - Voice Policy – edit Global
  • Commit

Povolení Media Bypass

Pokud chceme využívat Media Bypass, tak jej musíme povolit na několika místech.

  • Network Configuration – Global – edit Global
  • Commit

Potom musíme nastavit tři hodnoty pomocí Lync Server Management Shell, vypnutí RTCP, místo něj zapnutí SessionTimer, nastavení EncryptionLevel na SupportEncryption.

Set-CsTrunkConfiguration –identity PstnGateway:10.1.0.2 –RTCPActiveCalls 
$false –RTCPCallsonHold $false
Set-CsTrunkConfiguration –identity PstnGateway:10.1.0.2–EnableSessionTimer $true
Set-CsMediaConfiguration –identity Global -EncryptionLevel SupportEncryption

Trunk Configuration

Vytvoříme Pool Trunk pro naši gateway (CUCM) a nastavíme parametry pro tento Direct SIP.

  • Voice Routing - Trunk Configuration – New – Pool Trunk

User – Enterprise Voice

Předchozími kroky jsme zprovoznili Enterprise Voice a můžeme uživatelům nastavovat telefonní čísla. Najdeme požadovaného uživatele, zapneme Enterprise Voice a nastavíme číslo.

  • Users – User Search

Pozn.: Číslo je dobré zadávat ve formátu tel:+420123456;ext=601, pak je možné využívat pouze linku (například pro přihlášení v Dial-in konferenci) a ne celé číslo.

Řešení problémů

Nyní můžeme zkusit uskutečnit hovor z pevného telefonu na uživatele Lyncu a naopak. Vše by se mělo povést. Stejně tak, jako volání na veřejná telefonní čísla a naopak.

Já jsem narazil na problém, kdy se nedařilo navázat spojení mezi Lync a CUCM, do logu Lyncu se psalo mnoho chyb jako:

An attempt to route to a gateway failed.
Could not route to Gateway 10.1.0.2, the attempt failed with response code: 503 Service 
Unavailable (CallID: 2f2d3f99acd345258e9be730d2f647ed).
Failure occurrences: 4, since 5.1.2012 14:53:07.
Cause: A gateway failed to respond to a request within allotted time or was unable 
to route the request due to some error.

Resolution:
Check whether the specified gateway is up and is properly configured.
A call to a PSTN number failed due to non availability of gateways.
Called Number: +420123456111
Phone Usage: Internal
Route: CUCMRoute
CallId: 2f2d3f99acd345258e9be730d2f647ed

Cause: All gateways available for this call are marked as down.
Resolution:
Verify that these gateways are up and can respond to calls.

Řešení bylo nakonec velice jednoduché. Stačilo restartovat Lync server.

Dial-in Conference

Když máme zprovozněný Enterprise Voice, tak můžeme začít používat i Dial-in Conference. Tedy možnost připojit se do konference z veřejné telefonní sítě zavoláním na určité číslo. To se hodí, když jsme na cestách a nemáme žádného Lync klienta, pokud nám stačí z konference hlas. Nebo také v situaci, kdy využijeme webového klienta pro připojení ke konferenci (ten neumí přenášet hlas).

Celé nastavení může být jednoduché (jde pouze o nastavení čísla pro dial-in konferenci), když nám budou vyhovovat defaultní parametry. Pokud toho chceme nastavit více, tak můžeme řadu hodnot upravit, více informací nalezneme v oficiální dokumentaci Configuring Dial-in Conferencing.

Nastavení Dial-in Conference Number

Jinak řečeno, jde o nastavení čísla pro Conferencing Attendant, který řídí připojení uživatelů z PSTN.

Dial Plan

Do našeho Dial Plan nastavíme region pro konference (jde jenom o textové jméno, nemá nic společného s Region v Network Configuration).

  • Voice Routing - Dial Plan - edit Global - Dial-In Conferencing Region - Czech
  • Commit

Dial-in Access Number

Vytvoříme číslo pro přístup do konference. Nastavujeme region, pool, jazyk (jak je zvykem, tak čeština schází), telefonní číslo a SIP URI, které musí být unikátní pro dial-in conferencing.

  • Conferencing - Dial-in Access Number – New
  • Commit

lync02.gif

Po vytvoření přístupového čísla, a potom co proběhne aktualizace adresáře, což znamená počkat do dalšího dne nebo vyvolat ručně příkazem v Lync Server Management Shell Update-CsAddressBook, se nám v adresáři zobrazí objekt Conference Bridge (který je stále offline).

Přístup uživatelů pomocí volání

Klasickým zavoláním na vytvořené telefonní číslo se pak mohou připojovat uživatelé z PSTN (a samozřejmě i Lyncu, GSM, apod.). Následně je třeba zadat na klávesnici číslo konference (Conference ID) a potvrdit klávesou # (ta slouží jako standardní potvrzování). Takovéto zadávání příkazů během hovoru se označuje jako DTMF (Dual Tone Multi Frequency) volby/kódy. Když jsme připojeni do konference z telefonu, tak máme k dispozici i několik dalších DTMF voleb. Například seznam příkazů dostaneme standardně pomocí *1. Tyto přednastavené hodnoty můžeme změnit. Více informací nalezneme v uživatelské dokumentaci Join a meeting or conference call by phone.

Uživatelé mohou být připojeni do konference jako anonymní, ale můžeme vyžadovat i jejich autentizaci a omezit konferenci na firemní zaměstnance nebo pouze vyjmenované osoby. Autentizace pak probíhá zadáním uživatelovi telefonní linky a PINu. Všichni uživatelé Lyncu si mohou otevřít stránku (podle nastavení) https://lync.firma.cz/dialin a zde se přihlásit. Na této stránce vidíme údaje o Dial-in Conference a také DTMF příkazy. Pokud má uživatel povolen Enterprise Voice, tak si může nastavit PIN (ve výchozím stavu žádný nemá). Také zde vidí svoje napevno přidělené číslo konference a Meeting URL, které může kdykoliv použít. Přihlašování PINem je důležité i pro vedoucího konference (leader), pokud se chce připojit pomocí PSTN. Pak získává možnosti ovládat konferenci.

Požadavky na PIN můžeme ovlivňovat pomocí politiky, kterou můžeme nastavit pomocí Lync Server Management Shell nebo v Control Panel – Conferencing – PIN Policy. Můžeme také využít Lync Server Management Shell cmdlet Set-CsPinSendCAWelcomeMail, kterým nastavíme uživatelům výchozí PIN a zašleme jim informační email.

Pokud máme nastavenu autentizaci, tak jsou nepřihlášení/nepovolení uživatelé umístění do Lobby a vedoucí může rozhodnout, zda jim povolí přístup. Můžeme také zapnout hlasové oznamování při přihlášení nebo odhlášení nějakého uživatele (Turn on entry and exit announcements for this meeting). Pro přihlášené uživatele se využívá Text-to-Speech jejich Display Name, což u nás moc dobře nefunguje. Anonymní uživatelé mohou nahrát své jméno. Nejvíce možností máme, pokud konferenci plánujeme v kalendáři Outlooku.

lync03.gif

Problém s DTMF tóny a Cisco CUCM

V praxi jsem narazil na problém, že při volání na číslo konference z Cisco telefonů připojených k CUCM, nerozpoznával Lync DTMF tóny a tudíž se nedalo zadat ani číslo konference. Z telefonů mimo firmu vše fungovalo. Podle různých informací se zdálo, že je problém v Media Termination Point (MTP). Na SIP Trunku, který spojuje Lync a CUCM, jsme nastavili, že je vyžadován a proto se vždy využíval softwarový MTP na CUCM. Když jsem zkusil toto nastavení zrušit, tedy na Trunku odškrtnout volbu Media Termination Point Required. Tak DTMF tóny z interních telefonů fungovaly, ale objevil se problém při volání z venku.

V některých diskuzích bylo zmíněno, že problém se dá vyřešit, když se vytvoří hardwarový MTP na Cisco routeru. K tomu by se dala využít hlasová brána, která je u nás reprezentována Cisco ISR routerem 2811. Popis je například u Cisca v článku Configuring Enhanced Conferencing and Transcoding for Voice Gateway Routers.

Ale pak jsem narazil na zmínku, že pro integraci s Lyncem je podporována verze CUCM 8.5.1.12900-7 (to můžeme potvrdit v tabulce Microsoftem otestovaných řešení) a já jsem měl instalovanou 8.5.1.11900-21. Zkusil jsem provést upgrade na poslední verzi 8.6.2.20000-2 a opravdu to celý problém s DTMF tóny vyřešilo.

Autor: Petr Bouška

Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.

Váš názor Další článek: Intel zůstane s operační pamětí DDR3 do roku 2014

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,