forum.bitel.ru
http://forum.bitel.ru/

Модернизация скрипта обработки запроса уч.периода
http://forum.bitel.ru/viewtopic.php?f=5&t=1244
Страница 1 из 1

Автор:  and [ 23 июн 2008, 17:33 ]
Заголовок сообщения:  Модернизация скрипта обработки запроса уч.периода

Здравствуйте!
Хотел бы поинтересоваться реально ли дополнить данный скрипт проверкой логина на присутствие реалма(http://wiki.bgbilling.ru/index.php/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0_%D1%83%D1%87%D0%B5%D1%82%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B5%D1%80%D0%B8%D0%BE%D0%B4%D0%B0)?
То есть если пользователь подключается с реалмом то деньги снимаются, а если без реалма, то учётный период не добавляется, и не снимаются деньги?


Спасибо!

Автор:  and [ 24 июн 2008, 17:52 ]
Заголовок сообщения: 

Подскажите пожалуйста как подправить что бы проверялся реалм и при наличии его скрипт заканчивал работать?

Автор:  Администратор [ 25 июн 2008, 12:10 ]
Заголовок сообщения: 

В данный момент это невозможно, в событии не передается логин входа.

Автор:  and [ 25 июн 2008, 12:18 ]
Заголовок сообщения: 

Администратор писал(а):
В данный момент это невозможно, в событии не передается логин входа.


плохо! А вообще как нибудь реализовать возможно? ну например скриптом переработки радиус-запроса? Что бы в зависимости от логина запускал скрипт или не запускал?

Автор:  and [ 25 июн 2008, 15:57 ]
Заголовок сообщения: 

Может хоть кто нибудь подскажет как реализовать выполнение/невыполнение скрипта в зависимости от того используется реалм или нет?

Автор:  S [ 25 июн 2008, 16:25 ]
Заголовок сообщения: 

От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия.

Автор:  and [ 25 июн 2008, 16:28 ]
Заголовок сообщения: 

S писал(а):
От себя могу сказать: можно проверять при аутентификации, какой прилетает login, и от этого совершать необходимые действия.


А можно пример?

Автор:  S [ 25 июн 2008, 16:42 ]
Заголовок сообщения: 

))
Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id:
Код:
import bitel.billing.server.radius.*;
request = event.getRequest();
login = event.getLogin();
callingStation = request.getStringAttribute( 31 );
print (callingStation);
print (login);

Выполнение будет в логах радиуса, script.log.
Это функция скрипта поведения, тип: авторизация RADIUS
Радиус надо рестартовать, при каждом изменении.

Автор:  and [ 25 июн 2008, 17:12 ]
Заголовок сообщения: 

S писал(а):
))
Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id:
Код:
import bitel.billing.server.radius.*;
request = event.getRequest();
login = event.getLogin();
callingStation = request.getStringAttribute( 31 );
print (callingStation);
print (login);

Выполнение будет в логах радиуса, script.log.
Это функция скрипта поведения, тип: авторизация RADIUS
Радиус надо рестартовать, при каждом изменении.


Это скрипт переработки радиус запроса, вот только я никак не могу понять как на вытащенном логине сделать условие при котором если логин с реалмом то скрипт поведения в договоре запускается, а если без реалма то он не запускается!

Автор:  and [ 25 июн 2008, 17:18 ]
Заголовок сообщения: 

Или этот скрипт полностью занести в скрипт переработки радиус запроса и выполнять там? брать дату окончания учётного периода сравнивать с датой запроса и сделать условие при котором если дата запроса позже даты окончания учётного периода то выполняется скрипт запроса учётного периода! если дата запроса лежит в учётном периоде то скрипт заканчивается!

Будет так работать?

Автор:  S [ 25 июн 2008, 18:33 ]
Заголовок сообщения: 

Не подскажу. -(

Автор:  and [ 26 июн 2008, 10:25 ]
Заголовок сообщения: 

S писал(а):
))
Сам сижу ковыряюсь медленно. Пример...ну вот пример, печатает Calling-Station-Id:
Код:
import bitel.billing.server.radius.*;
request = event.getRequest();
login = event.getLogin();
callingStation = request.getStringAttribute( 31 );
print (callingStation);
print (login);

Выполнение будет в логах радиуса, script.log.
Это функция скрипта поведения, тип: авторизация RADIUS
Радиус надо рестартовать, при каждом изменении.


Вставил в функции скриптов поведения тип (vpn)Radius аутенфикация
всё рестартнул!
и ничего нигде не в скрипт.лог ни в отчётах ничего нет!

Автор:  S [ 26 июн 2008, 11:31 ]
Заголовок сообщения: 

Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие.

Автор:  and [ 26 июн 2008, 11:39 ]
Заголовок сообщения: 

S писал(а):
Надо скрипт привязать на договор и пробовать проходить авторизацию. Скрипты реагируют на какое-либо действие.


естественно привязываю! пытаюсь подключиться, он меня пускает, только в логах ничего!

Автор:  S [ 26 июн 2008, 11:42 ]
Заголовок сообщения: 

А у меня есть. Только скрипт.лог в дебаге по-моему у меня. По мануалу пишут, что в скрипт.лог валится все.

Автор:  and [ 26 июн 2008, 11:48 ]
Заголовок сообщения: 

S писал(а):
А у меня есть. Только скрипт.лог в дебаге по-моему у меня. По мануалу пишут, что в скрипт.лог валится все.

У мну стоит АЛЛ и ничего не выводит! выводит:
INFO 26.06.2008 11:46:09 Process event cid:6; event:Event bitel.billing.server.processor.DefaultProcessor$RadiusAuthenticationEvent cid: 6; module: 2; type: 120
DEBUG 26.06.2008 11:46:09 Process event with user script ID: 1
и всё!

Автор:  and [ 26 июн 2008, 13:30 ]
Заголовок сообщения: 

Может всё таки кто нибудь из разработчиков ответит? Реально ли вообще скриптами какими нибудь проверять логин и если он с реалмом запускать скрипт учётного периода или не запускать. Или сделать скрипт учётного периода в скрипте радиус авторизации и если учётный период идёт скрипт в условии не прохоит а если уч.период закрыт то скрипт исполняется! Или подскажите как примерно это реализовать?

Заранее спасибо!

Автор:  Администратор [ 26 июн 2008, 14:33 ]
Заголовок сообщения: 

А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь?

Автор:  and [ 26 июн 2008, 15:02 ]
Заголовок сообщения: 

Администратор писал(а):
А в "договоре" - "скрипт поведения" - "логи выполнения" есть чего-нибудь?


Всё нормально если брать скрипт по извлечению логина. Но как его совместить с учётным периодом?
Если туда в условии добавить учётный период то он начинает ругаться что типа косячный скрипт и всё такое! Подскажите как их совместить?

Автор:  and [ 27 июн 2008, 15:35 ]
Заголовок сообщения: 

Я всё ещё жду ответа по совмещению скриптов!
Реально их совместить, или как нибудь по другому сделать реализацию выполнения скрипта при использовании реалма!

Автор:  Администратор [ 30 июн 2008, 10:34 ]
Заголовок сообщения: 

Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием.
То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся.
Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5.

Автор:  and [ 30 июн 2008, 10:53 ]
Заголовок сообщения: 

Администратор писал(а):
Совместить их нереально, т.к. учетный период радиус готов принять только в тот момент, когда он его запрашивает специальным событием.
То же самое относится к событию обработка ответа авторизации, после этого события радиус не получает учетные периоды а только модифицированный ответ авторизации, ну в базе может какие-то модификации совершатся.
Я добавил в событие "Запрос учетного периода" поле loginName, но оно будет доступно только в 4.5.


А возможно ли в скрипте radius авторизации сделать так что бы в зависимости от логина в базу данных напрямую вносились изменения по привязке скрипта поведения к договору?

Автор:  Администратор [ 30 июн 2008, 14:07 ]
Заголовок сообщения: 

Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода".
Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило..

Автор:  and [ 30 июн 2008, 14:15 ]
Заголовок сообщения: 

Администратор писал(а):
Эта обработка происходит прямо перед отправкой ответа. В данном случае ответ будет "Ошибка установки учетного периода".
Вы можете его занести в базу, конечно. При следующей авторизации все ок должно стать. Но как-то неудобно. Сначала отлуп - потом пустило..


Я не много не понял! Как будет происходить дело?
Я думал что выполнится скрипт radius авторизации в нём происходит запись в базу данных то что у данного договора стоит скрипт поведения "запрос учётного периода", дальше выполняется этот скрипт?
или при автоизации запоминается какие есть скрипты и только они выполняются?

Автор:  and [ 01 июл 2008, 09:38 ]
Заголовок сообщения: 

Если попробовать 4.5 то в запросе учётного периода можно проверять с каким именем пользователя зашёл пользователь? и примерно как это выглядит?

Автор:  and [ 02 июл 2008, 09:51 ]
Заголовок сообщения: 

up

Автор:  and [ 03 июл 2008, 12:05 ]
Заголовок сообщения: 

Всё таки подскажите как использовать LoginName в 4.5 как его сравнивать на наличие реалма?

Автор:  Администратор [ 03 июл 2008, 12:55 ]
Заголовок сообщения: 

Ну просто смотрите есть ли там собачка.
Типа того (если задача стоит не открывать период при входе с реалмом):

Код:
login = event.getLoginName();
pos = login.indexOf( '@' );
// в логине входа есть собачка - значит зашел с реалмом
if( pos > 0 )
{
    // запрос обработан а период не вернули - будет отлуп
    event.setProcessed( true );               
}

Автор:  and [ 08 июл 2008, 09:49 ]
Заголовок сообщения: 

Администратор писал(а):
Ну просто смотрите есть ли там собачка.
Типа того (если задача стоит не открывать период при входе с реалмом):

Код:
login = event.getLoginName();
pos = login.indexOf( '@' );
// в логине входа есть собачка - значит зашел с реалмом
if( pos > 0 )
{
    // запрос обработан а период не вернули - будет отлуп
    event.setProcessed( true );               
}


Попробовал! Всё нормально работает! Спасибо! Будем ждать релиза!

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/