Подсистема AAA позволяет проверять права на совершение вызовов абонентом, слежение за потреблением ресурсов абонентом.
Подсистема AAA подключается при обработки вызова на нижеперечисленных этапах (каждым из этапом может отсутствовать)
На этапе маршрутизации вызова в правиле контексте маршрутизации можно указать, что необходимо выполнить внешнюю RADIUS маршрутизацию.
В этом случае на RADIUS сервер посылаются следующие параметры:
В ответ RADIUS сервер может прислать команды на изменения номеров А, Б, их признаков, параметра tag
После маршрутизации, прежде чем отправить вызов на абонента Б, делается запрос в подсистему Authentication. На этом этапе проверяется, можно совершать вызов с номера А на номер Б, или нет.
Если Authentication подсистема вернула accept - вызов отправляется на абонента Б. Иначе, в зависимости от значения параметра if_radius_unavaliable, либо вызов идет на абонента Б, либо отбивается.
domain/<DOMAIN>/aaa/accounting/info if_radius_unavaliable
В параметре if_radius_unavaliable перечислены направления, на которые необходимо отправлять вызов даже если RADIUS сервер недоступен, не пропускает вызов (Например вызовы на номера спецслужб).
Access-Request сторону RADIUS содержит параметры, детально описанные в пункте 3.14.3 Формат пакетов RADIUS и значение атрибутов CISCO VSA.
После ответа абонента Б, система отправляет Acct-Start Request с информацией о начале вызова и времени ответа на RADIUS сервер. Детально параметры запроса описаны в пункте 3.14.3 Формат пакетов RADIUS и значение атрибутов CISCO VSA.
В ответ RADIUS сервер может прислать максимальную продолжительность вызова (в секундах), запрет вызова (в этом случае система тут же отобьет вызов если он не разрешен в свойстве if_radius_unavaliable), таймаут посылки промежуточных Accounting сообщений Acct-Interim-Update.
Если абоненты А, Б воспользовались услугами ДВО, на RADIUS сервер посылаются Acct-Update Request с информацией об этом, в случае если параметр send_ss_notification = true
domain/<DOMAIN>/aaa/accounting/info send_ss_notification
По завершению вызова посылается сообщение Acct-Stop Request с информацией о абонентах А, Б, а так же о времени начала, ответа и завершения вызова.
В случае, если ответа на вызов не было Acct-Stop Request посылается только в том случае, если параметр unsuccessful_call_info = true.
domain/<DOMAIN>/aaa/accounting/info unsuccessful_call_info
Конфигурироавние подсистемы AAA состоит из трех этапов:
% Создаем access сервер admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/radius/declare billing_access 192.168.23.250 access secret123 retry-count = 3, retry-timeout = 250 Radius server "billing_access" successfully declared. % Создаем accounting сервер admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/radius/declare billing_account 192.168.23.250 account secret123 retry-count = 3, retry-timeout = 250 Radius server "billing_account" successfully declared. admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/radius/info ┌───────────────┬─────────────────────────────┬──────────────────────┐ │ Name │ Host:Port │ Options │ ├───────────────┼─────────────────────────────┼──────────────────────┤ │billing_access │192.168.23.250:1812 (access) │secret = secret123 │ │ │ │retry_count = 3 │ │ │ │retry_timeout = 250 ms│ │ │ │idle_timeout = 0 ms │ │billing_account│192.168.23.250:1813 (account)│secret = secret123 │ │ │ │retry_count = 3 │ │ │ │retry_timeout = 250 ms│ │ │ │idle_timeout = 0 ms │ └───────────────┴─────────────────────────────┴──────────────────────┘ % выставляем RADIUS сервер billing_account в качестве access-сервера admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/access/set servers add billing_account Property "servers" successfully changed from: to 1: billing_account. % выставляем RADIUS сервер billing_account в качестве accounting-сервера admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/accounting/set servers add billing_account Property "servers" successfully changed from: to 1: billing_account. % включаем подсистему access admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/access/set enable true Property "enable" successfully changed from: false to true. % включаем подсистему accounting admin@[mycelium1@ryabkov]:/$ domain/test.domain/aaa/accounting/set enable true Property "enable" successfully changed from: false to true. |
После этого при вызовах будут идти запросы на система AAA.
Если нужно авторизовать все совершаемые через виртуальную АТС вызовы, то настраивается взаимодействие с RADIUS-сервером авторизации.
Для настройки локального адреса RADIUS-клиента используется команда:
/domain/<DOMAIN>/voip/aaa/access/set my_address <ADDRESS>
где
<DOMAIN> - имя виртуальной АТС;
<ADDRESS> - IP-адрес, на котором будет запущен RADIUS-клиент.
Начиная с версии 3.4.2 RAIDUS сервера создаются для каждой виртуальной АТС отдельно, и затем могут быть использованы в подсистеме аккаунтинга.
Команды по настройки RADIUS серверов детально описаны в секции Команды настройки параметров соединения c RADIUS-сервером
Далее нужно назначить RADIUS сервера для авторизации командой:
/domain/<DOMAIN>/aaa/access/set servers add <ID>
где
<DOMAIN> - имя виртуальной АТС;
<ID> - идентификатор (имя) RADIUS-сервера.
Затем назначить имя пользователя и пароль, с которыми будут авторизоваться все вызовы данной виртуальной АТС:
/domain/<DOMAIN>/aaa/access/set login <login>/domain/<DOMAIN>/aaa/access/set password <password>
Для запуска RADIUS-клиента (включения взаимодействия с RADIUS-сервером авторизации) используется команда:
/domain/<DOMAIN>/aaa/access/set enable true
Если необходимо отключить RADIUS-клиента нужно установить значение "false" в команде.
Для просмотра данных о настройках подсистемы аккаунтинга используется команда:
/domain/<DOMAIN>/aaa/access/info
┌──────────┬──────────┬───────────────┐ │ Property │ Domain │ Value │ ├──────────┼──────────┼───────────────┤ │enable │voip.local│true │ │login │voip.local│"vl" │ │my_address│voip.local│127.0.0.1 │ │password │voip.local│"voip.local" │ │servers │voip.local│1: accessserver│ └──────────┴──────────┴───────────────┘ |
где
<DOMAIN> - имя виртуальной АТС.
Если нужно тарифицировать все совершаемые через виртуальную АТС вызовы, то настраивается взаимодействие с RADIUS-сервером аккаунтинга.
Система ESCC-10 в рамках виртуальной АТС поддерживает взаимодействие с несколькими серверами аккаунтинга. Если в течение определенного времени система не получает ответа от сервера, то выполняется повторная попытка отправки запроса на сервер. По истечении заданного числа попыток сервер считается неактивным. Запрос перенаправляется на другой сервер, если он указан, иначе детектируется сбой сервера.
При сбое сервера возможно установление ограничений на исходящую связь:
Данное ограничение определяет возможность маршрутизации вызова на определенные интерфейсы системы, в настройках которых устанавливается соответствующее значение параметра признака номера.
NumberIndicator - признак номера, принимает значения:
Порядок настройки:
Для настройки локального адреса RADIUS-клиента используется команда:
/domain/<DOMAIN>/voip/aaa/accounting/set my_address <ADDRESS>
где
<DOMAIN> - имя виртуальной АТС;
<ADDRESS> - IP-адрес, на котором будет запущен RADIUS-клиент.
Начиная с версии 3.4.2 RAIDUS сервера создаются для каждой виртуальной АТС отдельно, и затем могут быть использованы в подсистеме аккаунтинга.
Команды по настройки RADIUS серверов детально описаны в секции Команды настройки параметров соединения c RADIUS-сервером
Далее нужно назначить RADIUS-сервер для версиса аккаунтинга командой:
/domain/<DOMAIN>/aaa/accounting/set servers add <ID>
где
<DOMAIN> - имя виртуальной АТС;
<ID> - Идентификатор (имя) RADIUS-сервера.
При использовании нескольких серверов, если есть необходимость, настраивается тайм-аут ожидания ответа сервера и количество попыток отправки запроса на сервер.
Сервер аккаунтинга может быть территориально удаленно расположен. При взаимодействии с таким сервером могут возникнуть сбои при доставке запросов/ответов по сети передачи данных, например, сервер может быть временно недоступен из-за отсутствия электропитания на объекте. Для случаев, когда детектируется сбой сервера и тарификация вызовов временно невозможна, можно установить ограничения на исходящую связь командой:
/domain/<DOMAIN>/aaa/accounting/set if_radius_unavaliable [NI1] ... [NI6]
где
<DOMAIN> - имя виртуальной АТС;[NIN] - индикатор сети, в направлении которой разрешается исходящая связь при сбое сервера. Если параметр не указан, то вызовы будут запрещены на все направления, принимает значения:
Для настройки передачи на сервер аккаунтинга информации о "неуспешных" вызовах используется команда:
/domain/<DOMAIN>/aaa/accounting/set unsuccessful_call_info true
При этом в атрибутах cisco_vsa будет передаваться причина "неуспешного" вызова.
Если необходимо отключить передачу на сервер аккаунтинга информации о "неуспешных" вызовах, то нужно установить значение "false".
Следующая команда позволяет настроить профиль взаимодействия с системой учета, но в текущей версии программного обеспечения его устанавливать не требуется, поскольку в системе поддержан всего один профиль - CISCO_VSA. Профиль "default" соответствует CISCO_VSA.
/domain/<DOMAIN>/aaa/accounting/set profile <cisco_vsa|default>
Для возможности передачи промежуточных сообщений аккаунтинга необходимо настроить "интервал передачи промежуточных сообщений аккаунтинга". Для этого воспользуйтесь командой:
/domain/<DOMAIN>/aaa/accounting/set interim_interval <value|disable|server_configured>
где
- value - значение интервала в диапазоне от 60 до 86400 секунд;
- disable - не передавать промежуточные сообщения аккаунтинга;
- server_configured - использовать в качестве значения интервала значение, принятое от сервера авторизации в ответе access-accept.
Для запуска RADIUS-клиента (включения взаимодействия с RADIUS-сервером аккаунтинга) используется команда:
/domain/<DOMAIN>/aaa/accounting/set enable true
Если необходимо отключить RADIUS-клиента нужно установить значение "false" в команде.
Для просмотра данных о настройках подсистемы аккаунтинга используется команда:
/domain/<DOMAIN>/aaa/accounting/info
┌──────────────────────┬───────────┬───────────────────┐ │ Property │ Domain │ Value │ ├──────────────────────┼───────────┼───────────────────┤ │enable │eltex.local│false │ │if_radius_unavaliable │eltex.local│[private,emergency]│ │my_address │eltex.local│127.0.0.1 │ │profile │eltex.local│"cisco_vsa" │ │send_ss_notification │eltex.local│true │ │servers │eltex.local│1: voipssw │ │unsuccessful_call_info│eltex.local│false │ └──────────────────────┴───────────┴───────────────────┘ |
где
<DOMAIN> - имя виртуальной АТС.
Для настройки индикаторов сети на интерфейс системы используется следующая команда:
/domain/<DOMAIN>/alias/set-for-iface <GROUP_NAME> <INTERFACE> ni <VALUE>
Для настройки индикаторов сети профиля домена алиаса необходимо выполнить следующую команду:
/domain/<DOMAIN>/alias/set-for-domain ni <VALUE>
где
<DOMAIN> - имя виртуальной АТС;<GROUP_NAME> - имя группы интерфейсов, логическая привязка интерфейсов в определенной виртуальной АТС;
<INTERFACE> - имя интерфейса;
<VALUE> - значение признака номера: