В этой статье я раскажу как настроить аутентификацию и авторизацию freeswitch с биллингом NetUP UTM.
установка freeswitch описана здесь. Перед компиляцией раскоммментируем в файле /usr/src/freeswitch/modules.conf строку
xml_int/mod_xml_radius
Копируем папку со словарями
mkdir/usr/local/freeswitch/conf/radius/
cp -R /usr/src/freeswitch/src/mod/xml_int/mod_xml_radius/dictionaries/ /usr/local/freeswitch/conf/radius/dictionaries/
В словаре /usr/local/freeswitch/conf/radius/dictionaries/dictionary указываем правильные пути на подключаемые словари dictionary.cisco и dictionary.rfc5090
$INCLUDE /usr/local/freeswitch/conf/radius/dictionaries/dictionary.cisco $INCLUDE /usr/local/freeswitch/conf/radius/dictionaries/dictionary.rfc5090
Копируем конфигурационный файл xml_radius.conf.xml
cp /usr/src/freeswitch/src/mod/xml_int/mod_xml_radius/xml_radius.conf.xml /usr/local/freeswitch/conf/autoload_configs/
И удаляем из него не нужные нам секции <auth_invite>, <auth_reg> а в секции <auth_app> добавляем строку
<param name="User-Name" variable="sip_from_user" format="%s"/>
так же в секции <acct_start> и <acct_stop> добавляем строку
<param name="Acct-Session-Id" variable="uuid" format="%s"/>
Указывем правильный путь к словарю
<param name="dictionary" value="/usr/local/freeswitch/conf/radius/dictionaries/dictionary"/>
А также не забудьте указать правильный ip адрес порт и логин радиус сервера.
готовый файл можно скачать здесь
Добавляем модуль в автозагрузку, для этого в файле /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml добавляем строку
<load module="mod_xml_radius"/>
Загружаем модуль mod_xml_radius
fs_cli -x 'load mod_xml_radius'
В диалплане, для исходящих вызовов, что бы включить авторизацию, нужно добавить
<action application="radius_auth" inline="true"/>
Также что бы не задваивались вызовы, нужно добавить параметр
<action application="export" data="nolocal:sip_from_user=operator"/>
Теперь, заводим на UTM двух пользователей, в одном телефонный номер и логин указываем, параметры нашего пользователя, например 1000, а в другом логин и номер «operator», на этого пользователя будут писаться все вызовы со всех внутренних номеров, которые будут проходить через наш диалплан.