Настройка NASов модуля VoiceIP
Основная информация, которую должна содержать конфигурация NASа - это его идентификатор, IP-адрес и секрет (необходим для шифрования пароля пользователя, должен совпадать на RADIUS, клиенте и сервере).
Кроме того, к нему должна быть привязана услуга и определена конфигурация определения направления звонка.
Настройка сервера доступа происходит в два шага.
Сначала кнопкой Новый элемент создаётся новый NAS, ему прописывается идентификатор (что будет приходить от него в атрибуте NAS-Identifier), IP-адрес (что будет приходить от него в атрибуте NAS-IP-Address), RADIUS-секрет, вендор и комментарий. Список вендоров задаётся в конфигурации модуля. После нажатия кнопки Ок должна появиться новая строка в таблице.
Вендор определяет код вендора, указываемый для h323-атрибутов, для большинства оборудования он должен быть Cisco.
Двойным кликом мыши откройте её для редактирования и кнопкой Создать добавьте текстовую конфигурацию. Название - произвольное.
Возможна также настройка общих конфигураций для NASов. Создание общих конфигураций происходит аналогично описанному далее, за исключением того, что они могут использоваться в нескольких NASах, при этом локальные настройки имеют больший приоритет (т.е. если оба флага присутствуют и во включенной общей, и в выбранной локальной конфигурациях, то будет использован локальный).
Содержимое конфигурации должно содержать следующие данные:
1) Привязанную к NASу услугу: service=<код услуги>;
2) Необходимо настроить какие звонки считать исходящими, а какие - входящими для пользователя. Для определения направления используются атрибуты h323-call-type и h323-call-origin из RADIUS-запроса. Значения этих атрибутов, соответствующие каждому типу звонка, необходимо указать через дробь и в нижнем регистре (даже если в запросе указан верхний регистр).
Ниже приведена конфигурация, которая может быть использована для популярного Гейткипера Aqua:
auth.
in
=voip/originate
auth.out=voip/answer
acct.
in
=voip/originate
acct.out=voip/answer
В этом случае авторизационные запросы с атрибутами h323-call-type=Voip h323-call-origin=originate будут считаться исходящими, h323-call-type=Voip h323-call-origin=answer входящими.
При необходимости можно указывать несколько сочетаний данных атрибутов через ;. Например:
acct.out=voip/answer;voip/proxy
STOP-пакет исходящего звонка может содержать как сочетание Voip Answer, так и Voip Proxy. Процесс подборки данных атрибутов эмпирический и зависит от вашего оборудования.
Если через ваш шлюз идут только исходящие вызовы, можно определить следующую конфигурацию. В этом случае всякий вызов будет воспринят как исходящий.
auth.out=all/all
acct.out=voip/originate
С версии 5.1 есть возможность отрезания реалма типа @xxx от атрибута, используемого как имя пользователя. Для этого в конфигурацию необходимо добавить, например:
realm.attr=User-Name
realm.value=ipnet.ru,voipnet.ru
Для идентификации сессии можно имспользовать значение атрибута Acct-Session-Id, для этого в конфигурацию добавить:
sip=
1
Для вывода ошибок, при невозможности определить направление звонка, в конфигурацию нужно добавить:
acct.logError=
1
Для полной обработки входящих звонков в конфигурацию нужно добавить:
auth.income.full=
1
Следующий параметр определяет формат суммы в поле H323_credit_amount
balance.summa.format.pattern=
################.##
В мониторе логов модуля в столбце DC выводится значение атрибута h323-disconnect-couse. В зависимости от настроек модуля (см. раздел по настройке модуля VoiceIP) там может выводится описание пришедшего атрибута в соответствии с протоколом Q931. При необходимости в конфигурации NAS можно переопределить выводимое значение (например, можно задать перевод для описания), либо задать свое, если значение не отображается по умолчанию.
voiceip.dc.<название кода>=<Описание>
Подробные инструкции по интеграции BGRadiusVoip с различными NASами доступны в Wiki.