BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 04 июл 2025, 16:22

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 15 окт 2008, 13:27 
Не в сети
Клиент

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2008, 14:39 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
http://wiki.bgbilling.ru/index.php/%D0% ... _DialUP.29

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2008, 15:45 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ЕМНИМС было только про то как выдавать пулы на основе тарифа


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2008, 15:53 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Нет, так не получится. Адреса раздаются _до_ генерации данного события. Если только выдавать пул, который будет поддерживать сам NAS.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2008, 16:41 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
тады топикстартеру поможет только статья, на которую Вы указывали, т.е. Детальное информирование абонентов о причинах ошибки 691, во всяком случае у меня почти так (без wccp) уже давно и успешно работает ...

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 15 окт 2008, 17:09 
Не в сети
Клиент

Зарегистрирован: 04 авг 2007, 19:57
Сообщения: 157
Карма: 0
Спасибо, статья помогла. Пришлось сделать пул на НАСе, адреса выдаются из него.


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

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

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


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 30 июл 2009, 17:53 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
Maxel писал(а):
А можете расказать как у вас сделано?

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


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


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 04 авг 2009, 10:52 
snark писал(а):
Maxel писал(а):
А можете расказать как у вас сделано?

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

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


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 05 авг 2009, 21:01 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
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)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.040s | 32 Queries | GZIP : On ]