BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 14 май 2024, 07:17

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




Начать новую тему Ответить на тему  [ Сообщений: 30 ] 
Автор Сообщение
 Заголовок сообщения: Подскажите как лучше сделать
СообщениеДобавлено: 23 окт 2015, 19:12 
Не в сети

Зарегистрирован: 28 авг 2015, 14:31
Сообщения: 25
Карма: 0
Добрый день!
Подскажите, пожалуйста, какой тип устройства лучше завести и привязать к стороннему скрипту?
Нам нужно привязать IP к договору . По этому IP не происходит сбор трафика, по договору нет авторизации. Эта формальная привязка названия договора и IP адреса. IP Нужен только при блокировке договора, чтобы скрипт передал атрибуты: IP, состояние договора (выключен, либо включен) внешнему скрипту. Внешний скрипт на python. С его помощью мы блокируем и разблокируем абонентов.
P.S Версия биллинга 6.2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 24 окт 2015, 04:22 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Так зачем тогда тип устройств, ip вносите в параметр договора и скриптом его передавайте. Блокировка происходит при не уплате абонентской платы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 24 окт 2015, 16:33 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Для блокировки/разблокировки абонентов в какой-то внешней системе удобно использовать активаторы модуля Inet: пишите скрипт для активатора на дин. коде и он сам будет делать нужные действия. Здесь много плюсов: не нужен внешний скрипт; если деньги неожиданно кончатся, то сервис сразу заблокируется (не нужно по крону проверку делать); ну и всё в одном месте.

Если Inet используется только для хранения IP-адресов, то смысла в нём нет - зачем платить лишние деньги?

Вообще, задача очень абстрактно написана, тут бы побольше деталей.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 26 окт 2015, 16:29 
Не в сети

Зарегистрирован: 28 авг 2015, 14:31
Сообщения: 25
Карма: 0
Вообщем заводим договор, на договоре есть IP, также на договоре будет тариф с помесячным снятием абон. платы, и опции скорости, думаю как описал "vkulakov" будет правильно.Какие еще детали нужны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 26 окт 2015, 18:52 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Так тогда создавайте произвольный тип устройства. В качестве сервиса активатора пишите свой скрипт, который будет пинать внешнюю систему. В качестве обработчика протокола дефолтный выбирайте - он всё-равно делать ничего не будет.

Пока не понятно в чём сложность и деталей тогда, вроде, достаточно.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 28 окт 2015, 21:47 
Не в сети

Зарегистрирован: 28 авг 2015, 14:31
Сообщения: 25
Карма: 0
Вот пишите свой скрипт это пока проблема, мне пока не понятно с чего начать, в яве не силен(это поправимо), с биллингом только разбираюсь


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 28 окт 2015, 22:19 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
http://wiki.bitel.ru/index.php/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA_%D0%B0%D0%BA%D1%82%D0%B8%D0%B2%D0%B0%D1%86%D0%B8%D0%B8_%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D0%BE%D0%B2_%D0%BF%D0%BE_telnet

viewtopic.php?f=42&t=9154&p=80828#p80903
viewtopic.php?f=44&t=8528&p=69690

Тоже самое есть для SSH, также есть ExecServiceActivator.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 31 мар 2017, 13:39 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Сегодня пробовал протестировать работу ExecServiceActivator, чтобы перейти с SSHServiceActivator на него.

Если пишу простую команду типа touch или ls с параметрами, они отрабатывают. Если же пробую curl или wget для запроса url по http - ничего не происходит и в логах акксеса ошибок тоже нет.

В чем проблема - непонятно. Может быть ExecServiceActivator не может работать с утилитами, которые используют интернет/сетью.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 31 мар 2017, 15:58 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Может SELinux не даёт?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 31 мар 2017, 16:16 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
отключил давно
Код:
[root@billing BGInetAccess]# sestatus
SELinux status:                 disabled


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 03 апр 2017, 15:54 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
может кавычек для URL не хватает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 03 апр 2017, 18:29 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Вот как-то так командую:
sa.command.onAccountingStart=wget "http://xxx.xxx.xxx.xxx/?w=add&i=$ip&r=$option"

Для проверки делал так sa.command.onAccountingStart=touch $ip
Все работало - появлялись файлы с именем ip-адреса в каталоге акксесс сервера


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 05 апр 2017, 17:01 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ikoctya писал(а):
Вот как-то так командую:
sa.command.onAccountingStart=wget "http://xxx.xxx.xxx.xxx/?w=add&i=$ip&r=$option"

Такое
Код:
sa.command.onAccountingStart=echo $PATH
ну или
Код:
sa.command.onAccountingStart=printenv
что говорит?
wget есть в путях, а то может он попросту не видится? Если указать полный путь к wget работает?
Код:
sa.command.onAccountingStart=/usr/bin/wget "http://xxx.xxx.xxx.xxx/?w=add&i=$ip&r=$option"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 00:58 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
$PATH туда не передается
printenv - Тот же результат.
с полным путем ничего не меняется

та же утилита ping из папки /bin срабатывает нормально, а вот curl или wget не работают,
причем просто от любого пользователя работают нормально


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 12:51 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Вот что выковырять получилось:
Код:
connection 04-06/10:21:30  INFO [sa-p-11-t-58] ExecServiceActivator - [AAA: [10.0.0.3]] execute: env
connection 04-06/10:21:30  INFO [sa-p-11-t-58] ExecServiceActivator - HOSTNAME=billing
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
SSH_CLIENT=xx.xx.xx.xx 9106 22
QTDIR=/usr/lib64/qt-3.3
OLDPWD=/opt/BGInetAccess
QTINC=/usr/lib64/qt-3.3/include
SSH_TTY=/dev/pts/7
USER=root
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;
MC_TMPDIR=/tmp/mc-root
PATH=/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
MAIL=/var/spool/mail/root
PWD=/opt/BGInetAccess
LANG=ru_RU.UTF-8
HISTCONTROL=ignorespace
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
HOME=/root
SHLVL=4
MC_SID=6909
LOGNAME=root
CVS_RSH=ssh
QTLIB=/usr/lib64/qt-3.3/lib
SSH_CONNECTION=xx.xx.xx.xx 9106 yy.yy.yy.3 22
LESSOPEN=||/usr/bin/lesspipe.sh %s
G_BROKEN_FILENAMES=1
_=/usr/bin/nohup
NLSPATH=/usr/dt/lib/nls/msg/%L/%N.cat
XFILESEARCHPATH=/usr/dt/app-defaults/%L/Dt


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 13:21 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
В логе сервера команда как выглядит? Там видно что передается или нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 13:59 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
snark писал(а):
В логе сервера команда как выглядит? Там видно что передается или нет?


видно, но ничего дальше не следует...

Код:
connection 04-06/09:52:58  INFO [sa-p-11-t-85] ExecServiceActivator - [AAA: [10.0.0.3]] execute: curl "http://my_http_server_ip/?w=add&i=xxx.xxx.xxx.xxx&r=3"
connection 04-06/09:52:58  INFO [sa-p-11-t-85] ExecServiceActivator -.


на сервере, на который осуществляется запрос, в логах апача тоже пусто!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 14:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
А если просто из командной строки (не из дин.кода) выполнить эту же команду - что будет?

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 14:11 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Phricker писал(а):
А если просто из командной строки (не из дин.кода) выполнить эту же команду - что будет?


Все норм отрабатывает! И на том сервере в логах сразу видно обращение/запрос.

Я вот думаю, может активатору сервиса не хватает каких то прав... !?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 14:17 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ikoctya писал(а):
может активатору сервиса не хватает каких то прав

Так вроде ж от рута работает, нет?
ikoctya писал(а):
Код:
USER=root

Или это твое окружение, а не окружение сервера?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 14:51 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
После 94 строки
Код:
IOUtils.transfer( process.getInputStream(), baos, 256 );
добавьте
Код:
IOUtils.transfer( process.getErrorStream(), baos, 256 );
Нажмите Сохранить и скомпилировать и Перечитать конфигурацию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 15:31 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Amir писал(а):
После 94 строки
Код:
IOUtils.transfer( process.getInputStream(), baos, 256 );
добавьте
Код:
IOUtils.transfer( process.getErrorStream(), baos, 256 );
Нажмите Сохранить и скомпилировать и Перечитать конфигурацию.


А вот и причина:
Код:
curl: (1) Protocol "http not supported or disabled in libcurl

Как исправить только не знаю.

А пока прикрутил "костыль". Сделал bash скриптик с вызовом этой же команды - все сработало. curl тот же. Странно как-то)))

А ещё у меня к разработчикам пожелание!
Может быть есть смысл реализовать что-то вроде "HTTPServiceActivator", который бы осуществлял запросы к нужному веб-серверу прямо из биллинга!?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 15:48 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
"http
- попробуйте убрать кавычки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 15:50 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ikoctya писал(а):
Может быть есть смысл реализовать что-то вроде "HTTPServiceActivator", который бы осуществлял запросы к нужному веб-серверу прямо из биллинга!?

Я не разработчик, но думаю, что в этом нет смыла, т.к. скрипт - этакая "обертка" для качалки, на любом удобном/известном языке (sh/bash/perl/php/etc.), которому будут тупо передаваться параметры, сделает абсолютно все что нужно и даже больше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 17:27 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Amir писал(а):
Цитата:
"http
- попробуйте убрать кавычки.

Спасибо! Работает!

Цитата:
snark писал(а):
ikoctya писал(а):
Может быть есть смысл реализовать что-то вроде "HTTPServiceActivator", который бы осуществлял запросы к нужному веб-серверу прямо из биллинга!?

Я не разработчик, но думаю, что в этом нет смыла, т.к. скрипт - этакая "обертка" для качалки, на любом удобном/известном языке (sh/bash/perl/php/etc.), которому будут тупо передаваться параметры, сделает абсолютно все что нужно и даже больше.



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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 06 апр 2017, 21:36 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ikoctya писал(а):
Не соглашусь! Задачи у всех разные, кому-то может будет удобней делать так

Со мной можно не соглашаться, но сложно отрицать тот факт, что мое предложение со скриптом вписывается в текущее положение дел с активаторами, т.е. его можно реализовать сразу, что называется из коробки, а вот если вам из коробки нужен какой-то особенный активатор с блекджеком и шлюхами, реализующий одному вам (пока?) нужный функционал и вы не хотите его реализовать самостоятельно, то на этом форуме есть известный большинству способ получить желаемое:
dimOn писал(а):
хелпдеск => доработка => профит

Работоспособность данного метода создания доработок неоднократно проверена и признана неувядающей классической.


ikoctya писал(а):
многое оборудование сейчас поддерживает http запросы

Пожалуйста, примеры в студию!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 07 апр 2017, 11:00 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Хотя бы gsm-шлюзы различные


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 07 апр 2017, 13:25 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
GSM шлюз - очень специфичная штука, гораздо менее распространенная чем какой-нибудь свич.
Не советую через GSM шлюз сливать трафик, иначе к вам рано или поздно придут. Инфа 100%


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 07 апр 2017, 14:22 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
У них другое предназначение! СМС-информирование в данном случае


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Подскажите как лучше сделать
СообщениеДобавлено: 07 апр 2017, 15:00 
Не в сети
Клиент

Зарегистрирован: 12 фев 2008, 18:10
Сообщения: 3951
Карма: 249
ikoctya писал(а):
СМС-информирование

Многие для этого GSM шлюз напрямую в СОМ порт втыкают и общаются с ним, так сказать, напрямую.


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

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


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

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


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

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