Общие сведения
Предварительные условия
Требования
Используемые компоненты
Условные обозначения
Настройка
Назначение профилей преобразования
Команда voice translation-rule
Настройка профиля преобразования
Настройка входящих вызовов VoIP
Настройка адресуемой конечной точки вызова
Настройка голосового порта
Профиль преобразования контроллера
Настройки групп магистральных каналов
Настройки участников групп магистральных каналов
Настройки групп исходных IP
Настройка аварийного режима CallManager
Примеры настройки блокирования вызовов
Блокирование всех вызовов на адресуемой конечной точке вызова
Блокирование вызовов определенных вызывающих абонентов
Блокирование вызовов определенных вызываемых абонентов
Преобразование всех номеров в определенный номер
Преобразование входящих семизначных номеров в четырехзначные
Добавление префикса к входящему вызываемому номеру
Изменение плана и типа Unknown исходящих вызовов на план ISDN и тип National
Добавление префикса к вызывающему номеру
Направление телефоном на определенные порты
Направление вызовов с определенных портов на нужную адресуемую конечную точку вызова VoIP с неизменным вызываемым номером
Проверка
Поиск и устранение неисправностей
Дополнительные сведения
Профили преобразования голосовых данных обеспечивают новую схему преобразования номеров. Более старые правила следует постепенно выводить из использования системой. Cisco настоятельно рекомендует использовать только одну схему правил преобразования. При смешанном использовании старой и новой схем можно получить непредсказуемые результаты. Основным элементом новой схемы является возможность выполнения проверки регулярных выражений и замены подстроки. Для преобразования номеров используется утилита Stream EDitor (SED). Дополнительные сведения о SED см. в разделе Дополнительные сведения.
В данном документе описаны основные функции и настройки новых профилей преобразования голосовых данных и конкретные примеры наиболее общих ситуаций.
Правила преобразования заменяют подстроку вводимого номера, если номер соответствует сравнительному шаблону, плану номера и типу, присутствующим в правиле. Утилита SED используется для проверки соответствия на основании сравнительного шаблона. Другой возможностью правил преобразования является возможность блокирования вызовов определенных номеров. Эти правила указываются с использованием специального ключевого слова "reject" (отклонить).
Функции:
Новые правила преобразования выполняют проверку регулярных выражений подобно SED:
Поддерживаются управляющие последовательности, подобные используемым в UNIX, с обратной наклонной чертой;
В новых правилах преобразования ключевые слова "NULL" и "ANY" не поддерживаются, однако эти слова можно заменить регулярными выражениями, подобными используемым в SED;
В одной таблице правил преобразования можно определить до пятнадцати правил преобразования;
Можно определить до 1000 профилей преобразования. Можно определить до 128 правил преобразования.
Для данного документа нет особых требований.
Данный документ содержит сведения, касающиеся голосовых шлюзов, работающих под управлением ПО Cisco IOS®, начиная с Release 12.2(11)T.
Данные для документа были получены в специально созданных лабораторных условиях. При написании данного документа использовались только устройства с пустой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд.
Дополнительные сведения об условных обозначениях см. в документе Технические рекомендации Cisco. Условные обозначения.
В этом разделе представлены сведения по настройке функций, описанных в данном документе.
Примечание. Для поиска дополнительной информации о командах, упоминаемых в данном документе, используйте утилиту Command Lookup (только для зарегистрированных пользователей).
К новым правилам преобразования можно обращаться посредством профилей преобразования. В профиле преобразования можно определить следующие типы вызываемых абонентов:
вызываемый;
вызывающий;
перенаправление вызываемого.
У каждого из типов вызываемых абонентов профиля могут быть различные правила преобразования.
После определения профиля преобразования к нему можно обращаться следующим образом:
Группа магистральных каналов — чтобы выполнять преобразование входящих и исходящих вызовов ТфОП, можно определить два различных профиля преобразования в группе магистральных каналов. Если профиль преобразования исходящих вызовов определен в группе магистральных каналов, преобразование номера производится при настройке исходящего вызова;
Группа исходных IP — чтобы выполнять преобразование номеров для входящих VoIP-вызовов, можно определить профиль преобразования в группе исходных IP;
Адресуемая конечная точка вызова — чтобы выполнять преобразование номеров для входящих и исходящих вызовов, можно определить два разных профиля преобразования в адресуемой конечной точке вызова;
Голосовой порт — чтобы выполнять преобразование номеров для входящих и исходящих вызовов ТфОП, можно определить профиль преобразования в голосовом порту. Если голосовой порт также является участником группы магистральных каналов, профиль преобразования входящих вызовов голосового порта переопределяет профиль преобразования группы магистральных каналов;
Интерфейс передачи сигналов, не связанный со средствами обслуживания (NFAS) — чтобы выполнять преобразование входящих и исходящих вызовов NFAS, можно определить профиль преобразования для интерфейса NFAS при помощи командной строки translation-profile из режима глобальной настройки voice service pots. Данный профиль обладает большим приоритетом, чем профиль преобразования голосового порта и группы голосовых портов в случае, когда канал также принадлежит голосовому порту и/или группе портов, для которых определен профиль преобразования;
Входящие VoIP — чтобы выполнять преобразование номеров, можно определить профиль преобразования для всех входящих вызовов VoIP (h323/sip). Если входящий вызов H.323/SIP связан с группой исходных IP, для которой определен профиль преобразования, то профиль преобразования группы исходных IP переопределяет глобальный профиль преобразования для входящих вызовов VoIP.
Для определения правила преобразования для голосовых вызовов в режиме глобальной настройки введите команду voice translation-rule. Чтобы удалить правило преобразования, используйте форму no данной команды:
voice translation-rule number;
no voice translation-rule number.
Примечание. Параметр number является уникальным идентификатором правила преобразования. Диапазон находится в пределах от 1 до 2 147 483 647. Значение по умолчанию отсутствует.
Для определения правила преобразования следует использовать команду rule в режиме настройки правила преобразования голосовых данных. Чтобы удалить правило преобразования, используйте форму no данной команды.
Правило сравнения и замены
rule precedence /match-pattern/ /replace-pattern/ [type {match-type replace-type} [plan {match-type replace-type}]] no rule precedence
Правило отклонения
rule precedence reject /match-pattern/ [type match-type [plan match-type]] no rule precedence
Синтаксис |
Описание |
---|---|
precedence |
Приоритет правила преобразования Диапазон находится в пределах от 1 до 15. |
/match-pattern/ |
Выражение Stream editor (SED), используемое для сравнения информации входящего вызова. Разделителем в шаблоне является наклонная черта `/'. |
/replace-pattern/ |
Выражение SED, используемое для замены шаблона сравнения в информации вызова. Разделителем в шаблоне является наклонная черта `/'. |
type match-type replace-type |
(Необязательно) Существуют следующие типы сравнения номеров:
Существуют следующие типы замены номеров:
|
plan match-type replace-type |
(Необязательно) Существуют следующие виды сравнения типов планов:
Существуют следующие виды замены типов планов:
|
reject |
Шаблон сравнения правила преобразования используется для целей отклонения вызовов. |
Данный пример активирует правило преобразования 150. Оно содержит два правила:
Router(config)#voice translation-rule 150 Router(cfg-translation-rule)#rule 1 reject /^919\(.(\)/ Router(cfg-translation-rule)#rule 2 /\(^...\)853\(...\)/ /\1525\2/
В правилах преобразования голосовых данных используются такие же символы, как и в синтаксисе регулярных выражений (regexp). Однако есть небольшие различия и ограничения. Большинство ограничений не представляют большой проблемы, поскольку выполняются только действия с цифрами.
Символ правила преобразования голосовых данных |
Описание |
---|---|
^ |
Сравнение выражения в начале строки. |
$ |
Сравнение выражения в конце строки. |
/ |
Разделитель, обозначающий начало и конец проверяемой и заменяемой строк. |
\ |
Символ экранирования, придающий идущему за ним символу специальное значение. |
- |
Когда находится не в начале и не в конце, обозначает диапазон. Используется с символами '[' и ']'. |
[список] |
Должен присутствовать один символ из списка. |
[^список] |
Символы из списка должны отсутствовать. |
. |
Соответствует любому одному символу. |
* |
Повторение предшествующего регулярного выражения ноль и более раз. |
+ |
Повторение предшествующего регулярного выражения один и более раз. |
? |
Повторение предшествующего регулярного выражения ноль или один раз (для входа в IOS используйте CTRL+V). |
() |
Группирование регулярных выражений. |
Строка сравнения |
Строка замены |
Строка набора |
Замененная строка |
Комментарии |
---|---|---|---|---|
/^$/ |
/ / |
NULL |
NULL |
Простое преобразование Null в Null. |
/^.*/ |
/ / |
9195551212 |
NULL |
Преобразование любого номера в Null. |
// |
// |
9195551212 |
9195551212 |
Проверка всех строк, но замена не производится. Используется для оперирования планом вызовов или типом вызова. |
/^392\(.*\)/ |
/555\1/ |
3921212 |
5551212 |
Проверка начала строки переменной длины. |
/^\(555\)\(....\)/ |
/444\2/ |
5551212 |
4441212 |
Проверка начала строки. Вторая структура, находящаяся в скобках, вставляется в новую строку. |
/^555\(....\)/ |
/444\1/ |
5551212 |
4441212 |
Проверка начала строки. Следует помнить, что \1 заменяет первую группу регулярного выражения, находящегося в скобках. |
/\(^...\)555\(....\)/ |
/\1444\2/ |
9195551212 |
9194441212 |
Проверка середины строки. |
/\(^...\)\(555\)\(....\)/ |
/\1444\3/ |
9195551212 |
9194441212 |
Проверка середины строки. |
/\(.*\)1212$/ |
/\13434/ |
9195551212 555121212 |
9195553434 555123434 |
Проверка конца строки. |
/\(.*\)1212/ |
/\13434/ |
9195551212 555121212 |
9195553434 555123434 |
Проверка конца строки. В данном конкретном случае в конце не требуется использование неявно подразумевающегося символа $. |
/444/ |
/555/ |
4441212 44441212 44414441212 |
5551212 55541212 55514441212 |
Проверка подстроки. |
/^[135]/ |
/9/ |
12345 22345 32345 |
92345 22345 93245 |
Проверка определенных чисел. |
/^[1-35]/ |
/9/ |
1234 2345 4567 8456 |
9234 9345 4567 8456 |
Проверка диапазона. |
/^[^1-35]/ |
/9/ |
1234 2345 4567 8456 |
1234 2345 9567 9456 |
Символ ^ в списке означает, что данные элементы сравнивать не нужно. |
/^1#/ |
// |
1#456 |
456 |
Проверять 1# в начале и заменять его на Null. |
/^1\#\(.*\)/ |
/\1/ |
1#456 |
456 |
То же, что и в предыдущем выражении, но по-другому составлено. |
/^1\*/ |
// |
1*456 |
456 |
Проверка 1* в шаблоне и замена его на Null. |
/^1\*\(.*\)/ |
/\1/ |
1*456 |
456 |
То же, что и в предыдущем выражении, но немного по-другому составлено. |
/^5+/ |
/9/ |
5888 55888 555888 5588855 |
9888 9888 9888 988855 |
Пример использования параметра '+'. |
/^\(555\)+\(.*\)/ |
/444\2/ |
5551212 555551212 5555551212 5551212555 |
4441212 444551212 4441212 4441212555 |
Другой пример использования параметра '+'. Выполняет поиск повторений шаблона 555 в начале. |
/^9?1?\(919\)/ |
/\1/ |
9195551212 19195551212 919195551212 99195551212 |
9195551212 9195551212 9195551212 9195551212 |
Пример использования строки '?'. Например, если необходимо удалить несколько первых цифр, которые могут присутствовать или отсутствовать. В данном случае необходимо удалить первые 9 или 1, либо 9 и 1, идущие вместе. |
/1234/ |
/00&00/ |
5551234 |
55500123400 |
Проверка подстроки. |
/1234/ |
/00\000/ |
5551234 |
55500123400 |
Проверка подстроки (совпадает с &). |
voice translation-profile <name> translate called <translation-rule num> translate calling <translation-rule num> translate redirect-called <translation-rule num> no
Атрибут |
Описание |
---|---|
voice translation-profile <name> |
Длина имени профиля преобразования может составлять не более тридцати одного символа. |
translate called <translation rule #> |
Определение правила профиля преобразования для вызываемого абонента. |
translate calling <translation rule #> |
Определение правила профиля преобразования для вызывающего абонента. |
translate redirect-called <translation rule #> |
Определение правила профиля преобразования для переадресованного вызываемого абонента. |
По типу сигналов входящего вызова вызывающий номер представляет собой автоматический идентификатор номера (ANI) или идентификатор вызывающей линии. Переадресованный вызываемый абонент представляет собой перенаправление службы опознавания набранных номеров (DNIS) или исходно вызываемого абонента.
voip-incoming translation-profile <name>
Атрибут |
Описание |
---|---|
voip-incoming translation-profile |
Определение профиля преобразования вызываемого номера для всех входящих вызовов VoIP. Данная команда интерфейса командной строки и команда из правил преобразования старого образца voip-incoming translation-rule являются взаимоисключающими. |
Данный пример конфигурации профиля преобразования входящих вызовов VoIP назначает всем входящим вызовам VoIP профиль с именем "global-definition".
Router(config)#voip-incoming translation-profile global-definition
Входящая адресуемая конечная точка вызова
dial-peer voice <num> [pots|voip|vofr|voatm] translation-profile [incoming | outgoing] <name>
Для блокирования вызовов
dial-peer voice <num> [pots|voip] call-block translation-profile incoming <name> call-block disconnect-cause incoming <cause> carrier-id source <name>
Атрибут |
Описание |
---|---|
call-block translation-profile incoming <name> |
Определяет профиль преобразования блокирования вызовов для входящих вызовов, используемых сеансом или приложением интерактивного голосового ответа (IVR), когда вызов обрабатывается либо сеансом, либо приложением IVR. Длина профиля преобразования блока вызовов может составлять не более тридцати одного символа. |
call-block disconnect-cause incoming <cause> |
Значение данного атрибута возвращается источнику, когда вызов блокируется в результате проверки номера входящего вызова сеансом или приложением IVR. Пользователь может выбирать из следующих причин разъединения:
По умолчанию для данного атрибута используется значение No-Service. |
carrier-id source <name> |
Определяет идентификатор оператора источника во входящей адресуемой точке вызова, который используется в качестве ключа сравнения при проверке входящей адресуемой точки вызова. Данный атрибут поддерживается только в конфигурации ТфОП или адресуемой конечной точки вызова VoIP. Длина идентификатора оператора может составлять не более 127 символов. |
translation-profile incoming <name> |
Определение профиля преобразования вызываемого номера для входящих вызовов. Длина профиля преобразования может составлять не более тридцати одного символа. |
Исходящая адресуемая точка вызова
dial-peer voice <num> pots carrier-id target <name> trunkgroup <num> [preference_num] trunkgroup <num> [preference_num] translation-profile outgoing <name>
Атрибут |
Описание |
---|---|
carrier-id target <name> |
Определяет идентификатор оператора в исходящей адресуемой точке вызова, который используется в качестве ключа сравнения при проверке исходящей адресуемой точки вызова. Данный атрибут поддерживается только в конфигурации ТфОП или исходящей адресуемой конечной точки вызова VoIP. Длина идентификатора целевого оператора может составлять не более 127 символов. |
translation-profile outgoing <name> |
Определение профиля преобразования вызываемого номера для исходящих вызовов. |
trunkgroup <number> [preference_num] |
В качестве целевых в исходящей адресуемой точке вызова можно предусмотреть одну или несколько групп магистральных каналов. В исходящей адресуемой точке вызова можно определить до 64 групп магистральных каналов. Данный атрибут и атрибуты 'port' являются взаимоисключающими. Диапазон предпочтений находится в пределах от 1 до 64. |
voice-port <number> translation-profile [incoming | outgoing] <name> trunk-group <name> [preference]
Атрибут |
Описание |
---|---|
translation-profile incoming |
Определение профиля преобразования вызываемого номера для входящих вызовов ТфОП. Данная команда интерфейса командной строки и команды из правил преобразования старого образца translate called и translate calling являются взаимоисключающими. |
trunk-group |
Определяет аналоговый голосовой порт в качестве участника группы магистральных каналов. Назначает голосовой порт CAS группе магистральных каналов через интерфейс командной строки клиента CAS для конфигурации контроллера. Для PRI назначает группу магистральных каналов через последовательный интерфейс D-канала. В BRI группа магистральных каналов настраивается через интерфейс BRI. |
Профиль преобразования контроллера используется для входящих или исходящих вызовов NFAS, которые маршрутизируются через группу магистральных каналов.
voice service pots translation-profile [incoming | outgoing] controller [T1 | E1] <unit#> <name>
Атрибут |
Описание |
---|---|
translation-profile |
Определяет для контроллера профиль преобразования. |
[incoming | outgoing] |
Преобразование номеров во входящем или исходящем вызове. |
controller |
Ключевое слово контроллера. |
[T1 | E1] <unit#> |
Модуль контроллера T1 или E1. |
<name> |
Имя профиля преобразования. Длина имени профиля преобразования может составлять не более 64 символов. |
trunk group <name> carrier-id <name> hunt-scheme { [least-idle [even|odd] [up|down] | least-used [even|odd] [up|down] | longest-idle [even|odd] [up|down | random round-robin [even|odd] [up|down] | sequential [even|odd] [up|down] translation-profile incoming <name> translation-profile outgoing <name>
Атрибут |
Описание |
---|---|
trunk group <name> [<preference>] |
Участник группы магистральных каналов может быть интерфейсом PRI, BRI или CAS, либо голосовым портом FXS, FX0 или E&M. Номер предпочтения является необязательным параметром, используемым для сортировки участников группы магистральных каналов в определенном порядке. Если значение предпочтения не задано, новый участник группы магистральных каналов становится последним участником группы магистральных каналов. Диапазон предпочтений находится в пределах от 0 до 63. В группе магистральных каналов можно определить до 64 участников (интерфейсов или голосовых портов). trunk group в voice-port используется для настройки аналогового голосового порта в качестве участника группы магистральных каналов. Участник группы магистральных каналов CLI, существующий для магистральных каналов PRI и BRI ISDN после создания командами interface serial или interface bri остается неизменным. Длина имени группы магистральных каналов может составлять не более 32 символов. |
carrier-id <name> |
Идентификатор оператора, которому принадлежит группа магистральных каналов. Длина идентификатора оператора может составлять не более 64 символов. |
hunt-scheme |
Задает способ выбора участника/канала из группы магистральных каналов для исходящего вызова:
По умолчанию значение параметра hunt-scheme равно least-used. |
description |
Длина описания группы магистральных каналов составляет не более шестидесяти четырех символов. |
translation-profile |
Определение профилей преобразования вызываемых номеров для входящих и исходящих вызовов. |
interface serial <slot/port>:<num> trunk-group <name> [<preference>] interface bri <number> trunk-group <name> [<preference>] voice-port <number> trunk-group <name> [<preference>] /* ds0-group trunk group configuration example */ controller T1 1/0 ds0-group 1 timeslots 1-10 type e&m-fgd ds0-group 2 timeslots 12-20 type e&m-fgd cas-custom 1 trunk-group 11 cas-custom 2 trunk-group 22
voice source-group <name> access-list <num> carrier-id source <name> carrier-id target <name> description <text> disconnect-cause <user-selected-reason> translation-profile incoming <name> h323zone-id <text>
Атрибут |
Описание |
---|---|
voice source-group <name> |
Длина имени группы исходных IP может составлять не более тридцати двух символов. |
access-list |
Для обозначения источника входящего вызова VoIP используется идентификатор списка доступа IOS®. |
carrier-id source <name> |
Идентификатор оператора источника связывается с входящим вызовом VoIP для приложения CSR на оконечном шлюзе для выбора целевого оператора, который маршрутизирует исходящий вызов ТфОП. Длина идентификатора оператора может составлять не более шестидесяти четырех символов. |
carrier-id target <name> |
Идентификатор целевого оператора, устанавливаемый по умолчанию, который может использоваться для проверки исходящего вызова. |
description |
Длина описания группы источников VoIP составляет не более шестидесяти четырех символов. |
disconnect-cause |
Значение данного атрибута возвращается источнику, когда вызов блокируется в результате ограничения списка доступа. Пользователь может выбирать из следующих причин разъединения:
По умолчанию для данного атрибута используется значение No-service. |
translation-profile incoming |
Задает правила преобразования номеров, применяемые к входящим вызовам VoIP. |
h323zone-id |
Задает идентификатор зоны, сопоставляемый с идентификатором зоны источника входящего вызова H.323. Длина значения h323zone-id составляет шестьдесят четыре символа. |
Профили преобразования также можно применять в конфигурации аварийного режима Cisco CallManager. При применении в режиме call-manager-fallback вызовы преобразуются, только когда IP-телефоны переходят в режим SRST. В обычных условиях (когда телефоны регистрируются на серверах Cisco CallManager), вызовы, выполняемые телефонами, не преобразуются. translation-profile с call-manager-fallback влияет на входящие и исходящие вызовы маршрутизатора с IP-телефона. Поведение в этом случае иное, чем при применении translation-profile с dial-peer. Команды incoming и outgoing относятся к IP-телефону. Команда incoming изменяет параметры вызовов, приходящих с IP-телефонов. Команда outgoing изменяет параметры вызовов, исходящих с маршрутизатора на IP-телефоны.
voice translation-rule 1 rule 1 /^.*/ /5551234/ ! ! voice translation-profile srst-in translate calling 1 ! call-manager-fallback translation-profile incoming srst-in !
Когда IP-телефон совершает вызов, вызывающий номер входящего вызывающего абонента изменяется и после этого обрабатывается маршрутизатором. Маршрутизатор направляет вызов с использованием этого вызывающего номера. В данном примере для всех вызовов с IP-телефонов на маршрутизатор отображается вызывающий номер 5551234. Это верно и для вызовов между IP-телефонами. Для изменения вызывающего абонента только для звонков, выходящих из маршрутизатора в телефонную сеть общего пользования, используйте translation-profile с dial-peer pots, чтобы это не влияло на вызовы между IP-телефонами.
Полные инструкции настройки call-manager-fallback см. в разделе Включение профилей преобразования документа Cisco SRST V3.3: настройка обработки вызовов - руководство системного администратора Cisco IOS SRST версии 3.2.
Настройте правило преобразования голосовых данных, которому соответствует любой номер.
! voice translation-rule 1 rule 1 reject /^.*/ !--- Соответствует строке с любым номером и отклоняет вызов. ! ! Apply the rule to a translation profile for called, calling, or redirect-called numbers ! voice translation profile call_block translate calling 1 !--- Для определения отклоняемых вызовов по вызывающему абоненту !--- использует правило 1 преобразования голосовых данных. ! ! Include the translation profile within a dial peer definition. You can use incoming called-number to only match this dial peer at certain times ! dial-peer voice 100 pots !--- Это может быть любая адресуемая точка вызова, соответствующая нужному входящему вызову. incoming called-number 3927393 !--- Проверяет данную адресуемую конечную точку вызова для входящего вызова !--- из ТфОП, направляемого на указанный в строке номер. call-block translation-profile incoming call_block !--- Применяет профиль преобразования голосовых данных “call_block” !--- для входящих вызовов ТфОП, соответствующих данной адресуемой конечной точке вызова, !--- чтобы определить, какие вызовы следует отклонять. call-block disconnect-cause incoming call-reject !--- Для заблокированных вызовов устанавливает причину “call-reject”.
Настройка правила преобразования голосовых данных для блокирования нужных вызывающих абонентов. В данном примере используется 9193927393.
voice translation-rule 1 rule 1 reject /9193927393/ !--- Проверяет строку на соответствие заданному номеру и отклоняет вызов. ! ! Apply the rule to a translation profile for the calling number. You could also reject based on called or redirect-called numbers ! voice translation-profile call_block translate calling 1 !--- Для определения отклоняемых вызовов по вызывающему абоненту !--- использует правило 1 преобразования голосовых данных. ! ! Include the translation profile within a dial peer definition ! dial-peer voice 100 pots call-block translation-profile incoming call_block !--- Использует профиль преобразования голосовых данных “call_block” !--- для входящих вызовов ТфОП, соответствующих данной адресуемой конечной точке вызова, !--- чтобы определить, какие вызовы следует отклонять. call-block disconnect-cause incoming call-reject incoming called-number ая !--- Проверяет все входящие вызовы ТфОП на соответствие данной адресуемой конечной точке вызова. port 1/1:23
Настройка правила преобразования голосовых данных для блокирования нужных вызываемых абонентов. В данном примере используется 3927393.
! voice translation-rule 1 rule 1 reject /3927393/ !--- Проверяет строку на соответствие заданному номеру и отклоняет вызов. ! ! Apply the rule to a translation profile for the called number. You could also reject based on calling or redirect-called numbers ! voice translation-profile call_block translate called 1 !--- Для определения отклоняемых вызовов по вызываемому абоненту !--- использует правило 1 преобразования голосовых данных. ! ! Include the translation profile within a dial peer definition ! dial-peer voice 100 voip call-block translation-profile incoming call_block !--- Использует профиль преобразования голосовых данных “call_block” !--- для входящих вызовов ТфОП, соответствующих данной адресуемой конечной точке вызова, !--- чтобы определить, какие вызовы следует отклонять. call-block disconnect-cause incoming call-reject incoming called-number
voice translation-rule 1 rule 1 /\(.*\)/ /300/ !--- Проверяет на соответствие все строки номеров и заменяет их на 300. ! voice translation-profile my_profile translate called 1 !--- Для преобразования вызываемого номера использует правило 1 преобразования голосовых данных. ! dial-peer voice 1000 pots !--- Это может быть любая адресуемая конечная точка, соответствующая входящему вызову. translation-profile incoming my_profile !--- Использует профиль преобразования голосовых данных “my_profile” для входящих вызовов. direct-inward-dial incoming called-number . port 1/0:23 Router# Router#test voice translation-rule 1 5551234 Matched with rule 1 Original number: 5551234 Translated number: 300 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
voice translation-rule 1 !--- Проверяет на соответствие все строки номеров, начинающиеся на 498 и !--- заменяет эти три цифры на null (удаляет их). rule 1 /^498/ // ! ! voice translation-profile Voice !--- Для преобразования вызываемого номера использует правило 1 преобразования голосовых данных. translate called 1 ! dial-peer voice 225 pots translation-profile incoming Voice !--- Использует профиль преобразования голосовых данных “Voice” для входящих вызовов. direct-inward-dial port 1/0:23 Router#test voice translation-rule 1 4985555 Matched with rule 1 Original number: 4985555 Translated number: 5555 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
voice translation-rule 1 !--- Соответствует строке с любым номером и перед исходным номером добавляет 555. rule 1 // /555/ ! voice translation-profile prefix !--- Для преобразования вызываемого номера использует правило 1 преобразования голосовых данных. translate called 1 ! dial-peer voice 1 pots translation-profile incoming prefix !--- Использует профиль преобразования голосовых данных “prefix” для входящих вызовов. Router#test voice translation-rule 1 1234 Matched with rule 1 Original number: 1234 Translated number: 5551234 Original number type: none Translated number type: none Original number plan: none Translated number plan: none
voice translation-rule 1 rule 1 // // type unknown national plan unknown isdn !--- Проверяет на соответствие все строки номеров, в которых план и тип равны !--- unknown. При этом изменяет тип на national, а план на isdn. ! voice translation-profile isdn_map translate called 1 !--- Для преобразования вызываемого номера использует правило 1 преобразования голосовых данных. ! dial-peer voice 1 pots translation-profile outgoing isdn_map !--- Использует профиль преобразования голосовых данных “isdn_map” для исходящих вызовов. kearly01#test voice translation-rule 1 5551234 type unknown plan unknown Matched with rule 1 Original number: 5551234 Translated number: 5551234 Original number type: unknown Translated number type: national Original number plan: unknown Translated number plan: isdn
voice translation-rule 1 !--- Проверяет на соответствие строки номеров, начинающиеся на 4, и !--- вместо первой цифры 4 вставляет 9059514. !--- Ту же функцию выполняет для цифры 0. rule 1 /^4/ /9059514/ rule 2 /^0/ /9059510/ ! voice translation-profile Prefix !--- Для преобразования вызывающего номера использует правило 1 преобразования голосовых данных. translate calling 1 ! dial-peer voice 100 pots translation-profile outgoing Prefix !--- Использует профиль преобразования голосовых данных “Prefix” для исходящих вызовов.
voice translation-rule 29 !--- Проверяет на соответствие все строки номеров, начинающиеся на 9, и заменяет 9 на 29. rule 1 /^9/ /29/ ! voice translation-rule 39 !--- Проверяет на соответствие все строки номеров, начинающиеся на 9, и заменяет 9 на 39. rule 1 /^9/ /39/ ! voice translation-profile FXS29 !--- Для преобразования вызываемого номера использует профиль “FXS29” преобразования голосовых данных. translate called 29 ! voice translation-profile FXS39 !--- Для преобразования вызываемого номера использует профиль “FXS39” преобразования голосовых данных. translate called 39 ! voice-port 1/1/0 connection plar 8005 !--- Пересылает входящие вызовы напрямую на IP-телефон с номером 8005. ! voice-port 1/1/1 connection plar 8006 !--- Пересылает входящие вызовы напрямую на IP-телефон с номером 8006. ! dial-peer voice 110 pots !--- Поскольку вызовы с 8005, начинающиеся на 9, изменены так, !--- что начинаются с 29, все эти вызовы соответствуют данной адресуемой конечной точке вызова !--- и выходят из порта 1/1/0 (не в режиме SRST). destination-pattern 29T port 1/1/0 ! dial-peer voice 111 pots !--- Поскольку вызовы с 8006, начинающиеся на 9, изменены так, !--- что начинаются с 39, все эти вызовы соответствуют данной адресуемой конечной точке вызова !--- и выходят из порта 1/1/1 (не в режиме SRST). destination-pattern 39T port 1/1/1 ! dial-peer voice 1000 voip !--- В Cisco CallManager. preference 1 destination-pattern .T voice-class h323 1 session target ipv4:10.1.0.13 dtmf-relay h245-alphanumeric ip qos dscp cs5 media ! dial-peer voice 29 voip translation-profile incoming FXS29 !--- Проверяет на соответствие все вызовы с IP-телефона с номером 8005 и применяет !--- профиль FXS29 преобразования голосовых данных для изменения номеров, !--- начинающихся на 9 так, чтобы они начинались на 29. answer-address 8005 ! dial-peer voice 39 voip translation-profile incoming FXS39 !--- Проверяет на соответствие все вызовы с IP-телефона с номером 8006 и применяет !--- профиль FXS39 преобразования голосовых данных для изменения номеров, !--- начинающихся на 9 так, чтобы они начинались на 39. answer-address 8006
voice translation-rule 27 !--- Проверяет на соответствие все строки номеров, начинающиеся на 7, и заменяет 7 на 27. rule 1 /^7/ /27/ ! voice translation-rule 37 !--- Проверяет на соответствие все строки номеров, начинающиеся на 7, и заменяет 7 на 37. rule 1 /^7/ /37/ ! voice translation-profile FXS27 !--- Для преобразования вызываемого номера использует профиль “FXS27” преобразования голосовых данных. translate called 27 ! voice translation-profile FXS37 !--- Для преобразования вызываемого номера использует профиль “FXS37” преобразования голосовых данных. translate called 37 ! dial-peer voice 270 voip !--- Проверяет на соответствие вызываемый номер 27, !--- преобразуемый с порта 2/0. Чтобы при необходимости изменить номер обратно на 7, !--- можно использовать профиль преобразования. destination-pattern 27 session target ipv4:10.1.1.2 ! dial-peer voice 370 voip !--- Проверяет на соответствие вызываемый номер 37, !--- преобразуемый с порта 2/1. Чтобы при необходимости изменить номер обратно на 7, !--- можно использовать профиль преобразования. destination-pattern 37 session target ipv4:10.1.1.3 ! dial-peer voice 27 pots translation-profile incoming FXS27 !--- Проверяет на соответствие вызовы с порта 2/0 и применяет профиль !--- FXS27 преобразования голосовых данных чтобы изменить номера, начинающиеся на 7 так, чтобы они начинались на 27. port 2/0 ! dial-peer voice 37 pots translation-profile incoming FXS37 !--- Проверяет на соответствие вызовы с порта 2/1 и применяет профиль !--- FXS37 преобразования голосовых данных чтобы изменить номера, начинающиеся на 7 так, чтобы они начинались на 37. port 2/1
Некоторые команды show поддерживаются утилитой Output Interpreter (только для зарегистрированных пользователей), что позволяет выполнять анализ выходных данных команды show.
Для проверки работы правила можно использовать команду test voice translation-rule.
Для проверки функциональности правила преобразования команду test voice translation-rule следует использовать в привилегированном режиме EXEC.
test voice translation-rule number input-test-string [type match-type [plan match-type]]
Синтаксис |
Описание |
---|---|
number |
Задает номер проверяемого правила преобразования. Диапазон находится в пределах от 1 до 2 147 483 647. |
input-test-string |
Строка, проверяемая правилом преобразования. |
type match-type |
(Необязательно) Тип номера вызова. Для аргумента match-type используются следующие значения:
|
plan match-type |
(Необязательно) План номера вызова. Для аргумента match-type используются следующие значения:
|
Пример:
voice translation-rule 1 rule 1 /^555\(....\)/ /444\1/ rule 2 /777/ /888/ type national unknown plan any isdn kearly01#test voice translation-rule 1 5551234 Matched with rule 1 Original number: 5551234 Translated number: 4441234 Original number type: none Translated number type: none Original number plan: none Translated number plan: none kearly01#test voice translation-rule 1 7771234 7771234 Didn't match with any of rules kearly01#test voice translation-rule 1 7771234 type national plan isdn Matched with rule 2 Original number: 7771234 Translated number: 8881234 Original number type: national Translated number type: unknown Original number plan: isdn Translated number plan: isdn
В данной проверке используется следующее правило преобразования:
Примечание: Также пригодятся команды show voice translation-rule и show voice translation-profile.
kearly01#show voice translation-rule 1 Translation-rule tag: 1 Rule 1: Match pattern: ^555\(....\) Replace pattern: 444\1 Match type: none Replace type: none Match plan: none Replace plan: none Rule 2: Match pattern: 777 Replace pattern: 888 Match type: national Replace type: unknown Match plan: any Replace plan: isdn kearly01#show voice translation-profile Translation Profile: mytranslation Rule for Calling number: Rule for Called number: 1 Rule for Redirect number:
В данном разделе описывается процесс поиска и устранения неисправностей конфигурации.
Примечание: Перед использованием команд debug ознакомьтесь со статьей Важная информация о командах отладки.
С этим правилом преобразования воспользуйтесь debug voice translation, после чего снова запустите команду test voice translation-rule.
kearly01#test voice translation-rule 1 7771234 7771234 Didn't match with any of rules *Apr 4 14:44:31.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: No match; number=7771234 rule precedence=1 *Apr 4 14:44:31.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: Error: type didn't match; in.type=0x9 rule.type = 0x2 *Apr 4 14:44:31.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: No match; number=7771234 rule precedence=1 *Apr 4 14:44:31.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: Error: type didn't match; in.type=0x9 rule.type = 0x2test voice trans
В ходе отладки отображается несоответствие правила. После изменения типа и плана соответствие для правила начинает выполняться:
kearly01#test voice translation-rule 1 7771234 type national plan isdn Matched with rule 2 Original number: 7771234 Translated number: 8881234 Original number type: national Translated number type: unknown Original number plan: isdn Translated number plan: isdn *Apr 4 14:44:51.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: No match; number=7771234 rule precedence=1 *Apr 4 14:44:51.665: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: No match; number=7771234 rule precedence=1 *Apr 4 14:44:51.669: //-1/xxxxxxxxxxxx/RXRULE/regxrule_match: No match; number=7771234 rule precedence=1 *Apr 4 14:44:51.669: //-1/xxxxxxxxxxxx/RXRULE/sed_subst: Successful substitution; pattern=7771234 matchPattern=777 replacePattern=888 replaced pattern=8881234 *Apr 4 14:44:51.669: //-1/xxxxxxxxxxxx/RXRULE/regxrule_subst_num_type: Match Type = national, Replace Type = unknown Input Type = national *Apr 4 14:44:51.669: //-1/xxxxxxxxxxxx/RXRULE/regxrule_subst_num_plan: Match Plan = any, Replace Plan = isdn Input Plan = isdn