Манипуляция номерами нужна в практически любой телефонной станции имеющей подключение к внешнему миру.
В данной статье мы рассмотрим возможности по манипулированию номерами у маршрутизаторов Cisco с CUCME или у маршрутизаторов выполняющих функцию голосового шлюза.
Самый простой пример необходимости использования шаблона - это сделать выход в город через 9-ку, т.е. все номера, начинающиеся с 9-ки нужно отправлять на городской шлюз.
Рассмотрим какие шаблоны можно использовать:
| Шаблон (Wildcard) | Описание |
| Period (.) | Точка соответствует любому набранному символу 0 - 9, например 30.. соответствует любым номерам начиная от 3000 до 3099 |
| Plus (+) | Соответствует одному и более повторению предыдущего символа, например: 6+345 соответствует 66345, 666345, 6666345 и т.д. до общейдниы не более 32 символов. |
| Brackets ([]) | Квадратными скобками можно задать диапазон, например [1-3]47 соответствует 147, 247, 347. |
| T | Соответствует любому последующему символу и любому их количеству (от 0 до 32 символов) |
| Comma (,) | Добавление запятой добавляет паузу в 1 секунду между набираемыми цифрами. |
Примеры использования квадратных скобок
| 333[1-3]... | Соответствует набираемым номерам, начинающимся с 333, имеющим 1 или 2 или 3 как четвертую цифру и и заканчивается любыми тремя цифрами |
| [14-6]444 | Соответствует набираемым номерам, где первая цифра 1, 4, 5, 6 и последние три цифры 444 |
| 11[56]12 | Соответствует набираемым номерам, где первые две цифры 11, третья цифра 5 или 6 и последние две цифры 12 |
| [^1-7]..[135] | Соответствует набираемым номерам, первая цифра не является 1-7, вторая и третья цифры - любые, последняя цифра 1 или 3 или 5 |
Выход в город обеспечивается несколькими шаблонами, их еще называют PSTN Dial Plan.
С первого взгляда выход в город можно сделать простым шаблоном 9T. Проблема тут в том, что шаблон T соответствует номеру длиной до 32 символов. Поэтому после набора к примеру 7-ми значного московского номера, система будет ждать дальнейших цифр в течение 10 секунд (T302 timer) и только после этого отдаст номер на PSTN.
Поэтому на практике стараются явно обозначить длину ожидаемого номера.
Пример PSTN Dial Plan для выхода в город в Москве
| 9....... | Выход в город |
| 98.......... | Выход в межгород и на мобильные |
| 9810T | Выход на международную связь |
В виде диалпиров это будет выглядеть следующим образом:dial-peer voice 910 pots
description Local Calls
preference 4
destination-pattern 9.......
port 1/0/8
dial-peer voice 808 pots
description National Calls
preference 2
destination-pattern 98..........
port 1/0/8
forward-digits 11
dial-peer voice 809 pots
description International Calls
preference 2
destination-pattern 98011T
port 1/0/8
prefix 8011
Вообще, следует отметить, что бывают диалпиры двух типов:
У pots есть свойство автоматически "откусывать" явно заданные цифры из шаблона. Поэтому в 910-м диалпире 9-ка будет откусана автоматом.
С остальными двумя диалпирами есть проблема, т.к. в 808-м нам нужно сохранить 8-ку, а в 809-м нужно сохранить 8011.
Здесь нам помогут следующие две команды:
forward-digits
Таким образом, в 808-м диалпире, если считать справа, попадет 8.......... и от общего номера откусится только 9-ка.
prefix
Это очень полезно для 809-ого диалпира. Там используется международные номера и в конце указана T, т.е. номер допускается переменной длины, в результате чего команда forward-digits в данном случае бесполезна.
Что происходит при использовании prefix 8011: от номера система откусывает явно указанные цифры 98011, но затем мы слева добавляем 8011 и отдаем получившийся номер в город.
Для более тонких преобразований можно использовать Translation Profiles. Более того, с помощью них можно сделть все что делается через forward-digits или prefix.
Создание Translation Profiles включает три этапа: