Скрипты предобработки RADIUS запросов
Ещё одним применением скриптов являются скрипты предобработки RADIUS-запросов, позволяющие модифицировать запрос, приводя его к требованиям биллинга, определяя при этом вид услуги запроса и т.п. Скрипт предобработки вводится в редакторе NASов модулей DialUp и VoiceIp. В скрипт передаются следующие переменные:
-
con - объект типа java.sql.Connection, соединение с базой биллинга
-
conSlave - объект типа java.sql.Connection, соединение с Slave базой биллинга, либо основной, если Slave нет
-
setup - объект класса avantis.billing.server.radius.RadiusSetup, конфигурация сервера RADIUS
-
request - объект класса avantis.billing.server.radius.RadiusPacket, RADIUS запрос
-
response - объект класса avantis.billing.server.radius.RadiusPacket, RADIUS ответ
Образец скрипта. Как и в случае со скриптами предобработки можно не объявлять функцию, сразу размещая логику скрипта. Но скорость работы скрипта при этом будет меньше.
import ru.avantis.abilling.kernel.network.radius.*;
void processRequest( request, response, setup, con, conSlave )
{
//логика предобработки
}
При модификации скрипта предобработки требуется перезапуск RADIUS-сервера. Вывод работы скриптов и ошибки доступны в логе script.log RADIUS-сервера. Скрипты предобработки RADIUS-запроса не привязаны к договору, а привязаны к NASу, т.к. выполняются сразу после получения запроса, когда еще не известно, с каким клиентом будет соотнесен запрос.