Отвечая на вопросы: Lync и несколько телефонных шлюзов

 

Недавно провел тренинг по Lync Voice для партнеров в ходе которого получил ряд вопросов. Отвечая на них, я увидел необходимость более подробного освещения некоторых моментов, особенно в части маршрутизации голоса. Особенно много вопросов было по обеспечению отказоустойчивости между Lync и шлюзами. Давайте рассмотрим пару сценариев и поймем как Lync работает при различных настройках.

Дано

Lync и несколько шлюзов выхода в телефонную сеть, два шлюза находятся в Москве, один шлюз находится в Киеве.

Задача.

Обеспечить при нормальной работе звонки по России для всех пользователей, включая киевских через два шлюза в Москве, при этом в случае отказа одного из шлюзов, звонки должны все равно проходить по России (для этого два шлюза), в случае отказа обоих шлюзов звонки совершать через киевский шлюз.

Как мы знаем из предыдущей статьи при маршрутизации звонка Lync выбирает PSTN записи в политике пользователя, которые в свою очередь состоят из маршрутов. При этом сами PSTN записи применяются по порядку сверху вниз.

Давайте попробуем реализовать заданный сценарий.

В моей инфраструктуре три шлюза

Ucgw9.msucdemo.local – шлюз в Москве

Ucgw4.msucdemo.local – второй шлюз в Москве

Ucgw8.msucdemo.local – шлюз в Киеве

Вариант 1

Добавляем маршруты.

1. Звонок на телефонный номер, начинающийся на +7 и, содержащий не менее 10 цифр отправить на шлюзы в Москве, для этого оба шлюза регистрируем в одном маршруте

clip_image002

Рис 1. Создание маршрутов для звонков по России

Мы указали два шлюза, а какой же шлюз будет выбираться при конкретном звонке. В этом случае Lync будет распределять звонки между шлюзами и в случае отказа одного из шлюзов все звонки будут идти через тот шлюз, который работает. Мало того, если шлюз работает, но канал в телефонную сеть в нем на данный момент отказал, то Lync опять же не будет отправлять через него звонки. Вот так простым указанием двух шлюзов в одном маршруте мы настроили отказоустойчивость.

2. Создадим резервный маршрут для звонков по России через киевский шлюз в случае отказа обоих московских.

clip_image004

Рис 2. Резервный маршрут

Теперь я объединю маршруты в PSTN записи в соответствии с условиями задачи.

Напомню, что мне необходимо реализовать при нормальной работе прохождение звонков по России через московские шлюзы и в случае отказа обоих шлюзов отправить звонок через киевский шлюз. Я создам две PSTN записи и назову их Russia Long Distance for Russia и Backup Russia Long Distance for Russia

clip_image006

Рис 3. PSTN записи

При таком порядке PSTN записей Lync будет пытаться отправить все звонки по России через два московских шлюза (они в маршруте Route495) распределяя их между этими шлюзами и в случае отказа обоих шлюзов будет выбрана вторая PSTN запись, находящаяся ниже и звонки пойдутчерез киевский шлюз.

Вариант 2

Однако мы можем не объединять оба московских шлюза в один маршрут, а сделать три маршрута.

1. Маршрут до шлюза Ucgw9.msucdemo.local (Москва)

2. Маршрут до шлюза Ucgw4.msucdemo.local (Москва)

3. Маршрут до шлюза Ucgw8.msucdemo.local (Киев)

И, затем, распределить требуемый порядок выбора шлюзов с помощью PSTN записи

clip_image008

Рис 4. PSTN записи, сравните с рис 3.

Маршрутизация звонков будет происходить также как и в первом случае, сначала будет выбирать (с распределением и отслеживанием работоспособности) один из маршрутов в первой PSTN записи, а в случае недоступности будет выбрана вторая PSTN запись и звонки уйдут через киевский шлюз.

А если оба эти сценарии равнозначны, какой же подход выбрать?

Я предпочитаю второй, так как части пользователей я могу создать PSTN запись с отказоустойчивостью (добавив два маршрута) а части создать PSTN запись только с одним маршрутом (добавив в первую запись только один маршрут)

Отследить работу можно только с помощью снятия SIP логов, в тест кейсах Lync эта логика отображаться не будет.

Буду рад любым комментариям, в следующих заметках я постараюсь ответить на интересные вопросы, которые я получаю в ходе своей работы.