Перейти к содержимому
Local
Небесный

STG & автоматическая заморозка

Рекомендованные сообщения

Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску.

Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус.

Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. )))

 

Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. )))

 

И еще вылез вопрос:

Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка.

Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. )))

 

Спасибо за внимание товарищи-коллеги и заранее благодарю за советы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Знаю тема поднималась не один раз, прошу не пинайте, потому что так и не нашел разумного ответа по поиску.

Суть в чем, мне как бы вообще не нужна функция, чтобы считало в минус. Как можно заморозить юзера, при уходе в минус.

Это как бы первый вопрос. Суть второго вопроса: Где хранится текст, когда выдает человеку, что его учетная запись заморожена, я бы хотел изменить текст на "На вашем балансе недостаточно средств, пополните счет для продолжения услуги" ... типа того. )))

 

Или может кто-то подскажет, какой модуль считает баблос, что-бы его немного подкорректировать. )))

 

И еще вылез вопрос:

Юзеры имеют доступ в инэт модемным способом, эм даем им модемы в аренду либо покупка.

Вот хорошо бы еще в старе считать эту абонплату: да проблем нету, почему не создать тарифы, где учесть абонплату за модем - такое проходили, при заморозке не считает аренду. ((( Как бы можно было сделать, чтобы при заморозке считало эту чертовую аренду, а то надоело вести бумажные логи в тетрадке. )))

 

Спасибо за внимание товарищи-коллеги и заранее благодарю за советы.

По поводу текста - projects/stargazer/plugins/authorization/inetaccess.cpp:845:

if ((*user)->property.passive.Get())
   {
   SendError(sip, sport, protoVer, "Учетная запись заморожена");
   return 0;
   }

(кодировка - KOI8-R).

 

Остальную часть текста пока не осмыслил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Про аренду: можно с помощью КК снимать у модемных юзеров по крону баблос со счета за аренду модема.

Все никак не допилю сервисы :lol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Баблос считает модуль projects/stargazer/user.cpp:801 и projects/stargazer/user.cpp:897

(методы AddTraffStatU и AddTraffStatD).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял):

if (c > 0)
   property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");

 

Но это quick&dirty.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял):

if (c > 0)
   property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");

 

Но это quick&dirty.

 

Так и не нашел столько строк у себя в файле. )))

В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк.

 

А, забыл еще сказать 406 версия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не снимать абонку при отрицательном балансе можно добавив проверку в строках 1213 и 1245 файла projects/stargazer/user.cpp. Что-то вроде такого (не проверял):

if (c > 0)
   property.cash.Set(c - f, sysAdmin, login, store, "Subscriber fee charge");

 

Но это quick&dirty.

 

Так и не нашел столько строк у себя в файле. )))

В исходниках projects/stargazer/user.cpp в этом файле у меня вообще всего то 807 строк.

 

А, забыл еще сказать 406 версия.

Я для 2.407-rc1 указывал. Короче, это методы ProcessDayFeeSpread и ProcessDayFee.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К стати:

~/Projects/STG/stg-2.406/projects/stargazer$ wc -l user.cpp
1486 user.cpp

И в этой версии это строки 1302 и 1326.

Специально для проверки слил с сайта и распаковал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я уже нашел, не успел отписаться, откомпилил, бум смотреть. )))

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

Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я уже нашел, не успел отписаться, откомпилил, бум смотреть. )))

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

Кстати, а виндового конфигуратора нету на Делфи? Роднее мне этот язык, там бы я его переписал себе под модемы - отдельно все крутилось, просто в одной оболочке было бы.

Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор.

В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic.

Да, сам конфигуратор эту либу не использует - руки не доходят его переписать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор.

В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic.

Да, сам конфигуратор эту либу не использует - руки не доходят его переписать.

 

Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять.

 

Еще вопрос, я вижу в новой сборке в конфиге добавился раздел

 

    # Модуль захвата трафика "mod_cap_nf.so"
   # Принимает информацию о трафике по протоколу NetFlow
   # Второй параметер - это имя модуля без mod_ в начале и .so в конце
   <Module cap_nf>
       # TCPPort - порт для TCP-соединений
       TCPPort = 42111

       # UDPPort - порт для UDP-соединений
       UDPPort = 42111

       # Могут иметь совпадающие значения.
       # Если параметр не указан - соответствующий порт не "прослушивается".
   </Module>

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вроде кто-то что-то когда-то писал на Delphy. Только, кажется, это был авторизатор а не конфигуратор.

В принципе есть srvconf.lib, которую можно собрать как DLL и использовать хоть из Delphy, хоть из Vidual Basic.

Да, сам конфигуратор эту либу не использует - руки не доходят его переписать.

 

Да, авторизатор пислаи под Делфу, знакомый мой, ну что ж тогда бум пробовать что-то на С++ ковырять.

 

Еще вопрос, я вижу в новой сборке в конфиге добавился раздел

 

    # Модуль захвата трафика "mod_cap_nf.so"
   # Принимает информацию о трафике по протоколу NetFlow
   # Второй параметер - это имя модуля без mod_ в начале и .so в конце
   <Module cap_nf>
       # TCPPort - порт для TCP-соединений
       TCPPort = 42111

       # UDPPort - порт для UDP-соединений
       UDPPort = 42111

       # Могут иметь совпадающие значения.
       # Если параметр не указан - соответствующий порт не "прослушивается".
   </Module>

 

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

При чем тут авторизатор? Тем более UDP-шный порт не сможет привязаться - авторизатор тоже по UDP работает, а TCP сделан для совместимости с nf-proxy (или как-то так) от Max.

Порты выбирай любые свободные.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Такой еще вопрос.

Сделал реализацию шейпера через скрипты ОнКоннект и ОнДисконект, все работает прекрасно, если бы не одно НО.

 

Когда когда человек стоит на пометке всегда ОнЛайн, у него скорость не меняется из-за того, что не сработали скрипты ОнДисконект, ОнКонект - скорость не изменилась. Или же когда человек сидит под авторизатором и в этом время Онлайн.

Выход конечно есть, снять галочку, а потом ее поставить, при этом скрипты ОнДисконекта и ОнКонекта отработаются.

У авторизатора отработаются только в том случае, если он отключится-подключится.

 

Пришла такая идея в голову, в скрипт ОнЧендж всунуть, отработку скриптов, с каким-то условием, например:

 

1-е условие: если у человека стоит галка всегда онлайн - отработать скрипты ОнДисконект-ОнКонект.

2-е условие: если человек подключен авторизатором, проверить его на живность - и потом отработать скрипты

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правильно ли я понял что данные для шейпера хранятся в каком-то поле юзера, а настройка шейпера происходит при OnConnect/OnDisconnect?

Тогда более правильное решение - анализировать второй параметр скрипта OnChange (название изменяемого параметра). И если изменяется шейп - вносить соответствующие коррективы. При этом, я думаю, более правильно было бы вынести управление шейпером в отдельные скрипты и вызывать их из OnConnect/OnDisconnect/OnChange, а не дергать OnDisconnect/OnConnect из OnChange.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Тоже вариант. ))) Спасибо за идею.

 

А, вообще 5 день стоит уже стар - полет нормальный !!!

 

root@Shlyz:~# uname -a

Linux Shlyz 2.6.31-14-server #48-Ubuntu SMP Fri Oct 16 15:07:34 UTC 2009 x86_64 GNU/Linux

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

добрый день.
версия старгейзера 2.409 rc2
тоже снимет плату при минусовом балансе
freebsd 9.3
в папке projects/stargazer/ файла user.cpp нету.
куда копать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

добрый день.

версия старгейзера 2.409 rc2

тоже снимет плату при минусовом балансе

Читать документацию. Вот эту: http://stg.net.ua/doc/ch04.html

 

freebsd 9.3

в папке projects/stargazer/ файла user.cpp нету.

куда копать ?

Куда-куда, в Китай! С чего бы ему там быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×