Alvis Gateway/Routing
Contents
Введение в маршрутизацию Alvis
Маршрутизация в Alvis заслуживает отдельного описания. Мы постарались сделать ее одинаково удобной как профессионалам Asterisk, так простым установщикам УПАТС.
Доступны 2 режима настройки маршрутизации: Asterisk Style и Визуальный Gateway Style.
- Для профи Asterisk доступен режим полного доступа к dialplan Asterisk.
- Визуальный режим маршрутизации Gateway Style более привычен установщикам УАТС, он напоминает ARS Panasonic.
Возможен и комбинированный режим - часть диалплана создается визуально, а часть - пользовательскими конфиг-файлами диалплана Asterisk. В этом случае важно не редактировать генерированный автоматически extensions_gateway.conf (он будет перезаписан при следующих изменениях визуальной части), а переместить всю кастомизацию в extensions_custom.conf и сделать его include в extensions.conf.
Gateway Style - описание элементов настройки
Config style / Visual style - выбор вида отображения диалплана. В режиме Config Style редактировать нельзя, но можно посмотреть, что получилось в Asterisk в результате.
Ниже представлена таблица, каждая строка ее содержит направление маршрутизации.
Столбцы таблицы маршрутизации:
Enable: При включенной строке (отмечен Enable) данная строка добавляется в dialplan. Source - канал источник. Может быть либо поток E1, либо SIP-пир, либо контексты Asterisk. Dial pattern - Маска набираемого номера согласно правилам Asterisk.
Наиболее часто употребимые маски номеров абонента B: X. - все номера произвольной длины 9X. - все номера произвольной длины, начинающиеся на 9 XXXXXX - все 6-значные номера 1XX - все трехзначные номера от 100 до 199 [1,3-5]XX - номера 100-199 и 300-599.
Также следует помнить, что через '/' можно указать маску и по номеру A. В этом случае фильтрация осуществляется сразу по обоим номерам (A и B): Правила в этом случае аналогичные. Например:
XXXXXX/109 - все шестизначные номера, набираемые с номера 109.
Destination - канал получатель.
Могут быть также поток E1, SIP-пир, Context Sip Peers (общий контекст телефонов). Также есть Hangup Calls для блокирования направления. Например: Dial pattern 810X., Destination: Hangup Calls - блокировать все международные звонки.
Средствами маршрутизации Alvis возможно модификация номера B:
Prefix - впереди номера можно добавить префикс, например 9
Cut from dial - кол-во цифр, которые нужно вырезать в начале номера.
Примечание!
В поле Prefix можно явным указать PRI Dialplan для конкретного направления маршрутизации.
Для этого укажите:
* U - Unknown * I - International * N - National * L - Local (выбирается сетью) * S - Subscriber * V - Abbreviated * R - Reserved
Также доступно явное указание битов NPI:
* u - Unknown * e - E.163/E.164 (ISDN/telephony) * x - X.121 (Data) * f - F.69 (Telex) * n - National * p - Private * r - Reserved
Аналогичным образом можно задавать и для локальной стороне в поле Caller ID Substitution. Например: S${CALLERID(num)} - задать явным образом PRI Local Dialplan в виде Subscriber
Поля диалога колонки Advanced
Биты NPI можно также указать в диалоге, открывающимся по ссылке в колонке Advanced.
Кроме этого, там есть возможность задания команд, выполняемых до Dial. Это бывает полезно для отладки, например если добавить там:
- Noop(Calling from ${CALLERID(num)} to {$XTEN}) - в консоле будет показаны номера A и B для звонка. По ним удобно отслеживать правильность прохождения звонков при заданной схеме таблицы маршрутизации.
- Goto(some-custom-file-context,${EXTEN},1) при Destination Hangup Calls. В данном случае отфильтрованные звонки будут обрабатываться в отдельном пользовательском контексте Asterisk. Полезно для контекста IP-телефонов (переадресация, фильтрация, схемы дозвона).
Также возможна модификация номера A (CID):
CallerID substitution - здесь можно указать заменяемый номер. В качестве заменяемого номера возможно указание выражения Asterisk.
Например: 9${CALLERID(num):1} - в данном примере первая цифра CID заменяется на 9.
Приоритет направлений маршрутизации
Наивысшим приоритетом обладают Source и Destination. Именно эти поля формируют контексты Asterisk.
Строки диалплана выполняются по принципу сверху-вниз. При наличии одинаковой маски номера сначала выполняется более верхняя строка, затем по порядку нижние. Это позволяет довольно просто реализовывать схемы резервирования (Fail Over): если звонок не удался по первому направлению, он будет выполнен по следующим.
Рекомендуется располагать наиболее глобальные маски номеров ниже. В самую последнюю очередь вида X.