Подсистема AAA позволяет проверять права на совершение вызовов абонентом, слежение за потреблением ресурсов абонентом.

Этапы работы подсистемы ААА

Подсистема AAA подключается при обработки вызова на нижеперечисленных этапах (каждым из этапом может отсутствовать)

RADIUS маршрутизация

На этапе маршрутизации вызова в правиле контексте маршрутизации можно указать, что необходимо выполнить внешнюю RADIUS маршрутизацию.

В этом случае на RADIUS сервер посылаются следующие параметры:

  • текущие номера А, Б и их признаки;
  • имя текущего контекста маршрутизации;
  • текущее значение параметра tag контекста маршрутизации;
  • имя домена;
  • имя входящего интерфейса;
  • номер попытки маршрутизации (начинается с 1, и в в случае перемаршрутизации увеличивается);
  • причина release-а предыдущего вызова по SIP, ISUP, ACP (в случае перемаршрутизации).

В ответ RADIUS сервер может прислать команды на изменения номеров А, Б, их признаков, параметра tag

Authentication и Authorization

После маршрутизации, прежде чем отправить вызов на абонента Б, делается запрос в подсистему Authentication. На этом этапе проверяется, можно совершать вызов с номера А на номер Б, или нет.
Если Authentication подсистема вернула accept - вызов отправляется на абонента Б. Иначе, в зависимости от значения параметра if_radius_unavaliable, либо вызов идет на абонента Б, либо отбивается.

domain/<DOMAIN>/aaa/general/info if_radius_unavaliable

В параметре if_radius_unavaliable перечислены направления, на которые необходимо отправлять вызов даже если RADIUS сервер недоступен, не пропускает вызов (Например вызовы на номера спецслужб).
Access-Request сторону RADIUS содержит параметры, детально описанные в пункте Формат пакетов RADIUS и значение атрибутов CISCO VSA.

Accounting

После ответа абонента Б, система отправляет Acct-Start Request с информацией о начале вызова и времени ответа на RADIUS сервер. Детально параметры запроса описаны в пункте Формат пакетов 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

Конфигурирование подсистемы AAA состоит из трех этапов:

  1. Задание параметров подключения в RADIUS серверу(ам)
    Детально команды по управлению RADIUS серверами описаны в пункте Команды настройки параметров соединения с RADIUS-сервером.
  2. Конфигурирование подсистемы Authorization (access запросы)
    Детально команды по управлению службой Authorization описаны в пункте Команды управления службой RADIUS AAA (Authorization).
  3. Конфигурирование подсистемы Accounting (accounting запросы)
    Детально команды по управлению службой Accounting описаны Команды управления службой RADIUS AAA (Accounting).

Пример команд CoCon-а по конфигурированию подсистемы 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-клиент.

Настройка серверов авторизации

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 - признак номера, принимает значения:

  • private - частная сеть;
  • local - местная сеть;
  • zone - зоновая сеть;
  • intercity - междугородная сеть;
  • international - международная сеть;
  • emergency - спецслужбы.

Порядок настройки:

  1. Настроить локальный адрес, на котором будет работать RADIUS-клиент.
  2. Настроить сервера аккаунтинга.
  3. При необходимости настроить индикаторы сети на интерфейсах системы.

Настройка локального адреса

Для настройки локального адреса RADIUS-клиента используется команда: 

/domain/<DOMAIN>/voip/aaa/accounting/set my_address <ADDRESS>

где

<DOMAIN> - имя виртуальной АТС;
<ADDRESS> - IP-адрес, на котором будет запущен RADIUS-клиент.

Настройка серверов аккаунтинга

RAIDUS сервера создаются для каждой виртуальной АТС отдельно, и затем могут быть использованы в подсистеме аккаунтинга.

Команды по настройки RADIUS серверов детально описаны в секции Команды настройки параметров соединения c RADIUS-сервером

Далее нужно назначить RADIUS-сервер для версии аккаунтинга командой:

/domain/<DOMAIN>/aaa/accounting/set servers add <ID>

где

<DOMAIN> - имя виртуальной АТС;
<ID> - Идентификатор (имя) RADIUS-сервера.

При использовании нескольких серверов, если есть необходимость, настраивается тайм-аут ожидания ответа сервера и количество попыток отправки запроса на сервер.

Сервер аккаунтинга может быть территориально удаленно расположен. При взаимодействии с таким сервером могут возникнуть сбои при доставке запросов/ответов по сети передачи данных, например, сервер может быть временно недоступен из-за отсутствия электропитания на объекте. Для случаев, когда детектируется сбой сервера и тарификация вызовов временно невозможна, можно установить ограничения на исходящую связь командой: 

/domain/<DOMAIN>/aaa/general/set if_radius_unavaliable [NI1] ... [NI6]

где

<DOMAIN> - имя виртуальной АТС;[NIN] - индикатор сети, в направлении которой разрешается исходящая связь при сбое сервера. Если параметр не указан, то вызовы будут запрещены на все направления, принимает значения:

  • * - разрешены вызовы на все направления;
  • emergency - разрешены вызовы на спецслужбы;
  • intercity - разрешены вызовы на междугороднее направление;
  • international - разрешены вызовы на международное направление;
  • local - разрешены вызовы на локальных абонентов системы;
  • private - разрешены вызовы на местную сеть;
  • zone - разрешены вызовы на зоновую сеть.

Для настройки передачи на сервер аккаунтинга информации о "неуспешных" вызовах используется команда:

/domain/<DOMAIN>/aaa/accounting/set unsuccessful_call_info true

При этом в атрибутах cisco_vsa будет передаваться причина "неуспешного" вызова. 
Если необходимо отключить передачу на сервер аккаунтинга информации о "неуспешных" вызовах, то нужно установить значение "false".

Следующая команда позволяет настроить профиль взаимодействия с системой учета, но в текущей версии программного обеспечения его устанавливать не требуется, поскольку в системе поддержан всего один профиль - CISCO_VSA. Профиль "default" соответствует CISCO_VSA.

/domain/<DOMAIN>/aaa/general/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                │biysk.local│true              │
│interim_interval      │biysk.local│server_configured │
│my_address            │biysk.local│192.168.1.21      │
│send_ss_notification  │biysk.local│false             │
│servers               │biysk.local│1: billing_account│
│unsuccessful_call_info│biysk.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> - значение признака номера:

  • private - частная сеть;
  • local - местная сеть;
  • zone - зоновая сеть;
  • intercity - междугородная сеть;
  • international - международная сеть;
  • emergency - спецслужбы.

Настройка работы с RADIUS c помощью Web-конфигуратора

Работа с RADIUS настраивается также через расширенный Web-конфигуратор в приложении Домены (Domains) → Свойства → RADIUS

RADIUS серверы

RADIUS общие

RADIUS авторизация

RADIUS аккаунтинг