Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Тут указываем или ip в поле Хост/порт. Или идентификатор ( поля в radius).  По нему происходит поиск nas. 

 

Режимы поиска аккаунта

Вначале в конфигурации модуля мы задаем возможные режим поиска аккаунта в модуле.

Блок кода
languageruby
radius.search.mode.pattern.<уникальный код>.rule=<Название атрибута>=<PHONE|LOGIN>

Где PHONE это номер телефона из аккаунта, а   LOGIN - логин.

Например 

Блок кода
languageruby
radius.search.mode.pattern.1.rule=Calling-Station-id=PHONE
radius.search.mode.pattern.2.rule=Called-Station-id=PHONE
radius.search.mode.pattern.3.rule=User-Name=PHONE
radius.search.mode.pattern.4.rule=User-Name=LOGIN

Потом мы задаем уже в конфигурации устройства(или типа устройства)  как эти режимы будут применяться на устройстве :

Блок кода
#режим поиска при авторизации 
radius.auth.search.mode.order=exp[,exp]
#режим поиска при аккаунтинге
radius.acc.search.mode.order=<code>:<type>,<code>
exp[,exp]
#режим поиска для оператора
radius.oper.search.mode.order=<code>:<type>,<code>exp[,exp]

Где exp имеет вид

Блок кода
languageruby
code[:type]

...

Блок кода
languageruby
radius.auth.search.mode.order=3
radius.acc.search.mode.order=1:1,2:2,3:1

Так же еще есть настройка, указывается в типе устройства 

Блок кода
languagegroovy
radius.search.mode.device.deep=1

Она означает что надо искать аккаунт не только на устройстве NAS, но и сразу его потомков. 

Определение типа звонка

Для определения типа звонка(входящий или исходящий) есть вот такие настройки :

Блок кода
languageruby
#входящие  при авторизации
radius.auth.in=voip/originate
#исходящие при авторизации 
radius.auth.out=voip/answer
#входящие  при accounting-е
radius.acct.in=voip/originate
#исходящие  при accounting-е
radius.acct.out=voip/answer


Для определения направления типа используются атрибуты h323-call-type и h323-call-origin(эти параметры можно поменять на другие в настройке, описанной выше)  из RADIUS-запроса. Значения этих атрибутов, соответствующие каждому типу звонка, необходимо указать через дробь и в нижнем регистре (даже если в запросе указан верхний регистр). В этом случае авторизационные запросы с атрибутами h323-call-type=Voip h323-call-origin=originate будут считаться исходящими, h323-call-type=Voip h323-call-origin=answer входящими. Еще есть специальное значение all . Например вот так можно указать что все вызовы идут как исходящие 

Блок кода
languageruby
radius.auth.out=all/all
radius.acct.out=all/all

Так же любой из атрибутов может быть пустым. Например

Блок кода
languageruby
radius.auth.in=/incoming

 

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

Все эти 3 способа  способа определения типа звонка направления комбинируются между собой(!!!).

 

Так же еще есть настройка, указывается в типе устройства 

Блок кода
languagegroovy
radius.search.mode.device.deep=1

Она означает что надо искать аккаунт не только на устройстве NAS, но и сразу его потомков. 

Следующим образом:

Для access:

  1. Определяем типа звонка на основе опций описанных выше( radius.auth.in, radius.auth.out, radius.acct.in, radius.acct.out).
  2. Если есть скрипт обработки процессора протокола, то он может установить тип звонка. 
  3. При поиске account-а если мы указали направление в опции, то они  используется.
    Тут есть небольшое отличие как работает обработка access и accounting. Для access мы просто находим первый режим, для которого прошла авторизация. Для accounting при нахождении нескольких режимов, для каждого из них содается отльная сессия.
    Это сделано  для того, когда в случае звонка абонент-абонент, создать исходящую сессию на одном абоненте и исходящую на другом. 

 

В конфигурации устройства указываем 

...