Перейти до

Билинг для 300-500 абонентов.


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

 

покажите пункт где написано что GPL программы не могу использовать CPAN Perl модули ?

В лицензиях самих модулей написано, как можно использовать их код в других проектах. И вы ложите на эти лицензии. Не хорошо. А что по этому поводу думает ваша лицензия GPL - никого не волнует :)

 

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

 

 

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

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 248
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Не поленитесь и сделайте нормально. Не нужно никакких pppoe. Только гемороя себе добавите и тех. поддержке. Стройте простой ipoe на unnumbered, влан на дом или на пользователя.

Извините, не удержался. Если сравнивать Абилс с машинами, то это Ваз2101 на 500 тысяче пробега, с непонятными внутренностями после пердоделок, а  главный специалист сервиса - любитель фильмов ужаса.

Нет ни одного универсального биллинга. Каждый биллинг рассчитан на своего клиента. Самый простой показатель - к-во абонентов. Какие-то биллинги уверенно нацелены на сегмент в 0-5000 абонентов, другие

Posted Images

 

 

які обмеження в безкоштовній версії абіллсу?

Взагалі-то http://abills.net.ua/wiki/doku.php/abills:docs:features:ru#otlichie_kommercheskoj_versii_ot_publichnoj

Але як на мене то відсутнісь повноцінної документації.

 

 

Это как?  :blink:

Мав на увазі більш повноцінну документацію для комерцюзерів (хоча я її ніколи не бачив - можливо там і нічого такого немає).

А з доками з абілсвікі - так можна налаштувати базу як мінімум, але для мене всерівно це наполовину чорний ящик.

Я не заморачуюсь. Поставив - працює - не трогаю.

 

А якщо по темі - яку суму готовий викласти провайдер з абонбазою в 500 юзерів за білінг , висловлюючись мовою автопродаванів - первийвладелецвложенийнетребуетселпоехал?

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

довольно проблемно делать отдельно патчи отдельно другую ветку учитывая что добавление новых возможностей идёт каждую неделю, переход на  git  репозиторий немного улучшил эту ситуация

Вот - об чем и речь: ресурсов мало! Нужно больше людей и организация работы. А Вы до сих пор сами лично что-то пишете или код проверяете?

Если да - то проект живет в ручном режиме и именно Вы являетесь препятствием для его развития.

Если нет - тогда с тестированием нужно что-то делать: надоело быть тестерами.

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

Вибачаюсь що не в тему , але не хотів створювати нового поста 

Тут колись на форумі рахували скільки трафіку потрібно приміром на 500- 1000 юзерів , будь - ласка ткніть носом в цей топік. 

Дякую  :)

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

Вибачаюсь що не в тему , але не хотів створювати нового поста 

Тут колись на форумі рахували скільки трафіку потрібно приміром на 500- 1000 юзерів , будь - ласка ткніть носом в цей топік. 

Дякую  :)

От 500Мбит  до 1Гб хватит вполне  :) 

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

 

Вибачаюсь що не в тему , але не хотів створювати нового поста 

Тут колись на форумі рахували скільки трафіку потрібно приміром на 500- 1000 юзерів , будь - ласка ткніть носом в цей топік. 

Дякую  :)

От 500Мбит  до 1Гб хватит вполне  :)

 

Спасибі , було б добре ще ссилочку цю , там гарно все було розписано =)

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

там писали, що на абонента в середньому потрібно 1-1,5мбіт/с...

Ну всередьному чим більше юзерів, тим менше в пропорції їм треба трафіку.

Ми на майже 500 чоловік використовуємо до 150 мегабіт, іноді і до 100 бува не дотягує.

І від тарифів залежить ще, тому на 1к юзерів з нашими тарифами 300 мегабіт вистачить :)

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

 

там писали, що на абонента в середньому потрібно 1-1,5мбіт/с...

Ну всередьному чим більше юзерів, тим менше в пропорції їм треба трафіку.

Ми на майже 500 чоловік використовуємо до 150 мегабіт, іноді і до 100 бува не дотягує.

І від тарифів залежить ще, тому на 1к юзерів з нашими тарифами 300 мегабіт вистачить :)

 

А які у вас тарифи ?=)

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

 

 

там писали, що на абонента в середньому потрібно 1-1,5мбіт/с...

Ну всередьному чим більше юзерів, тим менше в пропорції їм треба трафіку.

Ми на майже 500 чоловік використовуємо до 150 мегабіт, іноді і до 100 бува не дотягує.

І від тарифів залежить ще, тому на 1к юзерів з нашими тарифами 300 мегабіт вистачить :)

 

А які у вас тарифи ?=)

 

Ві-Фі 3 мегабіта, кабель 10 мегабіт.

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

А ну тоді зрозуміло =)

Мене цікавлять тарифи від 10 до 40

Ну на практиці скажу що тариф від 10 до 40 самі по собі не відрізняються навантаженням на аплінк.

Від 50 вже відчувається різниця, і то коли юзер шось закачує.

В мене статистика така, що торентів десь 30% від усього потоку.

Інше хттп трафік, котрий не такий вже важкий, що навантажувати весь абонскьий канал. Ютуб перші 5 секунд навантажує канал, далі тягне пару мегабіт.

Ну десь 500 мегабіт вам вистачить, більш ніж впевнений, а навіть якщо не вистачить то можно докупити канал, не бачу жодних проблем.

Також не бачу причин на старті брати пів гіга, якщо 100-200 мегабіт на старті позаочі вистачить.

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

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

Спасибі за консультацію  :)

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

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

Спасибі за консультацію  :)

Недешевий у Київстара на мобільних вишках. По 120 гривен за мегабіт.

Ссылка на сообщение
Поделиться на других сайтах
примеры в студию
SELECT id as nas_id, 
    name AS nas_name,
    nas_identifier, 
    descr AS nas_describe, 
    ip AS nas_ip, 
    nas_type, 
    auth_type AS nas_auth_type, 
    mng_host_port as nas_mng_ip_port, 
    mng_user AS nas_mng_user, 
    DECODE(mng_password, 'test12345678901234567890') AS nas_mng_password, 
    rad_pairs AS nas_rad_pairs, 
    alive AS nas_alive, 
    disable AS nas_disable, 
    ext_acct AS nas_ext_acct, 
    gid, 
    address_build, 
    address_street, 
    address_flat, 
    zip, 
    city, 
    country, 
    domain_id, 
    mac,
    changed, 
    location_id
 FROM nas
 WHERE ip='127.0.0.1' and (nas_identifier='accel-ppp' or nas_identifier='')
 ORDER BY nas_identifier DESC;

SELECT id as nas_id, 
    name AS nas_name,
    nas_identifier, 
    descr AS nas_describe, 
    ip AS nas_ip, 
    nas_type, 
    auth_type AS nas_auth_type, 
    mng_host_port as nas_mng_ip_port, 
    mng_user AS nas_mng_user, 
    DECODE(mng_password, 'test12345678901234567890') AS nas_mng_password, 
    rad_pairs AS nas_rad_pairs, 
    alive AS nas_alive, 
    disable AS nas_disable, 
    ext_acct AS nas_ext_acct, 
    gid, 
    address_build, 
    address_street, 
    address_flat, 
    zip, 
    city, 
    country, 
    domain_id, 
    mac,
    changed, 
    location_id
 FROM nas
 WHERE ip='127.0.0.1' and (nas_identifier='accel-ppp' or nas_identifier='')
 ORDER BY nas_identifier DESC;

select
  u.uid,
  DECODE(password, 'test12345678901234567890') AS passwd,
  UNIX_TIMESTAMP() AS session_start,
  UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()), '%Y-%m-%d')) AS day_bagin,
  DAYOFWEEK(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_week,
  DAYOFYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_year,
  u.company_id,
  u.disable,
  u.bill_id,
  u.credit,
  u.activate AS account_activate,
  u.reduction,
  u.ext_bill_id,
  UNIX_TIMESTAMP(u.expire) AS account_expire
     FROM users u
     WHERE 
        u.id='test' AND u.domain_id='0'
        AND (u.expire='0000-00-00' or u.expire > CURDATE())
        AND (u.activate='0000-00-00' or u.activate <= CURDATE())
        AND u.deleted='0'
       GROUP BY u.id;

SELECT ROUND(deposit, 2) FROM bills WHERE id='1';

select  if (dv.logins=0, if(tp.logins is null, 0, tp.logins), dv.logins) AS logins,
  if(dv.filter_id != '', dv.filter_id, if(tp.filter_id is null, '', tp.filter_id)) AS filter,
  if(dv.ip>0, INET_NTOA(dv.ip), 0) AS ip,
  INET_NTOA(dv.netmask) AS netmask,
  dv.tp_id AS tp_num,
  dv.speed AS user_speed,
  dv.cid,
  
  tp.total_time_limit,
  tp.day_time_limit,
  tp.week_time_limit,
  tp.month_time_limit,
  UNIX_TIMESTAMP(DATE_FORMAT(DATE_ADD(curdate(), INTERVAL 1 MONTH), '%Y-%m-01')) - UNIX_TIMESTAMP() AS time_limit,

  tp.total_traf_limit,
  tp.day_traf_limit,
  tp.week_traf_limit,
  tp.month_traf_limit,
  tp.octets_direction,

  if (count(un.uid) + count(tp_nas.tp_id) = 0, 0,
    if (count(un.uid)>0, 1, 2)) AS nas,

  UNIX_TIMESTAMP() AS session_start,
  UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()), '%Y-%m-%d')) AS day_begin,
  DAYOFWEEK(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_week,
  DAYOFYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_year,
  dv.disable,
  tp.max_session_duration,
  tp.payment_type,
  tp.credit_tresshold,
  tp.rad_pairs AS tp_rad_pairs,
  count(i.id) AS intervals,
  tp.age AS account_age,
  dv.callback,
  dv.port,
  tp.traffic_transfer_period,
  tp.neg_deposit_filter_id,
  tp.ext_bill_account,
  tp.credit AS tp_credit,
  tp.ippool as tp_ippool,
  dv.join_service,
  tp.tp_id,
  tp.active_day_fee,
  tp.neg_deposit_ippool AS neg_deposit_ip_pool,
  dv.expire AS dv_expire
     FROM (dv_main dv)
     LEFT JOIN tarif_plans tp ON (dv.tp_id=tp.id AND tp.domain_id='0')
     LEFT JOIN users_nas un ON (un.uid = dv.uid)
     LEFT JOIN tp_nas ON (tp_nas.tp_id = tp.tp_id)
     LEFT JOIN intervals i ON (tp.tp_id = i.tp_id)
     WHERE dv.uid='1'
     AND (dv.expire='0000-00-00' or dv.expire > CURDATE())
     GROUP BY dv.uid;

SELECT ippools.ip, ippools.counts, ippools.id FROM ippools, nas_ippools
     WHERE ippools.id=nas_ippools.pool_id AND nas_ippools.nas_id='1'
     ORDER BY ippools.priority;

SELECT c.framed_ip_address
  FROM dv_calls c
  INNER JOIN nas_ippools np ON (c.nas_id=np.nas_id)
  WHERE np.pool_id in ( 1 )
  GROUP BY c.framed_ip_address;

INSERT INTO dv_calls SET started=now(),
       lupdated        = UNIX_TIMESTAMP(),
       status          = '11',
       acct_session_id = 'IP',
       nas_ip_address  = INET_ATON('127.0.0.1'), nas_id='1', tp_id='100', user_name='test', framed_ip_address=167772224, uid='1';

SELECT id, in_price, out_price, prepaid, in_speed, out_speed, net_id, expression
             FROM trafic_tarifs
             WHERE interval_id='0';

INSERT INTO errors_log (date, log_type, action, user, message, nas_id)
 values (now(), '6', 'AUTH', 'test', 'CID: 192.168.6.94  GT: 0.07730',  '1');

SELECT id as nas_id, 
    name AS nas_name,
    nas_identifier, 
    descr AS nas_describe, 
    ip AS nas_ip, 
    nas_type, 
    auth_type AS nas_auth_type, 
    mng_host_port as nas_mng_ip_port, 
    mng_user AS nas_mng_user, 
    DECODE(mng_password, 'test12345678901234567890') AS nas_mng_password, 
    rad_pairs AS nas_rad_pairs, 
    alive AS nas_alive, 
    disable AS nas_disable, 
    ext_acct AS nas_ext_acct, 
    gid, 
    address_build, 
    address_street, 
    address_flat, 
    zip, 
    city, 
    country, 
    domain_id, 
    mac,
    changed, 
    location_id
 FROM nas
 WHERE ip='127.0.0.1' and (nas_identifier='accel-ppp' or nas_identifier='')
 ORDER BY nas_identifier DESC;

SELECT acct_session_id FROM dv_calls 
    WHERE user_name='test' AND nas_id='1' AND (framed_ip_address=INET_ATON('10.0.0.64') OR framed_ip_address=0);

UPDATE dv_calls SET
         status='1',
         started=FROM_UNIXTIME(1414669426), 
         lupdated=UNIX_TIMESTAMP(), 
         nas_port_id='0', 
         acct_session_id='0000000000fcf9d2', 
         CID='192.168.6.94', 
         CONNECT_INFO=''
         WHERE user_name='test' AND nas_id='1' AND acct_session_id='IP' AND (framed_ip_address=INET_ATON('10.0.0.64') OR framed_ip_address=0) 
         LIMIT 1;

INSERT into s_detail (acct_session_id, nas_id, acct_status, last_update, sent1, recv1, sent2, recv2, id, sum)
   VALUES ('0000000000fcf9d2', '1',
    '1', UNIX_TIMESTAMP(),
    '0', '0',
    '0', '0',
    'test', '0');
 

Так выглядит авторизация обычного пользователя в биллинге Abills. Все хорошо, пока база не наполнена. Но как база наполнится, мы увидим прекраснейшее использование могучих индексом mysql. Особенно таблицы dv_log. А далее будем разбирать deadlock который я думаю так и встречается по сей день.

ps/ Продолжение следует.

 

И раз вы так любите придерживаться стандартов, поправьте вот этот запрос.

select
  u.uid,
  DECODE(password, 'test12345678901234567890') AS passwd,
  UNIX_TIMESTAMP() AS session_start,
  UNIX_TIMESTAMP(DATE_FORMAT(FROM_UNIXTIME(UNIX_TIMESTAMP()), '%Y-%m-%d')) AS day_bagin,
  DAYOFWEEK(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_week,
  DAYOFYEAR(FROM_UNIXTIME(UNIX_TIMESTAMP())) AS day_of_year,
  u.company_id,
  u.disable,
  u.bill_id,
  u.credit,
  u.activate AS account_activate,
  u.reduction,
  u.ext_bill_id,
  UNIX_TIMESTAMP(u.expire) AS account_expire
     FROM users u
     WHERE 
        u.id='test' AND u.domain_id='0'
        AND (u.expire='0000-00-00' or u.expire > CURDATE())
        AND (u.activate='0000-00-00' or u.activate <= CURDATE())
        AND u.deleted='0'
       GROUP BY u.id;

select = SELECT.

 

Навскидку при одновременном подключении 300 пользователей, имеем 14*300=4200 запросов в единицу времени (Deadlock привет).

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

Ну в dv_log тут ничего не попадает (разве что при единомоментном дисконнекте всех юзеров). Но в целом - да, до идеала далеко...

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

Ну в dv_log тут ничего не попадает (разве что при единомоментном дисконнекте всех юзеров). Но в целом - да, до идеала далеко...

Да - это еще одна проблема: отпал нас, время осознания этого у абиллса минут 15, а все это время юзеры досят остальные насы (пппое).
Ссылка на сообщение
Поделиться на других сайтах
Да - это еще одна проблема: отпал нас, время осознания этого у абиллса минут 15, а все это время юзеры досят остальные насы (пппое).

 

Вы это время можете сами регулировать, там оно в конфиге задаётся количество не пришедших acct-interim-update, можете до 5 минут сократить, это если не пришёл хотя бы 1 update. Можете уменьшить время acct-interim-interval и тем самым нагрузить базу еще больше, но Abills быстро осознает, что нас упал. А вообще падение NAS - это в первую очередь проблема NAS.

И да по поводу падений , описанной ситуации, делал Asmodeus фичу, а получилась бага. Там как то сессии с одинаковыми CID на разных нас могли подниматься.

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

То что нас упал он быстро осознает. А вот юзеров при этом он не отпускает - так и умирают сессии вместе с насом и приконнектится юзер уже не может. Но такое стало часто происходить при переходе на акцельпппд - просто там много еще своих тонких настроек.

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

А вот юзеров при этом он не отпускает - так и умирают сессии вместе с насом и приконнектится юзер уже не может

Как это - не отпускает? Как только сессия попадает в зап - все, юзер может коннектиться снова. В зап она попадает после N потерянных алайвов.

 

Один минус - удаляется из запа целиком она всего после 2*N алайвов, я прикрутил себе патчик чтобы в запе она висела Y алайвов (доп.переменная конфига), на случай прерывания связи между биллингом и насами/остановки биллинга на профилактику...

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

Хочу поставить вопрос по другому. Кто переходил с NoDeny 50.33 или других старых версий на какой либо другой биллинг? И на какой и почему? Довольны ли вы результатом?

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

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

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

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

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

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

Вхід

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

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від Firelli
      Снова решил начать заниматься сетями. (в прошлом году сеть продал, и сижу скучаю)
      Билинг был Nodeny+, но как-то маловато, или перерос его. Еще раз его покупать не хочется. (хотя и отработал своих 1000+ клиентов без замечаний)
       
      В идеале утроил бы с  с трекингом для машины/машин и встроенным складом.
      Может подскажете варианты. Те что были в работе и стабильные.
       
    • Від pavlabor
      Продолжение темы
      В основу проекта "Firstprov" положен билинг.
      В данной теме предлагаю обсудить технические требования к билингу.
      1. В перспективе сертификация.
      2. Масштабируемость.
      3. Уровневая система доступа.
      Предусматривает три уровня
      - Дирекция (администрация),
      - оператор (реселлер), реселлер должен иметь два уровня доступа, доступ для постоянных и для временных участников.
      - пользователь.
      Дирекция(администрация) имеет самый высокий статус и имеет доступ ко всем объектам для внесения, редактирования, удаления информации.
      Оператор (реселлер) имеет возможность просматривать всю информацию но доступ к объектам для несения, редактирования, удаления информации имеет исключительно в своем разделе.
      Пользователь имеет стандартный доступ к своему кабинету.
      4. Перевод абона от реселлера к реселлеру.
      5. Билинг должен интегрироваться с платежными системами.
      6. Иметь возможность работать с картами, схемами сетей, показывать активность абонов.
      7. Возможность бекапирования, распределения нагрузки, синхронизация данных.
      8. Возможность доработок, создания дополнительных модулей.
       
      Цена и условия приобретения.
      На первом этапе требуется билинг для тестирования для дирекции и нескольких участников.
      Допустим если проект начнется с пяти реселлеров по 100 клиентов, а потом разростется до двадцати реселлеров и 50 тыс клиентов то хотелось бы увидеть ценник на динамику развития.
      Лично мое пожелание это стартовый взнос и абонка 25 копеек с абона (на 1000 абонов, это 250 грн. в месяц).
       
      Вносите свои предложения по тех условиям, но текущие билинги в стандартном состоянии предлагают довольно широкий ассортимент сервисов.
      К выбору билинга, формированию ТУ прошу подойти ответственно, так как выбранный билинг станет ВАШИМ основным инструментом ведения бизнеса, по финансам не стоит забывать золотое правило - "Любой каприз за ВАШИ деньги".
      Также нужно понимать что данное решение подразумевает "белое ведение бизнеса".
       
      Писателей билинга прошу озвучивать свои предложения. По крайней мере если мы даже не выберем Ваше предложение у Вас появилась возможность достойно презентовать свой товар.
       
      Поехали.
      =============================8<---------------------
       
      Сформировавшиеся предложения
       
    • Від 000000002010s
      Помогите настроить сервер для биллинга (ubiling) с нуля. Ето надо сделать удалено через нет.
      Задачак такова:
      1.Стадартная схема отключения клиета при отрицательном балансе.
      2. Страница о пополнение счета, через приват 24 на карточку.
      Регистрация клиентов по методу ip+mac.
      Есть сервер hp proliant G5.
      Все кто шарит в етом пишите мне.
      Разумеєтса ето не за даром.
      Пишите в личку.
    • Від Martin Odym
      Доброго времени суток уважаемые форумчане. Кратко о сути- даю интернет в частном секторе. построение сети- приход канала на медик-сетевая в серваке (старенький гробик 1 гб озу ддр1, проц на два ядра 1.6) сетевая на выход в 16 порт свитч (тупой)- медики на магистрали (оптику подводим к группе людей дальше от свитча витухой к абонам). Роль билинга выполняет Ubilling. На данный момент число абонентов + - 65 чел. (квартиранты и "периодические плательщики" колыхают  статистику). В последний месяц проц начал проседать (загрузка по cacti по вечерам до 80-90% на процессоре). Вопрос: посоветуйте на какую железку перейти, оставлять юбилинг или же присмотреть другой? 
       
      з.ы Бюджет сети как сами понимаете не резиновый хотелось бы подобрать что то не дорогое и функциональное с примерным запасом на человек 300-400. Сеть собирали сугубо по вторичному рынку так что б.у товары будут предпочтительней. В ответах прошу (по возможности) оставлять ссылки (ссылки на локал вообще чудесно). Большая просьба отвечать тем кто действительно может помочь!!!! Спасибо за внимание.
    • Від 49rpam
      Здравствуйте. Читал чтo мoжнo устанoвить билинг на рoутере нo никгда с этим не сталкивался нужнo пoдключить через негo 30-50 челoвек Ктo м0жет мне в эт0м п0м0чь ну или х0тябы п0дсказать (не бесплан0)

×
×
  • Створити нове...