• Авторизация


Cisco voice translation-rule 28-04-2005 14:11 к комментариям - к полной версии - понравилось!


Попытка постепенно обобщать знания добытые разными путями.
Зачем? Ведь все есть давно на opennet.ru - логично, но для меня это еще будет выполнять функцию своей базы знаний. Кроме этого статейки будут иметь менее технический характер.

Предупреждаю сразу - все что здесь написано имеет чисто ознакомительный характер и не претендует на высокоинтелектуальный труд, что подразумевает наличие ошибок как граматических так и технических.

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

Все что будет написано более полно изложено на вот этой страничке, но на буржуйском языке:
http://cisco.com/en/US/tech/tk652/tk90/technologies_tech_note09186a0080325e8e.shtml

Роль пушистого и ласкового зверька "кошка" у нас будет исполнять шлюзик "cisco AS5300", это название более сдержаное чем например "сиська". Хотя не во всех случаях зверьки от фирмы cisco такие же пушистые и ласковые как их однофамильцы, обитающие в наших теплых квартирках. Иногда эти шлюзики все таки хочеться назвать "сиськой" иногда и похуже приходят слова в голову, ну да ладно, небыло бы проблем скучно было бы жить.


И так все мы знаем, что на входящий войсовый диалпир мы можем повесить translation-profile
Делается это просто
dial-peer voice voip
translation-profile incoming
incoming called-number T

(вы же не забыли перейти в конфигурационный режим?, например командой "conf t")

Хе-хе, наш любимый шлюзик, который мы лелеем с трепетом, не ругнется на то, что мы ввели не существующий profile-name, так что будьте внимательны дорогие детишечки.
Естественно желательно предварительно создать этот самый incoming-profile. Но, для достижения поставленной цели нам понадобиться создать translation-rule. Вот тут и начинается самое интересное!!!


Как гласит кошкин мануал, в моем вольном переводе, делать их надо приблизительно так:
voice translation-rule
rule приоритет /шаблон совпадения/ /шаблон замены/


(маленькое пояснение. Слово "СОВПАДЕНИЕ" и все слова которые от него происходят, для простоты заменим словом "МАТЧИНГ". Отсюда вывод, что фразка "шаблон совпадает" перерастает в более изящную "шаблон матчицца" - не правда ли выглядит как то более по пацански, по нашенски?)

Попытаемся разобраться с этими самыми шаблонами.
These tables define wildcard and wildcard combinations and shows some examples.

. Любая ода цифра
0 to 9,*,# Любой символ (ну или почти любой)
[0-9] Любой набор символов
* Шаблончик который означает любое количество вхождение символов даже пустое множество.
+ Тоже самое но количество символов не меньше одного.
? Любой символ но один или вобще не одного.
вот парочка примерчиков кошкинских
.* Любая последовательность, вообще любая....
.+ Любая не нулевая последовательность
^$ Нулевая последовательность.

Для общего ознакомления не помешает знать, что:
"^" - вот этот не замысловатый значёк обозначает ни что иное как то, что наш шаблон может матчица только в начале строки
"$" - а вот этот полная противоположность предидущему - шаблон может матчицца только в конце строки
Строка в данном случае подразумевает последовательность цифр телефонного номера.
Т.е. делаем вывод - если не указан ни один из этих символов в "шаблоне совпадения" (блин... коряво как то...) то кошка заменит первое попавшийся матчинг.

Вот несколько примерчиков кошкинских.
вот наиболее общая рулька
voice translation-rule 1
rule 1 /123/ /456/

вот что она сделает с номером 1234
router# test voice translation-rule 1 1234
Matched with rule 1
Original number: 1234 Translated number: 4564

но, если мы вдруг захотим что-бы последовательность "123" меняло только в начале строки, нам надо будет изменить рулькку приблизительно так
voice translation-rule 1
rule 1 /^123/ /456/

и тогда в номере "777123666" или "777123" наша рулька ничего не изменит. :)
аналогичная ситуация и с символом "$", только поиск для матчинга будет только в конце.
Можно привести еще кучу примеров использование шаблонов, что мы и сделаем но потом.

А сейчас еще один оччччччень интересный момент, оказыывается можно матчить, а потом изменять строку по кускам!
Замечательная я вам скажу штука!
Общее правило приблизительно такое:
/ (a\) b\ (c\) / /w\1\2/
a - у нас асоциируется с первым кусочком
b - пропускаем
c - асоциируется со вторым кусочком
т.е. номер на который произойдет замена будет состоять из "wac"

и наши кусочки будут вставлены соответствено \1 и \2
Общая теория такова:

\ В шаблоне который должен совпасть этот символ означает границу куска
\ В шаблоне на который мы собираемся заменить этот символ означает, что туда скопируется кусок.
( ) Указывает, что выделенный шаблон надо сохранить.
Пример:
(a\) Сохранить выражение "a".
b\ Игнорировать выражение "b".
\1 Копировать первый по номеру кусочек в шаблоне на который мы хотим заменить.

Вот наглядный пример из кошкиного мануала:
voice translation-rule 1
rule 1 /^\(12\)3\(45\)$/ /6\1\2/
поясним, что все что в скобка у нас нумеруемые кусочки, все что вне скобок игнорируется.
Получилось, что
"12" - это первый кусочек
"45" - это второй кусочек.
т.е. наша рулька из номера 12345 выкинет "3" и в начало добавить "6"
дожно получиться типа "61245"

Хе-хе! вот такая интересная вещь. По мере совершенствования данного материала, я попытаюсь добавить и более живые примеры.

ИТОГ
общая структура для создания правил по управлению звонком будет такая:
создали voice translation-rule
создали voice translation-profile
вписали translation-profile в наш dial-peer.

Завтра усугубим ситуацию добавлением примеров из жизни.
вверх^ к полной версии понравилось! в evernote
Комментарии (1):
Leslie16 28-04-2005-18:31 удалить
Честно говоря, мне из этого текста вообще ничего не было понятно, но написано умным языком, что прибавляет тебе огромный плюс! :)


Комментарии (1): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Cisco voice translation-rule | oOoXiD - Сетевик-затейник oOoXiD | Лента друзей oOoXiD / Полная версия Добавить в друзья Страницы: раньше»