понедельник, 4 марта 2013 г.

IP-телефон в каждый дом. (Часть 2.)

 

voipВ первой части мы с вами разработали стратегию внедрения VoIP в домашнюю телефонию, и начали настройку нашей телефонной сети. Следующим нашим шагом будет:

Создание правил маршрутизации звонков.

 

Но сперва – небольшое лирическое отступление.

Шаг 2. Прежде чем создавать правила направлений звонков, давайте рассмотрим особенности набора номера в обычной телефонии и в VoIP. Одной из особенностей IP-телефонии является ненормируемая длина телефонных номеров. Например, DVG-7111S позволяет использовать номер длиной до 30-ти цифр (“Max. Dial Length” по умолчанию – 25, см. рис. 3). В отличие от аналоговых АТС, VoIP-шлюз (или IP-телефон) ждёт набора первой и каждой последующей цифры определённое время, которое задаётся в “Advanced -> VoIP -> DTMF & Pulse” параметрами “Dial Wait Timeout” и “Inter Digits Timeout” соответственно (рис. 2).

DVG-7111S_Шаг2_Рис2

Рис. 2. Advanced -> VoIP -> DTMF & Pulse.

По умолчанию они равны 10 и 4 секундам. Это означает, что после поднятия трубки первая цифра номера должна быть набрана в течение 10 секунд, и каждая последующая – в течение 4-х. Если после набора очередной цифры пауза будет больше 4-х секунд, шлюз “решит”, что номер полностью набран и отправит этот набор цифр согласно настроенной маршрутизации на IP-АТС или PSTN (Line/FXO) порт. Чтобы не происходило ложных срабатываний (отправки неполностью набранных номеров), необходимо увеличить значение “Inter Digits Timeout”, допустим, до 7 секунд. Однако, после набора последней цифры, шлюз ждёт набора следующей в течение этих же 7 (или 4 по умолчанию) секунд, т.к. он не “знает”, что номер нами набран уже полностью. Чтобы избежать этого ожидания очередной цифры, когда номер уже набран, используется спецсимвол # (решётка). Данная опция включена по умолчанию, и нажатие # указывает шлюзу на окончание набора номера абонентом. Так как набор лишнего символа противоречит основному условию 2 – исходящие звонки для абонента должны быть прозрачными, то в Шаге 3 я покажу, как это обойти.

Так же на этой web-страничке (рис.2) нас интересует пункт: “FXO Dial Type”. С его помощью нужно выбрать импульсный (Pulse) или тоновый (DTMF) способ набора номера в телефонную линию. Он зависит от возможностей телефонной станции, к линии которой вы подключены. Также требуется включить пункт “Enable Out-of-Band DTMF”.

Создание направлений звонков.

Шаг 3. Вернёмся к нашему ТЗ, которое мы сформулировали в первой части статьи. Разделим звонки по направлениям согласно пунктам задания 1, 2 и 4. Для этого перейдём на страницу web-интерфейса “Advanced -> VoIP -> Digit Map”.

Суть этой настройки в том, что с помощью первых цифр номера – префикса – можно организовать автоматическую маршрутизацию исходящего звонка по различным направлениям. Попробуем автоматизировать процесс набора номера, т.е. сделать работу шлюза максимально прозрачной для звонящего абонента. Разберём свой номерной план на примере г. Киева. (Хочу напомнить, что для различных регионов он может отличаться.) Итак, все городские киевские номера начинаются с цифры 2-5 и состоят из семи цифр. Короткие номера спец. служб – трёхзначные и начинаются с 1ХХ. Ещё есть четырёхзначные номера, две первых цифры которых – 15ХХ. Мобильные и междугородние номера – 10-значные и начинаются с цифры 0, а международные начинаются с 00 и являются 13-значными. Особняком стоят номера VoIP-провайдера. Например, у оператора sipnet – это семизначные номера, начинающиеся с цифры 2-3 и т.д. Это значит, что номерной план данного VoIP-про­вай­де­ра полностью пересекается с местным телефонным номерным планом. Чтобы их различать придётся ввести уникальный префикс, например цифру 9 для номеров IP-телефонии. Заполним таблицу маршрутизации (Digitmap) согласно киевскому номерному плану. Обратимся к скриншоту на рис. 3.

DVG-7111S_Шаг3_Рис3

Рис. 3. Настройка “Цифровой карты” (Digit Map) или таблицы маршрутизации.

Правила заполнения таблицы маршрутизации (синтаксис цифровой карты) очень хорошо описаны в документации, поэтому я остановлюсь только на некоторых тонкостях настройки. Все исходящие звонки должны направляться либо через аналоговый FXO-порт, либо по IP. Исключением являются международные звонки. Провайдер IP-телефонии может требовать (так часто и бывает) представление номера с дополнительным префиксом, например 11. В моём примере международный звонок обработается так: если номер начинается с 00, то в первую очередь он направляется по VoIP-маршруту с префиксом 1100, и, если возвращается ошибка (например, отсутствует соединение с локальным интернет-провайдером), то номер передаётся на порт FXO (PSTN) с префиксом 00 и звонок совершается через городскую телефонию. Для абонента, совершающего звонок, выбор направления происходит совершенно прозрачно.

Номер, начинающийся с 9, будет направлен только в IP-сеть.

Так как нам известно количество цифр во всех номерах, то мы можем указать соответствующие значения в поле “User Dial Length”, после чего отключаем реакцию на нажатие # -  снимаем галочку “Enable Pound Key ' # ' Function”. И, в дополнение, отключаем маршрутизацию по умолчанию: “Default Call Route: Deny”, т.е. любая комбинация цифр, отличная от описанной в “Digitmap” будет отвергнута.

И так, условия “дружелюбности” к абоненту мы соблюли, и пункты задания выполнили. Попробуйте прописать настройку таблицы маршрутизации согласно своим требованиям. Например, вы подключаетесь к офисной IP-телефонии с 3-х или 4-хзначным номерным планом.

В третьей заключительной части я расскажу о настройке маршрутизации входящих звонков и раскрою сюрприз, который обещал в первой части.

А. Никитин