Jump to content

stg-2.408-rc1


Recommended Posts

Не пойму, где происходит ошибка? На стороне клиента, на стороне сервера, на стороне Stargazer'а? Как это выглядит?

Link to post
Share on other sites
  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Ссылка для скачивания: stg-2.408-rc1.tar.gz ChangeLog:   General: Стандартизован стиль именования параметров: SnakeCase. В документации к XML-RPC API добавлено пропущенное поле 'password' для ме

Заморозили (абонент четко сказал, сколько не будет пользоваться услугами) — не сняли денег.   Не заморозили (не знает абонент на сколько он уедет, когда приедет, сколько будет отсутствовать) — не сн

Значит в роадмап 2.409

vo vremya debug-a s neizmenennym kodom proizoshlo sleduyushee radius.cpp > 20:37:41 > 0040de0f535563af - ('roman', 'Framed-User')

traffcounter_impl.cpp > 20:37:41 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:46 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:51 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:56 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

users_impl.cpp > 20:38:00 > Sec = 1316619480

users_impl.cpp > 20:38:00 > New Minute. old = 37 current = 38

users_impl.cpp > 20:38:00 > RealDelUser() users to del: 0

traffcounter_impl.cpp > 20:38:01 > Monitor=1 file TRAFFCOUNTER /var/stargazer/monitoring/traffcounter_r

traffcounter_impl.cpp > 20:38:01 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:38:01 > Monitor=1 file TRAFFCOUNTER /var/stargazer/monitoring/traffcounter_p

traffcounter_impl.cpp > 20:38:06 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:38:11 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

users_impl.cpp > 20:38:14 > USERS: Del IP Idx

stargazer: users_impl.cpp:640: void USERS_IMPL::DelFromIPIdx(uint32_t): Assertion `ip && "User has non-null ip"' failed.

Aborted

Link to post
Share on other sites

s packet->ip

 

Wed Sep 21 20:41:59 2011 : Info: # Executing section accounting from file /etc/freeradius/sites-enabled/default

Wed Sep 21 20:41:59 2011 : Info: +- entering group accounting {...}

Wed Sep 21 20:41:59 2011 : Debug: rlm_stg: stg_accounting()

Wed Sep 21 20:41:59 2011 : Debug: Acct-Status-Type := Start

Wed Sep 21 20:41:59 2011 : Debug: rlm_stg: stg_accounting() Service-Type defined as 'Framed-User'

Wed Sep 21 20:41:59 2011 : Debug: rlm_stg: stg_accounting error: ''

Wed Sep 21 20:41:59 2011 : Info: ++[stg] returns fail

Wed Sep 21 20:41:59 2011 : Info: Finished request 3.

Link to post
Share on other sites

u stargazera traffcounter_impl.cpp > 20:41:57 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

radius.cpp > 20:41:59 > RADIUS::ProcessAcctStartPacket cannot authorize user 'roman'

users_impl.cpp > 20:42:00 > Sec = 1316619720

users_impl.cpp > 20:42:00 > New Minute. old = 41 current = 42

users_impl.cpp > 20:42:00 > RealDelUser() users to del: 0

traffcounter_impl.cpp > 20:42:02 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:42:07 > FlushAndRemove() packets: 1(rem 0) ip2packets: 2(rem 0)

 

no perevodit usera v online i vpisyvaet emu IP

Link to post
Share on other sites

vo vremya debug-a s neizmenennym kodom proizoshlo sleduyushee radius.cpp > 20:37:41 > 0040de0f535563af - ('roman', 'Framed-User')

traffcounter_impl.cpp > 20:37:41 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:46 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:51 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:37:56 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

users_impl.cpp > 20:38:00 > Sec = 1316619480

users_impl.cpp > 20:38:00 > New Minute. old = 37 current = 38

users_impl.cpp > 20:38:00 > RealDelUser() users to del: 0

traffcounter_impl.cpp > 20:38:01 > Monitor=1 file TRAFFCOUNTER /var/stargazer/monitoring/traffcounter_r

traffcounter_impl.cpp > 20:38:01 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:38:01 > Monitor=1 file TRAFFCOUNTER /var/stargazer/monitoring/traffcounter_p

traffcounter_impl.cpp > 20:38:06 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

traffcounter_impl.cpp > 20:38:11 > FlushAndRemove() packets: 0(rem 0) ip2packets: 0(rem 0)

users_impl.cpp > 20:38:14 > USERS: Del IP Idx

stargazer: users_impl.cpp:640: void USERS_IMPL::DelFromIPIdx(uint32_t): Assertion `ip && "User has non-null ip"' failed.

Aborted

Ну да, при * там IP нету, вполне и 0 может быть.

Link to post
Share on other sites

v obshem dolzhno byt' if (!users->Authorize(ui->GetLogin(), packet->ip, 0xffFFffFF, this))

tak kak if dolzhen srabaryvat' kogda oshibka avtorizacii a ne kogda ona proshla udachno

Да, верно. Это когда схему авторизации менял - недоглядел.

Патч: fix-radius-authorization-patch.diff

Link to post
Share on other sites

Я бы ещё добавил поле в бд , которое помнило последние списание денег у абонента, и при снятии абонентки проверялось бы его значение. Это нашло на меня во время тестирования. Пример: снятие абонентки по дням (не знаю как поведёт себя абонентка по месяцам) если на момент срабатывания действия по снятию ядро биллинга ляжет и абонентка не спишется, то после старта системы было бы правильно это проверить , и списать не списанное

Link to post
Share on other sites

Я бы ещё добавил поле в бд , которое помнило последние списание денег у абонента, и при снятии абонентки проверялось бы его значение. Это нашло на меня во время тестирования. Пример: снятие абонентки по дням (не знаю как поведёт себя абонентка по месяцам) если на момент срабатывания действия по снятию ядро биллинга ляжет и абонентка не спишется, то после старта системы было бы правильно это проверить , и списать не списанное

Это будет списание по интерфалу. Слишком много изменений.

Link to post
Share on other sites

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

Link to post
Share on other sites
  • 2 weeks later...

А можно добавить создание симлинков в принудительном порядке в projects/stargazer/Makefile?

 

diff

92,95c92,95
<   ln -s ../conf-available.d/mod_ao.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ao.conf
<   ln -s ../conf-available.d/mod_ia.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ia.conf
<   ln -s ../conf-available.d/mod_ping.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ping.conf
<   ln -s ../conf-available.d/mod_sg.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_sg.conf
---
>   ln -sf ../conf-available.d/mod_ao.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ao.conf
>   ln -sf ../conf-available.d/mod_ia.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ia.conf
>   ln -sf ../conf-available.d/mod_ping.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_ping.conf
>   ln -sf ../conf-available.d/mod_sg.conf $(PREFIX)/etc/stargazer/conf-enabled.d/mod_sg.conf

Link to post
Share on other sites

у одного из провайдеров (это Домолинк) не происходит начисление абонплаты если выхода в интернет не было и траффик равен 0 даже если баланс положителен, хотелось бы тоже иметь такую опцию, своим тоже возвращаю, но ручным скриптом

 

хотя скрипт уже упрощён, т.к. не приходится возвращать тем кто в минусе :)

Link to post
Share on other sites

у одного из провайдеров (это Домолинк) не происходит начисление абонплаты если выхода в интернет не было и траффик равен 0 даже если баланс положителен, хотелось бы тоже иметь такую опцию, своим тоже возвращаю, но ручным скриптом

 

хотя скрипт уже упрощён, т.к. не приходится возвращать тем кто в минусе :)

Для этого есть "заморозка".

Link to post
Share on other sites
Для этого есть "заморозка".

Заморозили (абонент четко сказал, сколько не будет пользоваться услугами) — не сняли денег.

 

Не заморозили (не знает абонент на сколько он уедет, когда приедет, сколько будет отсутствовать) — не сняли денег, т.к. последняя дата подключения больше 28/29/30/31 дня.

 

# Charge a fee only if user was active 'today' in case of SpreadFee = yes

# or charge a fee only if user was active this month in case of SpreadFee = no

# Parameter: optional

# Values: yes, no

# Default: no

TrueFee = yes

 

На трафик лучше не завязывать, не все используют.

А вообще фича интересная.

Link to post
Share on other sites

Реализовать можно, но в 2.408 этого не будет. Раньше думать надо было, до rc1 :) Сейчас только багофиксы.

Link to post
Share on other sites

ведь в последней версии получается если абонент в минусе, то доступа нет и абонплата не снимается, это логично и при положительном балансе, ну не пользовался человек совсем, было бы замечательно если в следующих версиях будет эта фича :)

Link to post
Share on other sites

да, совсем неплохо было-бы. а то у меня снятие абонплаты (посуточной, если клиент пользовался) реализовано скриптами.

и предложение уважаемому madf:

сделать в настройках:

1. снятие абонплаты по периодам (час, день, месяц ....)

2. снятие или обязательное или только в те периоды, в которые клиент пользовался инетом.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...