Alvis Gateway/Routing

From GarantPlus Alvis Wiki
Jump to: navigation, search

Введение в маршрутизацию 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.