«Привязка» IP телефона к определенному FXO порту. Translate pattern.

Доброго времени!
В продолжении предыдущий статей сегодня рассмотрим такой вопрос: как «привязать» определенный IP телефон или группу телефонов к определенному FXO порту.

Представим, что у нас есть 4 линии, которые подключаются к нашему маршрутизатору cisco 2811, каждая линия соответствует определенной группе телефонов (читаем отделу).
Входящие звонки из «города» приходят куда положено, а что происходит с исходящими? (dial-peer настроены стандартно, .T на всех в destination-pattern, ну и указан соотсветующий порт. ).
В такой конфигурации, IP телефон выходит в город с первого «не занятого» dial-peer’а, тоесть отдел менеджеров, может легко забрать линию сбыта, и наоборот, что недопустимо в работе.

Отсюда и появляется задача, как же сделать так, чтоб только определенные телефоны могли выходить только через конкретный порт (линию).
Как это сделать? Казалось бы может с помощью COR как-нибудь? Да, если бы это была задача в пределах CUCME.
Но у меня случай немного другой, IP телефоны все находятся на CUCM а сам выход POTS на cisco 2811.

Я сделал следующее.
Все dial-peer переписал с разными destination-pattern.

dial-peer voice 1 pots
destination-pattern 19T
no digit-strip
port 0/0/0
forward-digits all

Теперь каждый dial-peer будет вызываться по своему, но у нас в CUCM есть всего один Route-pattern который используется для выхода в город. (Есть еще один, для выход в меж город), который я описывал в одной из прошлых статей, а именно: CUCM. Работа с Calling Search Space. Единственная поправка, когда мы добавляли Route Pattern не нужно вырезать префикс 9, тоесть PreDot не нужно указывать, пусть он передастся на Cisco 2811.
Теперь как-то нужно сделать, чтоб в зависимости от того кто набрал номер, переписывался префикс и звонок уходил собственно по нужному dial-peer’у.

Сначала нам нужно преобразовать набранные цифры с конкретного телефона в нужные нам для нужного destination-pattern разрешенного dial-peer’а.
Для этого создаем dail-peer:

dial-peer voice 777 voip
translation-profile incoming phone777
answer-address 777

Здесь мы анализируем с какого IP телефона набран запрос на выход в город, в данном случае это номер 777 (который зарегистрирован на CUCM).
Здесь мы видим некий translation-profile incoming phone777, с помощью этого правила мы и будем преобразовывать запрашиваемый номер.

Затем опишем этот самый профиль:

voice translation-profile phone777
translate called 1

Здесь мы указываем, что будем преобразовывать вызываемый номер правилом трансляции 1.
Напомню, что нам нужно сделать.
Нам нужно в вызываемом номере вырезать первую 9-ку (которая пришла с CUCM) и добавить впереди 19, тогда звонок правильно смаршрутизируется и выйдет с правильного FXO порта.
Вот само правило трансляции:

voice translation-rule 1
rule 1 /^9/ /19/

Итак, что у нас получилось?
Например, нам нужно позвонить по номеру: 89188888888
Соглсано нашему Route Pattern, для выхода в межгород нужно впереди набрать 9 а дальше 8 , когд города и номер абонента.
На cisco 2811 «приходит» номер Called: 989188888888
Если мы звоним с номера 777, то применяется правило трансляции, сначала убирается первая 9, и потом добавляется 19 и в итоге получаем 1989188888888

Этим мы смогли добиться того, что вызов пришел на нужный нам voice port, но теперь нужно преобразовать номер телефона в нормальный, правильный вид, тоесть убрать 19 и выпустить его в город, для этого в вышеуказанный dial-peer pots указываем еще одно правило трансляции, теперь это выглядит так:

dial-peer voice 1 pots
description 53989
translation-profile outgoing 11
destination-pattern 19T
no digit-strip
port 0/0/0
forward-digits all

Видим translation-profile outgoing 11, это говорит о том, что нужно преобразовать Called номер. Описываем как:

voice translation-profile 11
translate called 11

Знакомая нами уже конструкция. Смотрим в 11 правило:

voice translation-rule 11
rule 1 /^19/ //

Вырезаем вначале 19 и ничего вместо не вставляем. Таким образом у нас получается правильный номер: 89188888888

Теперь тоже самое делается и с другими портами, только префикс скажем 29,39 и так далее. Пишутся соотсветующие подобные правила.

Надеюсь данная заметка кому-то принесла пользу.
Good Luck.

Источник статьи