Оригинал с кооментариями

DialPlan в устройствах Linksys

В последнее время часто встречаю вопросы, которые касаются настройки диалплана в устройствах Linksys. Это связано со сложным форматом данного параметра. Мне даже позвонили из Питера, когда я был ещё в больнице. Совсем недавно был вопрос на форуме, потом написали в ICQ. В общем я решил один раз сделать большую работу, чтобы потом облегчить мучения других и свои тоже. Ниже, как вы могли догадаться последует описание диалплана устройств Linksys и примеры применения.

Диалплан отвечает в Linksys за обработку набранного пользователем номера. За основу применяемого формата взят формат описанный в спецификации MGCP/MEGACO. Этот параметр настройки применяется на всей линии устройств, пожалуй кроме SPA400, который, кажется, имеет совершенно иную от остальных основу. Не держал в руках, так что могу ошибаться.

Диалплан представляет из себя последовательность шаблонов, разделённых вертикальной чертой '|' и ограниченных круглыми скобками. Для каждой линии может задаваться свой диалплан (параметр Dial_Plan). Для устройств, где присутствуют FXO порты (например, SPA3102 и AG310), настроек с диалпланами гораздо больше (по 2 на каждый PIN, используемый для авторизации), в названиях есть аббревиатура DP, перечислять не буду. Есть ограничение на длину параметра, что-то около 256 или 128 символов, сейчас не могу найти точную информацию.

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

Запись последовательности цифр

Основой записи являются обозначения для записи последовательности набранных цифр. Последовательность цифр записывается с помощью нескольких обозначений:

Цифры набираемые с клавиатуры телефона: 0, 1, 2, 3, …, 9, # и *. Заметьте, что использование символа # в диалплане может блокировать завершение набора с помощью этой клавиши.

Последовательность цифр, заключённая в квадратные скобки, соответствует любому из заключённых в скобки символу.

Пр.: ([1239]) — соответствует любой из цифр 1, 2, 3 или 9

Через тире может быть указан диапазон символов. Чаще всего используется внутри квадратных скобок.

Пр.: (1-5) — любая цифра от 1 до 5, ([1-39]) — пример из прошлого пункта, но записанный по-другому

Символ X соответствует любому числу от 0 до 9

Пр.: (1XX) — любой трёхзначный номер, начинающийся на 1

Если после символа поставлена точка, то считается, что этот символ может быть повторён любое количество раз (больше нуля)

Пр.: (810X.) — международный номер, с любым количеством цифр

Настройки, влияющие на обработку диалплана

Interdigit Long Timer — время ожидания ввода следующей цифры в том случае если нет подходящих под набранную комбинацию шаблонов

Interdigit Short Timer — время ожидания ввода следующей цифры, если есть один или более подходящий шаблон

Enable IP Dialing — разрешает использование в диалплане так же и прямых адресов для набора номера, примеры ниже.

Дополнительные возможности:

Замена набранной последовательности. Синтаксис: <arg1:arg2>. Возможность позволяет заменить набранную последовательность на любую последовательность набираемых символов. При этом второй аргумент должен быть указан определённым значением, оба аргумента могут быть пустыми.

Пр.: (<83812:> XXXXXX) — данная запись будет соответствовать набранным цифрам 83812, но эта последовательность будет опущена и передана на SIP сервер не будет.

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

Пр.: (8, 770) — при наборе номера 8770 после цифры 8 будет выдан непрерывный тон

Запрет набора номера. Если в конце шаблона номера добавить восклицательный знак '!', то набор номеров, соответствующих шаблону будет заблокирован.

Пр.: (8 10X xxxxxxx ! | 8 xxx xxxxxxx ) — разрешает набор только междугородних номеров и исключает международные вызовы

Замена значений таймеров набора номера. Значения таймеров могут быть назначены как для всего диалплана, так и для определённого шаблона.

Буква S отвечает за установку Interdigit Short Timer, а L — Interdigit Long Timer

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

Пр.: S:4, (8XXX.) или S:4,L:8 (XXX)

Если эти значения указаны только в одной из последовательностей, то действуют только для неё. Так же в этом случае не надо ставить двоеточие между ключём и значением таймаута, значение может быть расположено в любом месте шаблона.

Пр.: (S4 8XXX. | XXX) или ([1-5] XX S0) — вызовет мгновенную передачу вызова при наборе трехзначного номера, начинающегося на 1,2, … , 5.

Так же в некоторую последовательности может быть вставлена пауза (ключ P)

Набор по прямому адресу (IP Dialing)

Символ @ поставленный после номера означает что далее будет указан адрес сервера, на который будет отправлен вызов на набранный номер. Лучше всего, если используется IP Dialing разрешить так же приём и передачу вызовов без регистрации (Call Without Reg, Answer Without Reg). Может помочь в случае отказа сервера

Для шлюзов SPA3102 вместо адреса может быть использовано ключевое слово gw0, тогда вызов пойдёт через PSTN линию. Адреса gw1, … , gw4 используются для шлюзов заданных в Gateway1-4. Так же для авторизации на серверах прямо в диалплане могут быть указаны параметры usr, pwd, nat.

Кроме того формат адреса с IP Dialing может быть использован в номерах, предназначенных для переадресации звонков.

Примеры:

( 8 xxx xxxxxxx ) — 11-значный номер, начинающийся на 8.

( 8 xxx xxxxxxx | <:8495> xxxxxxx ) — 11-значный номер, начинающийся на 8, если введён 7-ми значный, то добавить к передаваемому номеру 8495. Очень удобно делать набор локальных номеров через SIP провайдера вроде SIPNET.

( 0[123] | 8 [2-9]xx [2-9]xxxxxx ) — набор номеров экстренных служб, а так же некоторого странного набора междугородних номеров

( S0 <:82125551234> ) — быстрый набор указанного номера, аналог режима хотлайн на других шлюзах

( P5 <:1000> | xxxx ) — такой диал-план позволяет набрать любой номер, состоящий из цифр, а если ничего не введено в течении 5 секунд вызвать номер 1000 (пусть это будет секретарь)

Звонить с первой линии на вторую линию устройства: (<02:3463463@192.168.254.254:5061>). С учётом что аккаунт на второй линии 3463463, устройство настроено с использованием указанного IP адреса и номером порта на второй линии.

Оригинал с кооментариями