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