четверг, 28 июля 2016 г.

Маршрутизация вызовов в SfB (Lync 2013)

Целью данной статьи является рассмотрение вопроса прохождения телефонного звонка через правила нормализации и маршруты. Также посмотрим на пример настроек Dial Plan, Voice Policy, Route на реальном примере.

                                                                                                                                                                                                                                                                                                          Схема прохождения исходящего звонка
Общую схему прохождения звонка можно представить следующим образом:
dialplanlync
Т.е получается что в примере пользователь набрал городской номер через 9-ку: 9-555-66-77, этот номер преобразовался в +78465556677, потом был найден маршрут для данного номера и номер был отправлен на шлюз (предварительно была выполнена трансляция согласно trunk configuration). И в итоге шлюз получил: 7(846)555-66-77
                                                                                                                                                                                                                                                                                                         Настройка в интерфейсе Lync Server
Все настройки находятся в разделе Voice Routing:
Dial Plan: создание правил нормализации
Voice Policy: Голосовая политика, состоит из PSTN Usage в которую входят Route (маршруты).
Route: маршруты, входят в PSTN Usage
PSTN Usageзаписи групп в которые входят маршруты, их можно использовать в разных политиках.
Trunk Configurationтрансляция номеров на выходе.

                                                                                                                                                                                                                                                                                                       Основы регулярных выражений
Для создания шаблонов номеров в правилах нормализации, маршрутах используются регулярные выражения.  При этом в нормализации необходимо для: какие номера и во что преобразовывать. В маршрутах: какие нормализованные номера отправлять на шлюз.
Разберем основные элементы регулярных выражений:
Элемент выраженияЗначениеПримерОписание примера
^Начало выражения^123Любое выражение начинается с ^
$Конец выражения^(123)$Любое выражение заканчивается $
\dОпределение количества цифр в выражении^(\d{8})$Если данному выражению подать на вход 96667788 то он будет   преобразован в 96667788
()Определение группы. Все что стоит вне скобок – будет убираться.^9(\d{7})$Если данному выражению подать на вход 96667788 то он будет   преобразован в 6667788
[]диапазон искомых цифр^[7-9](\d{7})$Если данному выражению подать на вход 76667788 или 86667788 или  96667788 то он будет преобразован в 6667788
*Задает 0 или большее кол-во цифр^(\d{7}\d*)$Под правило подпадают номера с количеством цифр 7 и более
+Задает 1 или большее кол-во цифр^(\d{7}\d+)$Под правило подпадают номера с количеством цифр 8 и более
?Задает 0 или 1 цифру^(\d{7}\d?)$Под правило подпадают номера с количеством цифр 7 или 8
{n}Задает номер только из «n» цифр^(\d{8})$Под правило подпадают номера с количеством цифр 8
{n,}Задает номер только из «n» цифр и более^(\d{8,})$Под правило подпадают номера с количеством цифр 8 и более
{n,m}Задает номер из «n»   цифр до «m»   включительно^(\d{8,12})$Под правило подпадают номера с количеством цифр от 8 до 12
?!Кроме этого^(?![7,9])(\d{7})$Под правило подпадают номера с количеством цифр 7 кроме номеров,   начинающихся с цифры 7 или 9
|Соответствие любому из условий перечисленных через знак |^(999$|112$)Под правило подпадают номера 999 или 112

                                                                                                                                                                                                                                                                                                                   Пример настройки Dial Plan, Voice Policy, Route на реальном примере:
Вводные данные:
  • Lync 2013
  • Интеграция с телефонией через шлюз согласно схеме:
dialplanlync2
  • Все абоненты получают уникальный внутренний номер в пределах организации(организация например в г.Самара). Внутренние  номера,  состоят  из  четырех знаков в формате XXXX. Номера абонентов PBX и Lync для удобства совпадают в трех последних символах и различаются только префиксом (первой цифрой):
1XXX – четырехзначный номер абонента PBX. (например 1555)
2ХХХ – четырехзначный номер абонента Lync. (например 2555)
  • Префиксы для внешних вызовов(требования провайдера):
9-<номер 7 знаков> –  местные вызовы;
9-<номер 2-3 знака>  –  выход на экстренные службы 112, 01, 02 (101,102)  и т.д.;
9-8 — <код региона ><номер> – междугородние/мобильные.
9-8- 8482- <номер 6 знаков> – Местные  вызовы в город Тольятти (выделим это направление для примера: допустим там филиал компании и связь только через pstn, или там находится большинство клиентов компании и т.д и т.п)
  • Набор номеров абонентами производится согласно рисунку.
  • Пользователи имеют ограничения на звонки по направлениям согласно политикам: Внутренние(включая экстренные), Внутренние+Самара, Внутренние+Самара+Тольятти, Внутренние + по России
Настройки Voice routing для нашей конфигурации:
Dial plan
dialplan1
Voice Policy:
dialplan2
Voice policy: Внутренние + по России
dialplan3
Route:
dialplan4
Под правила подпадают уже нормализованные (dial plan) номера:
^(\d{2,4})$ — под правило подпадают номера с количеством цифр от 2 до 4
^\+7846(\d{7})$ —  под правило подпадают номера вида +7846 <+ 7 знаков>
^\+78482(\d{6})$ —  под правило подпадают номера вида +78482 <+ 6 знаков>
^\+7(\d{10})$ —  под правило подпадают номера вида +7 <+ 10 знаков>

Проверяем с помощью Test Voice Routing
dialplan5
Далее номера
необходимо транслировать согласно требованиям провайдера ( ранее в статье были указаны
префиксы для внешних вызовов). Это можно сделать с помощью Trunk Configuration:
dialplan6
При этом:
Calling number translation rule – правила трансляции вызывающего номера
Called number translation rule – правила трансляции вызываемого номера




Defining the Associated SIP Trunk Configuration in the Lync Control Panel

Under the Voice Routing panel, click on the “Trunk Configuration” heading, and define a new Pool trunk.  With a Pool trunk, you will be able to associate the trunk with the PSTN Gateway defined in your Topology that represents the SIP trunk.
The the New Trunk configuration dialog is show here:
In my experience, four settings that you want to pay particular attention to are:
  1. Encryption support level: this identifies what encryption (if any) will be made on the media traffic. They key is, you need to match whatever your peer SIP trunk is configured for. Note that encryption will use TLS which requires certificates.
  2. Refer support: in my experience, setting this option to “Enable sending refer to the gateway” will allow the caller-ID to be passed through to the SIP trunk and on to the called party.
  3. Centralized media processing:  this indicates to Lync that the SIP trunk peer uses the same IP address for media as it does the SIP signaling. If you are having trouble getting Lync audio working, but the call is established, try enabling this if it is not already enabled.
  4. Enable outbound routing failover timer: when enabled, the SIP trunk has 10 seconds to tell Lync that the call has been processed or else the call get’s dropped.  Lync Server 2010 did not have this setting.
  5. Associated PSTN Usages:  this instructs Lync to only allow calls through this trunk the match the PSTN usages listed here.

Типы дисков в Linked-Clone Desktop окружении


View Composer creates an OS disk for each linked clone. This disk stores the system data that the clone needs to remain linked to the base image and to function as a unique desktop.

View Composer creates a second disk with the OS disk. The second disk stores QuickPrep configuration data and other OS-related data that must be preserved during refresh and recompose operations. This disk is small, typically about 20MB. This disk is created whether you use QuickPrep or Sysprep to customize the desktop.
If you configure separate View Composer persistent disks to store user profiles, three disks are associated with each linked clone: the OS disk, the second desktop disk, and the View Composer persistent disk.
The second desktop disk is stored on the same datastore as the OS disk. You cannot configure this disk.

In a dedicated-assignment pool, you can configure separate View Composer persistent disks to store Windows user-profile data. This disk is optional.
Separate persistent disks let you preserve user data and settings. View Composer refresh, recompose, and rebalance operations do not affect persistent disks. You can detach a persistent disk from a linked clone and attach it to another linked clone.
If you do not configure separate persistent disks, the Windows profile is stored in the OS disk. User data and settings are removed during refresh, recompose, and rebalance operations.
You can store persistent disks on the same datastore as the OS disk or on a different datastore.

When you create a linked-clone pool, you can configure a separate, nonpersistent disk to store the guest OS's paging and temp files that are generated during user sessions. You must specify the disk size in megabytes.
This disk is optional.
When the linked clone is powered off, View Manager replaces the disposable-data disk with a copy of the original disk that View Composer created with the linked-clone pool. Linked clones can increase in size as users interact with their desktops. Using disposable-data disks can save storage space by slowing the growth of linked clones.
The disposable-data disk is stored on the same datastore as the OS disk.



Was looking for solution to increase the persistent disk space for a user today who was running out of space. I am using view 4.5 . Very easy to set the configuration to reflect the new size is future deployment of a pool . But need to do some manual work for already provisioned VM . It will a bit of pain if you already have few vm deployed already. Not sure if there is any work around but will check in future.
To start with the pool needs to be changed if all future pool machines need to selected HDD  , do the following .
1. Login to the VMware View Administrator.
2. Select the pools from the ‘Inventory.
3. Select Edit from the top menu tabs
4. Under View Composer Disk change the value of Persistent disk size to the required value
5. Click OK
From now on any new deployed vm will get the edited Persistent HDD size.However already provisioned VM from that pool will still have the old persistent HDD.Do the following fow those VM.
1. Login to the vSphere Client
2. Select the virtual machine that needs to be changed and right click selecting Edit Settings…
4. Select the Hard disk that is the current persistent disk. Make sure you are changing the right HDD . You can double check the HDD name from Vmware View Administrator console.
5. In the Disk Provisioning section change the Provisioned Size to the required size
6. Click OK.
Now restart the virtual machine and login to this with a username that got Administrative right.Then do the following.
1. Click Start and the right click on Computer selecting Manage
6. Select Disk Management
7. Select the disk to be change and right click selecting Extend Volume…
8. Click Next
9. Click Next
10. Click Finish
11. Close the window and logoff the machine
Now check the Persistent disk space from my computer to make sure you are getting the right HDD size.