BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
СообщениеДобавлено: 05 фев 2015, 14:31 
Не в сети

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Никак не могу построить дереро.

Смысл в том, чтобы включить снятие денег за каждую минуту, если это исходящий трафик.
Вложение:
123123123123.jpg
123123123123.jpg [ 32.39 КБ | Просмотров: 5706 ]


Я считал, что логика тарифного дерева в прикрепленном дереве, как раз выполняет это условие. А получается, что ветка "Тип трафика: Время" не наследуется у корневой "Тип трафика: Исходящий", а сама является корневой.

Как посторить ТП правильно?

Смысл в том, что стоимость тарифицируется по времени, а сессия инициализируется по трафику.
Соответственно, если кто-то в Интеренет решит попинговать или посканировать порты абонента, биллинг инициализирует сессию, и зассчитает это время.
Поэтому мне нужно, чтобы обсчет производился, если был исходящий трафик.


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Что-то я сомневаюсь, что это получится. Сейчас есть время , но нет понятия времени исходящего трафика или времени входящего трафика. Да и с трудом представляю, как вы его считать хотите ? вот пошел пинг - идут входящие запросы и исходящие сразу - как делить это время ?


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

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Только если из привязки убрать входящий трафик вообще.
Но он и учитываться не будет.


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Цитата:
Только если из привязки убрать входящий трафик вообще.
Но он и учитываться не будет.

Вот примерно это и хочу добиться...

Мне важно событие исходящий трафик. Если есть исходящий трафик - считать по времени, если только входящий - не считать. Как-нибудь это возможно построить в ТП??


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Вроде бы нет.
А с какой точностью должно быть? Например, в течении десяти минут раз в минуту очень короткий промежуток времени появляется исходящий трафик. Это сколько будет времени?
Трафик по netflow?


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Трафик по нетфлоу.

Про точность не понял? В течении какого времени закрывать сессию? Или что


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
oldb0y писал(а):
Трафик по нетфлоу.

Про точность не понял? В течении какого времени закрывать сессию? Или что


И это тоже. Если у вас в течении часа через каждый 10 минут посылать пинг и в ответ будет несколько байт исходящего трафика и больше ничего - весь час считать по времени ? Или вы хотите настроить маленький timeout(30 секунд например) чтобы у вас было много сессии по 30 секунд ?


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
у меня connection.close.timeout=30, так и оставлю. То есть хотел сказать что 30 сек.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05 фев 2015, 16:26 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Установить в тарифе или в типах трафика не получится.
Можем сделать фильтр по входящему/исходящему для типа сервиса (через конфиг типа сервиса) или для устройства (через конфиг устройства или типа устройства источника).


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Amir
Цитата:
Можем сделать фильтр по входящему/исходящему для типа сервиса...

Можно подробнее?

Созрело промежуточное решение. Может кому пригодится. Отмечу его надо додумывать! И для меня оно подходит, потому что есть лимиты по скорости.

А смысл решение заключается в "от обратного". Изначально ТП шел - 1.76 уе за минуту и ограничение по скорости 1 Мб. Следует, что за минуту абонент может скачать 7.5 МБ на максимальной скорости, соответственно каждые 7.5 МБ тарифицируем 1.76 у.е. (2 МБ в ТП выделены как раз для пингов)

Вложение:
000.jpg
000.jpg [ 29.81 КБ | Просмотров: 5673 ]


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Спасибо, разрабам!
Задача реализована в 1485 билде Inet модуля (6.0):
Код:
Фильтр по направлению flow-трафика для сессий по трафику serv.flow.active.filterIn=1 или serv.flow.active.filterOut=1 (указываеься в конфиге типа сервиса). При указании сессия при наличии только заданного трафика создаваться не будет или закроется по таймауту.


Тема теперь на 100% рассматривается в рамкамх Inet-модуля (может перенести?)


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Создал сервис, который включается при исходящем трафике, теперь в логах пишет:
Код:
collector 02-15/21:43:32 ERROR [flow-p-9-t-6] WorkerTask - Lock wait timeout for ContractRuntime[1842]@7330828
java.lang.RuntimeException: Lock wait timeout for ContractRuntime[1842]@7330828
   at ru.bitel.common.util.CheckReentrantLock.tryLockEx(CheckReentrantLock.java:88)
   at ru.bitel.bgbilling.kernel.contract.runtime.ContractRuntime.tryLockEx(ContractRuntime.java:173)
   at ru.bitel.bgbilling.modules.inet.runtime.InetServRuntime.tryLockEx(InetServRuntime.java:572)
   at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.getConnection(FlowAgentInterface.java:97)
   at ru.bitel.bgbilling.modules.inet.accounting.FlowAgentInterface.processFlow(FlowAgentInterface.java:188)
   at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl0(FlowListenerWorker.java:248)
   at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.processPacketImpl(FlowListenerWorker.java:141)
   at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorkerNetflow.processPacket(FlowListenerWorkerNetflow.java:29)
   at ru.bitel.bgbilling.modules.inet.collector.FlowListenerWorker.runImpl(FlowListenerWorker.java:58)
   at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
   at java.lang.Thread.run(Thread.java:619)
   at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Caused by: java.lang.RuntimeException: OwnerThread: Thread[flow-p-10-t-5,5,main]
   at sun.misc.Unsafe.park(Native Method)
   at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
   at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925)
   at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
   at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:946)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:906)
   ... 2 more


Конфиг сервиса:
Код:
title.pattern=(Static (time): ${addressRange})
radius.realm=static
const.device.id=6
serv.flow.active.filterIn=1


Конфиг устройства:
Код:
connection.start.fromAccept=1
connection.start.fromUpdate=1
connection.suspend.timeout=30
connection.close.timeout=30
connection.finish.timeout=5
session.split.onDeviceState=1
session.split.onTariffOption=1
connection.close.timeout.forceClose=1


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Очередь MQ:
Вложение:
1111111111111111111111.png
1111111111111111111111.png [ 65.33 КБ | Просмотров: 5634 ]


Вложение:
localhost_Queues.png
localhost_Queues.png [ 838.92 КБ | Просмотров: 5634 ]


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2015, 17:54 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Да, извините, нашли ошибку. Сегодня выложим.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 16 фев 2015, 20:45 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Выложили исправление.
Не забудьте сделать бэкап старых библиотек.


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

Зарегистрирован: 28 авг 2014, 09:26
Сообщения: 162
Карма: 0
Amir
Спасибо. Ошибки в логах ушли!

И тесты показали, себя хорошо...

Жду теперь тестов на реальном абоненте (все будет работать, хочется только подтвердить)

Спасибо еше раз)


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

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


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

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


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

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