Доброго времени!
В продолжении предыдущий статей сегодня рассмотрим такой вопрос: как «привязать» определенный 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.