Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 14 Следующий »

Для настройки NAS мы должны вначале добавить тип устройства и устройство данного типа(ссылки!).

В типе устройства может быть указан Обработчик процессора протокола.  

В настройке типа в  первую очередь надо указать код вендора

#по умолчанию cisco так как большинcтво параметров оттуда.
vendor.code=9

Это параметр по умолчанию(если не указан) имеет значение 9(Cisco). 

Еще нужно указать ряд radius-параметров, которые используются в логике работы модуля . Все они имеют вид 

radius.attr.X.vendor=
radius.attr.X.code=

Где в первой строке указывают vendor, во второй code утрибута, X - это имя атрибута. 

Все эти атрибуты имеют значение по умолчанию:

 
########H323-credit-time########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.credit.time.vendor=
#по умолчанию используется H323-credit-time из вендора Cisco
radius.attr.credit.time.code=102
 
########H323-return-code########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.error.vendor=
#по умолчанию используется H323-return-code из вендора Cisco
radius.attr.error.code=103
 
######## H323-credit-amount########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.credit.amount.vendor=
#по умолчанию используется H323-credit-amount из вендора Cisco
radius.attr.credit.amount.code=101 

 
######## Acct-Session-Id ########################
#по умолчанию берется значение -1(это стандартные атрибуты)
radius.attr.identifier.vendor=-1
#по умолчанию используется стандартный атрибут Acct-Session-Id 
radius.attr.identifier.code=44
 
######## Calling-Station-Id ########################
#по умолчанию берется значение -1(это стандартные атрибуты)
radius.attr.calling.station.id.vendor=-1
#по умолчанию используется стандартный атрибут Calling-Station-Id 
radius.attr.calling.station.id.code=31
 
######## Called-Station-Id########################
#по умолчанию берется значение -1(это стандартные атрибуты)
radius.attr.called.station.id.vendor=-1
#по умолчанию используется стандартный атрибут Called-Station-Id
radius.attr.called.station.id.code=30
 
######## H323_call_type########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.call.type.vendor=
#по умолчанию используется H323_call_type из вендора Cisco
radius.attr.call.type.code=27
 
######## H323-call-origin########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.call.origin.vendor=
#по умолчанию используется H323_call_origin из вендора Cisco
radius.attr.call.origin.code=26

######## Параметр время соединения( опционально можно не указывать) ########################
#по умолчанию берется значение из vendor.code(9-cisco)
radius.attr.connect.time.vendor=
#нет значения по умолчанию( тогда это параметр не используется в логике). 
radius.attr.connect.time.code=
 
Как видно большинство атрибутов берется по умолчанию для cisco. И несколько стандартных атрибутов. 

Вот пример рабочей конфигурации для FreeSwitch(в нестандартном варианте):

#подменяем -1 на код вендора Cisco 
radius.attr.identifier.vendor=9
#H323_conf_id в качестве идентификатора
radius.attr.identifier.code=24
 

Как видно что в данном случае в качестве идентификатора вместо Acct-Session-Id использовали Cisco-ский атрибут H323-conf-id.  Остальное все по умолчанию.

И указываем что устройство является NAS-ом

Далее заводим устройство данного типа :

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

 

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

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

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

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

Например 

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=exp[,exp]

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

code[:type]

code - это код режима,поиск из конфигурации , описанный выше. type - тип звонка ( 1 - исходящий, 2 - входящий). Тип звонка не обязателен( тогда он определяется другим образом).

Например:

radius.auth.search.mode.order=3
radius.acc.search.mode.order=1:1,2:2,3:1

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

radius.search.mode.device.deep=1

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

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

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

#входящие  при авторизации
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 . Например вот так можно указать что все вызовы идут как исходящие 

radius.auth.out=all/all
radius.acct.out=all/all

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

radius.auth.in=/incoming


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

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

Для access:

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

 

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

radius.auth.in=/incoming
radius.auth.out=/outgoing
radius.acc.out=all/all

radius.auth.search.mode.order=3
radius.acc.search.mode.order=1:1,2:2,3:1
radius.search.mode.device.deep=1
radius.messageAuthenticator.validate=0
  • Нет меток