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

Перенаправление при отрицательном балансе
http://forum.bitel.ru/viewtopic.php?f=5&t=1510
Страница 1 из 1

Автор:  Alex-XXI [ 15 окт 2008, 13:27 ]
Заголовок сообщения:  Перенаправление при отрицательном балансе

Хотим сделать перенаправление для абонентов с отрицательным балансом на соответствующую Web-страничку.
Я вижу решение так: если у пользователя текущий остаток меньше лимита в договоре, то при подключении выдавать ему адрес из отдельного пула адресов. Для этого пула адресов на роутере сделать перенаправление 80 порта на нужный сервер.
Вопрос - как это можно реализовать в BG биллинге?

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

http://wiki.bgbilling.ru/index.php/%D0% ... _DialUP.29

* Детальное информирование абонентов о причинах ошибки 691

Можно, впринципе и другие адреса выдавать. Про огранизацию пула в скриптах что-то в форуме проскакивало.

Автор:  snark [ 15 окт 2008, 15:45 ]
Заголовок сообщения: 

ЕМНИМС было только про то как выдавать пулы на основе тарифа

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

Нет, так не получится. Адреса раздаются _до_ генерации данного события. Если только выдавать пул, который будет поддерживать сам NAS.

Автор:  snark [ 15 окт 2008, 16:41 ]
Заголовок сообщения: 

тады топикстартеру поможет только статья, на которую Вы указывали, т.е. Детальное информирование абонентов о причинах ошибки 691, во всяком случае у меня почти так (без wccp) уже давно и успешно работает ...

P.S. поздравляю с выпуском 4.5! :)

Автор:  Alex-XXI [ 15 окт 2008, 17:09 ]
Заголовок сообщения: 

Спасибо, статья помогла. Пришлось сделать пул на НАСе, адреса выдаются из него.

Автор:  Maxel [ 30 июл 2009, 17:00 ]
Заголовок сообщения: 

snark писал(а):
тады топикстартеру поможет только статья, на которую Вы указывали, т.е. Детальное информирование абонентов о причинах ошибки 691, во всяком случае у меня почти так (без wccp) уже давно и успешно работает ...

P.S. поздравляю с выпуском 4.5! :)

А можете расказать как у вас сделано?
происходит перенаправление на NASe или просто доступны только порты BG, тоесть перенаправление не происходит?

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

Maxel писал(а):
А можете расказать как у вас сделано?

конечно :)
в качестве наса стоит mpd, адреса клиентам выдаются радиусом, а в конфиге мпд есть пул который будет использован если из радиуса пул/адрес не пришел и все запросы с адреса из этого пула направленные не на станицу статистики заворачиваются на стоящий на том же насе nginx который и рисует страничку "денег нет" ...
есть идея переделать это все, чтобы клиенты заворачивались на сквид, а уже тот на основании имени к которому обращаются будет либо пускать либо кидать на nginx, так будет более гибче, IMHO

Автор:  Rionet [ 30 июл 2009, 22:59 ]
Заголовок сообщения: 

Мы делали в логон скрипте бгбиллинга проверку баланса и прочих ошибок, потом скрипт логинился на NAS по телнету и вносил ip юзера в нужную группу (приостановлен по баллансу, приостановлен вручную, неверный мак, можно еще неверный логин/пароль добавить). Далее уже там делалось жесткое перенаправление на ngnix где вместо яндексов юзеру показывалась страничка с подробной инфой о его состоянии.

Автор:  Maxel [ 04 авг 2009, 10:52 ]
Заголовок сообщения: 

snark писал(а):
Maxel писал(а):
А можете расказать как у вас сделано?

конечно :)
в качестве наса стоит mpd, адреса клиентам выдаются радиусом, а в конфиге мпд есть пул который будет использован если из радиуса пул/адрес не пришел и все запросы с адреса из этого пула направленные не на станицу статистики заворачиваются на стоящий на том же насе nginx который и рисует страничку "денег нет" ...
есть идея переделать это все, чтобы клиенты заворачивались на сквид, а уже тот на основании имени к которому обращаются будет либо пускать либо кидать на nginx, так будет более гибче, IMHO

Это все конечно хорошо, но, всегда оно мешает, при запросе к радиусу тот же mpd получит отказ, без всяких атрибутов, то есть сессия не поднимется, так как радиус получил единственный ответ от билинга, DENY! и соответственно сессия не с генерируется. ну это ладно.
У меня NAS в виде cisco UBR, и вот как на ней сделать поворот, вот вопрос. Я подумываю в сторону route-map, для адресов разданный клиентам по дхцп, и все что проходит через них, отправлять на какой нить unix? где собственно и показывать клиенту, что он не прав. :-)

Автор:  snark [ 05 авг 2009, 21:01 ]
Заголовок сообщения: 

Maxel писал(а):
Это все конечно хорошо, но, всегда оно мешает, при запросе к радиусу тот же mpd получит отказ, без всяких атрибутов, то есть сессия не поднимется, так как радиус получил единственный ответ от билинга, DENY! и соответственно сессия не с генерируется.

порядок действий такой (примерно):
1. мпд спрашивает у радиуса разрешения
2. радиус, запускет скрипт на событие RADIUS - Аутентификация" (см. комменты)
Код:
import bitel.billing.server.radius.*;
import bitel.billing.server.script.event.*;
import java.util.*;

errorCode = event.getErrorCode();
response  = event.getResponse();

// если ошибка - это ошибка баланса (ошибки можно добавить по вкусу)
if (errorCode == 4) {

    // то говорим Accept вместо Deny
    response.setPacketType(RadiusPacket.AUTHENTICATION_ACCEPT);

    // формируем нужные атрибуты, для примера их 3
    radAttrib1 = new RadiusAttribute(6);
    radAttrib1.setIntValue(2);

    radAttrib2 = new RadiusAttribute(7);
    radAttrib2.setIntValue(1);

    radAttrib3 = new RadiusAttribute(27);
    radAttrib3.setIntValue(300);

    // и посылаем эти атрибуты нашему насу
    response.addAttribute(radAttrib1);
    response.addAttribute(radAttrib2);
    response.addAttribute(radAttrib3);

}

после чего сессия прекрасно поднимается ;)

Maxel писал(а):
У меня NAS в виде cisco UBR, и вот как на ней сделать поворот, вот вопрос. Я подумываю в сторону route-map, для адресов разданный клиентам по дхцп, и все что проходит через них, отправлять на какой нить unix?

сделать там редирект - это не вопрос ;) если IOS может WCCP - то редиректить через него, если не может - роутмапом на сквид или оопс (ЕМНИП только они могут WCCP)

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