Сегодня пришлось малость переделать DialPlan в 2102 но как-то подзабыл что за то отвечает.
Поэтому для памяти взял у IGORG
Оригинал
Диалплан представляет из себя последовательность шаблонов, разделённых вертикальной чертой '
|' и ограниченных круглыми скобками. Для каждой линии может задаваться свой диалплан (параметр
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 — разрешает использование в диалплане также и прямых ip-адресов для набора номера, примеры ниже.
Дополнительные возможности:
- Замена набранной последовательности. Синтаксис: <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 адреса и номером порта на второй линии.