BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 21 июн 2025, 03:20

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




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
СообщениеДобавлено: 25 фев 2011, 16:08 
Не в сети

Зарегистрирован: 25 фев 2011, 15:41
Сообщения: 4
Карма: 3
При различных нештатных ситуациях хотелось бы динамически закрывать повисшие сессии.
Определить их достаточно легко по совпадающему маку, но вот скидывать не выходит.

В модуле PPPoE "BillingEventBus.publish(new DialupSessionBreakEvent ..." недоступно,
но и при упавшем NAS'е оно не поможет, нужно именно закрывать сессии, а не сбрасывать.

Есть решение дергать "radius.sh kill" через класс SSHSessionExec, но это не очень красиво. (:

Сервер 4.6 сборка 686


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 апр 2011, 20:44 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 06 авг 2009, 13:34
Сообщения: 72
Откуда: Уфа
Карма: 0
Если я верно понял... то как вариант:

Сессии хранятся в базе, по идее можно скриптом предобработки проверять и закрывать.. Точно сказать не смогу, давно думал реализовать подобное у себя, но пока руки не доходили..

_________________
Это текст


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 апр 2011, 20:52 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
закроете в базе
Код:
UPDATE log_session_<mid>_<yyyymm> SET status = 1 WHERE ...

а БГБ ее откроет по приходу апдейта и финита ля комедия


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 15 апр 2011, 23:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 06 авг 2009, 13:34
Сообщения: 72
Откуда: Уфа
Карма: 0
Как может прийти апдейт на мертвую сессию?

Т.е. я так понимаю мертвая сессия в данном случае это как раз та самая сессия которая "висит" не обновляется, но и не закрывается, обычно помогает в мониторе закрыть сессию.. Сбрасывать не вижу смысла потому что тот же самый например mpd в подобных моментах о ней не знает, но бгб считает ее живой и активной... А клиента в данном случае просто реджектит с превышением кол-ва сессий.. Но на сколько я могу судить подобного уже не происходит, т.е. мертвых сессий в 5.1 я уже почти не видел.. Да и те которые бывает появляются не отбрасывают клиента в ошибкой =)

То же самое должно быть применимо и к клиентам которых выкинуло из сети по каким либо причинам, например клиент выдернул у себя шнурок не отключившись от сервера, и он ждет таймаута прежде чем сможет зайти. В подобном случае опять же апдейт пакеты не ходят, иначе по апдейт пакетам менялась бы инфа о сессии... Но т.к. тунеля уже нет, то и слать уже нечего.. имхо..

_________________
Это текст


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 2011, 00:10 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
я думаю определение того что сессия зависла лучше отдать на откуп БГБ


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 апр 2011, 21:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 06 авг 2009, 13:34
Сообщения: 72
Откуда: Уфа
Карма: 0
Не совсем понял, каким образом?

_________________
Это текст


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 17 апр 2011, 05:09 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Kazrarr писал(а):
Не совсем понял, каким образом?

drop.sleep.timeout=3600
наверное таким

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 апр 2011, 09:42 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 06 авг 2009, 13:34
Сообщения: 72
Откуда: Уфа
Карма: 0
skyb писал(а):
Kazrarr писал(а):
Не совсем понял, каким образом?

drop.sleep.timeout=3600
наверное таким


В 5.1 это работает лучше, но в предыдущих версиях как минимум в 4.5-4.6, если сессия завершалась в момент остановки бгб, то она висела до тех пор пока ее не закроешь в мониторе модуля dialup.. :)

_________________
Это текст


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 окт 2012, 13:29 
Не в сети

Зарегистрирован: 25 фев 2011, 15:41
Сообщения: 4
Карма: 3
обновился до 5.2, таблица billing_event_bus пропала. как теперь скидывать сессии из скриптов?


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jommys писал(а):
обновился до 5.2, таблица billing_event_bus пропала. как теперь скидывать сессии из скриптов?

А зачем вам таблица нужна была? если нужно событие бросить, то
Код:
EventProcessor.getInstance().publish( new DialupSessionBreakEvent( mid, recordId ) );


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 окт 2012, 16:58 
Не в сети

Зарегистрирован: 25 фев 2011, 15:41
Сообщения: 4
Карма: 3
stark писал(а):
jommys писал(а):
обновился до 5.2, таблица billing_event_bus пропала. как теперь скидывать сессии из скриптов?

А зачем вам таблица нужна была? если нужно событие бросить, то
Код:
EventProcessor.getInstance().publish( new DialupSessionBreakEvent( mid, recordId ) );


спасибо! (: я сам сериализовал объект и записывал в таблицу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 10 окт 2012, 17:32 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
jommys писал(а):
stark писал(а):
jommys писал(а):
обновился до 5.2, таблица billing_event_bus пропала. как теперь скидывать сессии из скриптов?

А зачем вам таблица нужна была? если нужно событие бросить, то
Код:
EventProcessor.getInstance().publish( new DialupSessionBreakEvent( mid, recordId ) );


спасибо! (: я сам сериализовал объект и записывал в таблицу.


ну это незачем и раньше было делать.


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

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


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

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


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

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