В системе поддерживается возможность дайджест-аутентификации и авторизации абонентов с использованием RADIUS-сервера. Для этого необходимо создать динамических абонентов. Система не хранит данные о динамических абонентах. Номер абонента и его пароль для аутентификации хранятся на RADIUS-сервере. В системе ECSS-10 необходимо только указать количество динамических абонентов и параметры доступа к RADIUS-серверу.
Авторизация осуществляется при регистрации абонента (запрос REGISTER) и определяет, существует ли абонент в системе. Дополнительно авторизация осуществляется при совершении вызова абонентом (запрос INVITE) и определяет, разрешено ли абоненту пользоваться ресурсом. Все запросы (регистрация, установление соединений) обязательно проходят процедуру аутентификации.
Например, у абонента нет средств на счете, но при этом с отрицательным балансом он должен быть авторизован и иметь возможность совершать вызовы на экстренный номер 112. При этом требование прохождения процедуры аутентификации сохраняется. При вызовах на другие номера процедура авторизации вернет запрет на соединение - данные вызовы будут отбиты.
Комплекс ECSS-10 поддерживает три варианта дайджест-аутентификации на RADIUS-сервере:
- RFC - согласно полной рекомендации RFC5090 (обновленная версия стандарта, RFC4590 - устаревшая версия). Формирование базы запроса аутентификации (nonce и другие) выполняется сервером RADIUS (challenge запрос);
- RFC-no-challenge - согласно RFC5090, но без "challenge" запроса на сервере. База запроса аутентификации (nonce и другие) формируется адаптером и затем передается на сервер RADIUS вместе с ответом клиента;
- Draft-sterman - работа по черновику RFC "draft-sterman". Аналогично предыдущему варианту не выполняется "challenge" запроса на сервер, при отправке запроса на сервер RADIUS используется другая кодировка команд. В частности, такой вариант аутентификации поддерживают сервера FreeRadius, NetUp).
Порядок настройки динамических абонентов:
- Добавить в систему информацию о RADIUS-серверах.
- Создать группы с определенным количеством динамических абонентов.
- Назначить группе абонентов список RADIUS-серверов, с которыми они будут взаимодействовать, и настроить параметры группы.
Добавление RADIUS-серверов
Начиная с версии 3.5.0 RAIDUS-сервера создаются для каждой виртуальной АТС отдельно, и затем могут быть использованы в подсистеме авторизации.
Команды по настройки RADIUS серверов детально описаны в разделе Команды настройки параметров соединения c RADIUS-сервером.
Настройка группы динамических абонентов
Порядок настройки группы динамических абонентов:
- Создать группу динамических абонентов командой:
/domain/<DOMAIN>/sip/user/dynamic-area/new <NEW AREA NAME> <ROUTING CONTEXT> <GROUP SIZE>
Назначить созданной группе список RADIUS-серверов командой:
/domain/<DOMAIN>/sip/user/dynamic-area/set <AREA NAME> servers [<ID1>, ...]
Настройка остальных параметров:
/domain/<DOMAIN>/sip/user/dynamic-area/set <AREA NAME> <PARAMETER> <VALUE>
Доступны следующие параметры:
- cisco-vsa-for-all - во всех сообщениях на RADIUS-сервер использовать параметры CISCO VSA;
- digest-version - алгоритм авторизации SIP-абонентов с динамической регистрацией через RADIUS-сервер, принимает значение:
- rfc - полноценная реализация рекомендации RFC4590;
- rfc-no-challenge - работа по рекомендации RFC4590 с сервером, не передающим Access Challenge;
- draft-sterman - работа по проекту, на основании которого была написана рекомендация RFC4590;
- group-size - максимальное количество регистрируемых в данную область sip-пользователей;
- number-modification - имя правила модификации, применяемое по необходимости к номерам, передаваемым на RADIUS-сервер;
- routing.context - имя контекста маршрутизации;
- servers - список RADIUS серверов.
Для просмотра информации по группе динамических абонентов используется команда:
/domain/<DOMAIN>/sip/user/dynamic-area/info [<AREA NAME>]
Результат выполнения команды просмотра информации:
admin@[mycelium1@ecss1]:/$ domain/test.domain/sip/user/dynamic-area/info Executed on the pa_sip@alex ┌───────────────────────────┬─────────────────────────────────────────┐ │ Dynamic area (SIP domain) │ Parameters │ ├───────────────────────────┼─────────────────────────────────────────┤ │ test_area.1 │ current size/limit 0/10 │ │ │ servers: │ │ │ free.radiu ok │ │ │ draft sterman true │ │ │ number modification rule rule.test │ │ │ full digest false │ │ │ routing context ctx_sip_local │ │ │ cisco vsa for all false │ │ │ │ │ test_area.2 │ current size/limit 0/20 │ ... └───────────────────────────┴─────────────────────────────────────────┘
В данной таблице в столбце "Current size/limit" указывается текущее количество зарегистрированных/созданных динамических абонентов.
Более подробно команды для работы с динамическими абонентами описаны в справочнике CLI, раздел Команды управления динамически конфигурируемыми интерфейсами