Отвечая на вопросы: Lync и несколько телефонных шлюзов
Недавно провел тренинг по Lync Voice для партнеров в ходе которого получил ряд вопросов. Отвечая на них, я увидел необходимость более подробного освещения некоторых моментов, особенно в части маршрутизации голоса. Особенно много вопросов было по обеспечению отказоустойчивости между Lync и шлюзами. Давайте рассмотрим пару сценариев и поймем как Lync работает при различных настройках.
Дано
Lync и несколько шлюзов выхода в телефонную сеть, два шлюза находятся в Москве, один шлюз находится в Киеве.
Задача.
Обеспечить при нормальной работе звонки по России для всех пользователей, включая киевских через два шлюза в Москве, при этом в случае отказа одного из шлюзов, звонки должны все равно проходить по России (для этого два шлюза), в случае отказа обоих шлюзов звонки совершать через киевский шлюз.
Как мы знаем из предыдущей статьи при маршрутизации звонка Lync выбирает PSTN записи в политике пользователя, которые в свою очередь состоят из маршрутов. При этом сами PSTN записи применяются по порядку сверху вниз.
Давайте попробуем реализовать заданный сценарий.
В моей инфраструктуре три шлюза
Ucgw9.msucdemo.local – шлюз в Москве
Ucgw4.msucdemo.local – второй шлюз в Москве
Ucgw8.msucdemo.local – шлюз в Киеве
Вариант 1
Добавляем маршруты.
1. Звонок на телефонный номер, начинающийся на +7 и, содержащий не менее 10 цифр отправить на шлюзы в Москве, для этого оба шлюза регистрируем в одном маршруте
Рис 1. Создание маршрутов для звонков по России
Мы указали два шлюза, а какой же шлюз будет выбираться при конкретном звонке. В этом случае Lync будет распределять звонки между шлюзами и в случае отказа одного из шлюзов все звонки будут идти через тот шлюз, который работает. Мало того, если шлюз работает, но канал в телефонную сеть в нем на данный момент отказал, то Lync опять же не будет отправлять через него звонки. Вот так простым указанием двух шлюзов в одном маршруте мы настроили отказоустойчивость.
2. Создадим резервный маршрут для звонков по России через киевский шлюз в случае отказа обоих московских.
Рис 2. Резервный маршрут
Теперь я объединю маршруты в PSTN записи в соответствии с условиями задачи.
Напомню, что мне необходимо реализовать при нормальной работе прохождение звонков по России через московские шлюзы и в случае отказа обоих шлюзов отправить звонок через киевский шлюз. Я создам две PSTN записи и назову их Russia Long Distance for Russia и Backup Russia Long Distance for Russia
Рис 3. PSTN записи
При таком порядке PSTN записей Lync будет пытаться отправить все звонки по России через два московских шлюза (они в маршруте Route495) распределяя их между этими шлюзами и в случае отказа обоих шлюзов будет выбрана вторая PSTN запись, находящаяся ниже и звонки пойдутчерез киевский шлюз.
Вариант 2
Однако мы можем не объединять оба московских шлюза в один маршрут, а сделать три маршрута.
1. Маршрут до шлюза Ucgw9.msucdemo.local (Москва)
2. Маршрут до шлюза Ucgw4.msucdemo.local (Москва)
3. Маршрут до шлюза Ucgw8.msucdemo.local (Киев)
И, затем, распределить требуемый порядок выбора шлюзов с помощью PSTN записи
Рис 4. PSTN записи, сравните с рис 3.
Маршрутизация звонков будет происходить также как и в первом случае, сначала будет выбирать (с распределением и отслеживанием работоспособности) один из маршрутов в первой PSTN записи, а в случае недоступности будет выбрана вторая PSTN запись и звонки уйдут через киевский шлюз.
А если оба эти сценарии равнозначны, какой же подход выбрать?
Я предпочитаю второй, так как части пользователей я могу создать PSTN запись с отказоустойчивостью (добавив два маршрута) а части создать PSTN запись только с одним маршрутом (добавив в первую запись только один маршрут)
Отследить работу можно только с помощью снятия SIP логов, в тест кейсах Lync эта логика отображаться не будет.
Буду рад любым комментариям, в следующих заметках я постараюсь ответить на интересные вопросы, которые я получаю в ходе своей работы.
Comments
Anonymous
March 22, 2012
>> Звонок на телефонный номер, начинающийся на +7 и, содержащий не менее 10 цифр Немного неверное. В РФ есть номера телефоном, не подходящих под этот шаблон. Если сильно попросить РТ, те могут выдать вам номера сокращенной нумерации и тогда длина номера, вместе с кодом города, составит 6-7 символов. Из коллекции личных граблей...Anonymous
March 25, 2012
Спасибо за комментарий. В этой заметке нормализация не была в фокусе заметки, только для примера.