BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 16 июн 2024, 02:52

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




Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 11:45 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
borisk писал(а):
Господа разработчики, проконсультируйте, пожалуйста. Пытаюсь сделать свой макрос с параметрами, по аналогии с deviceAttr
вызов моего макроса $ipChild(0)
код обработки:
Код:
         switch( args.length )
         {
            case 1:
               processRoot = ((Integer)args[0]) >= 1;

копия вашего из deviceAttr, но я получаю Exception в последней строке кода что
Цитата:
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
. Макросы где-то надо еще регистрировать чтобы система понимала типы их параметров?


Попробуйте вот так:
Код:
Integer.valueOf(args[0])


Либо, что более предпочтительно:

Код:
Utils.parseInt(args[0])


В последнем случае, если в аргументе будет не число, то вернется значение 0, а не NumberFormatException.
Также можно использовать перегруженный метод:
Код:
Utils.parseInt(args[0], <custom_default_value>)


где <custom_default_value> - число, которое будет возвращено, если не получится прочитать число из строки args[0]

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 12:34 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Большое спасибо, просто непонятно как же у вас код работает :)
Осталось разобраться почему через 30 секунд сервис снова активируется, хотя статус "закрыт".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 14:24 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
Большое спасибо, просто непонятно как же у вас код работает :)
Осталось разобраться почему через 30 секунд сервис снова активируется, хотя статус "закрыт".



Статус или состояние ? Это 2 разные вещи. Нужно лог получить поподробнее


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 14:28 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Там просто если его отключать из меню отладка, т.е отключить, но реально денгьги есть и он должен быть включен, то если настроен serv.tracking worker, то он его включит. Скорее всего он и включает его обратно. Попробуйте тестировать добавлением/удалением расхода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 14:52 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Нет, уважаемый stark, вы не поняли. Я захожу на сам сервис и меняю ему "статус" на "закрыт". Я ведь могу это делать? И в моем понимании по этому сервису услуга должна отключаться, даже при наличии средств на счете. То же самое и для статуса "заблокирован". Или как мне ограничивать отдельные сервисы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 15:32 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
покажите полный лог что там происходит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 16 авг 2016, 20:09 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Вот. SID == 1027


Вложения:
all.log.gz [10.67 КБ]
Скачиваний: 445
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 15:47 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
И еще какая-то странность. Делаю "закрыть сервис", все отрабатывает как надо, сервис закрывается и
Код:
connection 08-15/20:12:53 ERROR [sa-p-13-t-74] MikrotikServiceActivator - execute: /queue/simple/disable\n=numbers=391:1027
connection 08-15/20:12:53 ERROR [sa-p-13-t-74] MikrotikServiceActivator - result=
!done

Я ничего больше с договором не делаю, жду, и через секунд 30 в логе:
Код:
connection 08-15/20:13:17 ERROR [sa-p-13-t-65] MikrotikServiceActivator - execute: /queue/simple/enable\n=numbers=391:1027
connection 08-15/20:13:17 ERROR [sa-p-13-t-65] MikrotikServiceActivator - result=
!done



Во-первых не понятно почему ERROR, а не DEBUG. В стандартной поставке там вывод DEBUG. Вы не меняли сам обработчик ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 15:56 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
у вас первое отключение приходит от сервера
Цитата:
connection 08-16/19:04:46 DEBUG [sa-p-13-t-20] AcknowledgeConsumer - Caught BGBillingServer:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent] moduleId: 14; pluginId: no; cid: 391; scid: -1; userId: -1; oldInetServ: -1:SNR-S2960-24G: 00030F25FCC0 [172.16.3.1]:4; newInetServ: -1:SNR-S2960-24G: 00030F25FCC0 [172.16.3.1]:4; newInetServState: 0; newInetServOptionList: ; timestamp: 1471356286910



А подключение от accounting-а потом :
Цитата:
connection 08-16/19:05:52 DEBUG [sa-p-13-t-35] AcknowledgeConsumer - Caught BGInetAccounting:Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 14; pluginId: no; cid: 391; scid: -1; userId: 0; deviceId: 189; inetServId: 1027; connectionId: 0; state: 1; accessCode: 0; timestamp: 1471356352653


Нужны логи accounting. Там есть сессии? По трафику ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 16:00 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
про error да, это моя вставка
сессии да, есть, потому что инициация сессия "по трафику", данные собираем по netflow, и понятно, что, даже если сам сервис отключен, то в netflow все равно будет присутствовать паразитный трафик и сессия создастся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 16:05 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
про error да, это моя вставка
сессии да, есть, потому что инициация сессия "по трафику", данные собираем по netflow, и понятно, что, даже если сам сервис отключен, то в netflow все равно будет присутствовать паразитный трафик и сессия создастся.


Это нормально. Сессия должна переводится в состояние отключено и этот трафик не должен считаться. Но нужен лог accountiong-а что там происходит с этим сервисом, почему он его вдруг включает .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 16:12 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Всегда пожалуйста


Вложения:
all.log.gz [19.13 КБ]
Скачиваний: 426
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 16:27 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
этот лог заканчивается в 15:10. А в том было 19:04 ..Хорошо бы как-то это синхронизовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 16:34 
Не в сети
Разработчик

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 17:35 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Так да, я этот лог собирал отдельно. То есть надо собрать одновременно два лога, access + accounting?
Да, как я уже писал - у меня есть родительский сервис с параметрами: устройство + порт + vlan. и к нему дочерние сервисы с параметрами: статическая сеть и привязка трафика netflow


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 17:43 
Не в сети
Разработчик

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 18:46 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Спасибо, работает. Только у вас косячок в MikrotikServiceActivator. У вас там вот такой вот код :)
Код:
           session.doCommand( this.exitCommand );
            // ничего не надо  запускать . на "/quit" приходит ответ c ошибкой !fatal. А у кого-то просто висло на "exit"
            //session.doCommand( this.exitCommand );


Первую строчку надо убрать :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 18:50 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
Спасибо, работает. Только у вас косячок в MikrotikServiceActivator. У вас там вот такой вот код :)
Код:
           session.doCommand( this.exitCommand );
            // ничего не надо  запускать . на "/quit" приходит ответ c ошибкой !fatal. А у кого-то просто висло на "exit"
            //session.doCommand( this.exitCommand );


Первую строчку надо убрать :)



Упс. Исправим .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 17 авг 2016, 18:59 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Ну и как я говорил, вот мой код. Думаю можно добавить в основную ветку и развивать по мере надобности:
AbstractTerminalServiceActivator:

я добавил в getValue последней веткой
Код:
      /*
         Функция проходит по дочерним сервисам и выбирает от туда IP
         Вызов ipchild(processRoot, format, separator)
         processRoot == 1 (по умолчанию) - выбирать IP с основного сервиса тоже
         format:
            1 - возвращает сеть в cidr 192.168.1.0/30 (по умолчанию)
            2 - возвращает сеть в netmask 192.168.1.0/255.255.255.252
         separator - разделительгрупп ("," по умолчанию)
         Работает только со статическими адресами на сервисе и его дочерних сервисах.
         Для динамических вполне, imho, подойдет стандартный набор
         TODO:  ждем предложения
      */
      } else if ("ipchild".equals( macros ) )
      {
         boolean      processRoot = true;
         int         format = 1;
         String      separator = ",";

         switch( args.length )
         {
            case 1:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               break;

            case 2:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               format = Utils.parseInt(String.valueOf(args[1]));
               break;

            case 3:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               format = Utils.parseInt(String.valueOf(args[1]));
               separator = String.valueOf(args[2]);
               break;
         }
         
         StringBuffer   sb = new StringBuffer();

         if( processRoot ) {
            sb.append(getServiceIP(serv, format));
         }

         List<InetServ> servChildren = serv.getChildren();
         if(servChildren != null) {
            for(InetServ child : servChildren) {
               if(sb.length() > 0)
                  sb.append(separator);
               sb.append(getServiceIP(child, format));
            }
         }
         
         return sb.toString();


И вспомогательная функция:
Код:
   /*
       TODO:
   */
   protected String getServiceIP(InetServ serv, int format) throws Exception {
      switch( format ) {
         case 1:
            return IpNet.toString( serv.getAddressFrom(), serv.getAddressTo() );
         case 2:
            int bitMask = IpNet.getMask( serv.getAddressFrom(), serv.getAddressTo() );
            long mask = (0xFFFFFFFFl << (32 - bitMask)) & 0xFFFFFFFFl;

            return IpAddress.toString( serv.getAddressFrom() ) + "/" + IPUtils.convertLongIpToString( mask );
         default:
            return "";
      }
   }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 25 авг 2016, 15:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
stark писал(а):
borisk писал(а):
Да, спасибо, работает. А вот еще появился вопросик: используем схему с родительским сервисом (без ip, просто учет ресурсов), а к нему дочерние сервисы IP. И получается, MikrotikServiceActivator не умеет с таким работать, или я не нашел как?


Не умеет, как ssh и все остальные . Это по хорошему надо делать в базовом предке всех этих сервисов. Какая-то схема делалась отдельно в Manad для этого ( привет, skyb), но заброшена.

Да там проблема с тем что нужно обновляться, а там это проблема, поэтому пока вопрос повисший, но я думаю он всетаки затронется )
А у меня вопрос не совсем по api а по работе с микротиком, смотрите, вот есть тариф на 10 мегабит, он стоит на договоре и если добавить на договор сервис в виде ip и в имени сервиса указать например id сервиса, то все работает и находит и тд. Но, нам нужно этому договору добавить ещё 1 ip, и при добавлении на микротик добавится новое правило и оно будет так же ограничивать этого абонента по 10 мегабит, тоесть каждому ip будет ограничение по 10, итого 20, что не верно. Кто как решает подобную проблему?
есть возможность прописать эти 2 ip через запятую, вида
/queue simple
add max-limit=2M/2M name=id_1 target-addresses=192.168.1.2/32,192.168.1.3/32, но что то как это сделать я ненашел. Может какие то пути решения есть?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 25 авг 2016, 16:23 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
add max-limit=2M/2M name=id_1 target-addresses=192.168.1.2/32,192.168.1.3/32, но что то как это сделать я ненашел. Может какие то пути решения есть?


Как раз это можно сделать, судя по описанию, с помощью дочерних сервисов с ip и функции, которую выложил выше borisk. Но сам код не смотрел пока, не проверял. Как-то так :
Код:
$ipchild(1,1,,)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 25 авг 2016, 17:51 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
borisk писал(а):
Ну и как я говорил, вот мой код. Думаю можно добавить в основную ветку и развивать по мере надобности:
AbstractTerminalServiceActivator:

я добавил в getValue последней веткой
Код:
      /*
         Функция проходит по дочерним сервисам и выбирает от туда IP
         Вызов ipchild(processRoot, format, separator)
         processRoot == 1 (по умолчанию) - выбирать IP с основного сервиса тоже
         format:
            1 - возвращает сеть в cidr 192.168.1.0/30 (по умолчанию)
            2 - возвращает сеть в netmask 192.168.1.0/255.255.255.252
         separator - разделительгрупп ("," по умолчанию)
         Работает только со статическими адресами на сервисе и его дочерних сервисах.
         Для динамических вполне, imho, подойдет стандартный набор
         TODO:  ждем предложения
      */
      } else if ("ipchild".equals( macros ) )
      {
         boolean      processRoot = true;
         int         format = 1;
         String      separator = ",";

         switch( args.length )
         {
            case 1:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               break;

            case 2:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               format = Utils.parseInt(String.valueOf(args[1]));
               break;

            case 3:
               processRoot = Utils.parseInt(String.valueOf(args[0]), 1) == 1;
               format = Utils.parseInt(String.valueOf(args[1]));
               separator = String.valueOf(args[2]);
               break;
         }
         
         StringBuffer   sb = new StringBuffer();

         if( processRoot ) {
            sb.append(getServiceIP(serv, format));
         }

         List<InetServ> servChildren = serv.getChildren();
         if(servChildren != null) {
            for(InetServ child : servChildren) {
               if(sb.length() > 0)
                  sb.append(separator);
               sb.append(getServiceIP(child, format));
            }
         }
         
         return sb.toString();


И вспомогательная функция:
Код:
   /*
       TODO:
   */
   protected String getServiceIP(InetServ serv, int format) throws Exception {
      switch( format ) {
         case 1:
            return IpNet.toString( serv.getAddressFrom(), serv.getAddressTo() );
         case 2:
            int bitMask = IpNet.getMask( serv.getAddressFrom(), serv.getAddressTo() );
            long mask = (0xFFFFFFFFl << (32 - bitMask)) & 0xFFFFFFFFl;

            return IpAddress.toString( serv.getAddressFrom() ) + "/" + IPUtils.convertLongIpToString( mask );
         default:
            return "";
      }
   }

а можно поподробней, куда вставлять? как сервисы разрулить
stark писал(а):
skyb писал(а):
add max-limit=2M/2M name=id_1 target-addresses=192.168.1.2/32,192.168.1.3/32, но что то как это сделать я ненашел. Может какие то пути решения есть?


Как раз это можно сделать, судя по описанию, с помощью дочерних сервисов с ip и функции, которую выложил выше borisk. Но сам код не смотрел пока, не проверял. Как-то так :
Код:
$ipchild(1,1,,)

а будет в коробке? ну или описание хотяб как сделать ^_^

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 30 авг 2016, 12:04 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
В общем смотрите, мой код расчитан только на работу со статическими IP, поскольку берет адрес из сервиса, а не из connection.
Первый кусок надо вставлять в AbstractTeminalServiceActivator::getValue, я добавил в конец, после ветки
Код:
      else if( "vlanList".equals( macros ) )
. Вспомогательную функцию добавляем в любое место AbstractTerminalServiceActivator.

Теперь как использовать:
Создается родительский тип сервиса, например "учет ресурсов", где параметры что нам надо, у меня коммутатор/порт/vlan
Создается к нему дочерний сервис "статический IP", там выбираем статическая сеть.

На договоре так и добавляем.
А использовать как макрос , я же описал в шапке:
Цитата:
Вызов ipchild(processRoot, format, separator)
processRoot == 1 (по умолчанию) - выбирать IP с основного сервиса тоже
format:
1 - возвращает сеть в cidr 192.168.1.0/30 (по умолчанию)
2 - возвращает сеть в netmask 192.168.1.0/255.255.255.252
separator - разделительгрупп ("," по умолчанию)
Работает только со статическими адресами на сервисе и его дочерних сервисах.
Для динамических вполне, imho, подойдет стандартный набор
Цитата:

Например у меня:
Цитата:
sa.command.serv.create=/queue/simple/add\n=name=$contractId:$servId\n=target=$ipchild(0)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 31 авг 2016, 21:30 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Господа, выяснилось, что решение не очень хорошее. Проблема в том, что в большинстве команд можно использовать только один адрес, и /queue редкое исключение из правила. Соответственно нужна какая-то возможность вроде <loop> из manad. Штатной, как я понимаю нет? А вот как свою реализовать поверх уже готового активатора что-то пока не соображу. Есть идеи?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 01 сен 2016, 11:09 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
borisk писал(а):
Господа, выяснилось, что решение не очень хорошее. Проблема в том, что в большинстве команд можно использовать только один адрес, и /queue редкое исключение из правила. Соответственно нужна какая-то возможность вроде <loop> из manad. Штатной, как я понимаю нет? А вот как свою реализовать поверх уже готового активатора что-то пока не соображу. Есть идеи?


Добавил в TODO. <loop> это немного некрасиво сделано было, лучше наверное сделать команды по аналогии с опциями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 01 сен 2016, 18:38 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Спасибо! Ждем с нетерпением :)
Мне почему-то кажется, что самым идеальным вариантом было все же сделать какой-то свой мини скриптовый язык


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 14 сен 2016, 06:17 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
borisk писал(а):
Господа, выяснилось, что решение не очень хорошее. Проблема в том, что в большинстве команд можно использовать только один адрес, и /queue редкое исключение из правила. Соответственно нужна какая-то возможность вроде <loop> из manad. Штатной, как я понимаю нет? А вот как свою реализовать поверх уже готового активатора что-то пока не соображу. Есть идеи?

а где споткнулись? при решении какой задачи? И как поможет <loop>?
просто проблема сейчас та же стоит, вот присматриваюсь как вы решаете

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 14 сен 2016, 11:55 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
skyb писал(а):
borisk писал(а):
Господа, выяснилось, что решение не очень хорошее. Проблема в том, что в большинстве команд можно использовать только один адрес, и /queue редкое исключение из правила. Соответственно нужна какая-то возможность вроде <loop> из manad. Штатной, как я понимаю нет? А вот как свою реализовать поверх уже готового активатора что-то пока не соображу. Есть идеи?

а где споткнулись? при решении какой задачи? И как поможет <loop>?
просто проблема сейчас та же стоит, вот присматриваюсь как вы решаете


Ну он же написал, для каждого ip дочернего вызывать отдельную команду надо. Для варианта
Код:
 target-addresses=192.168.1.2/32,192.168.1.3/32
его решение подойдет . Т.е это решение подходит когда вызывается одна общая команда, в которой стоят либо ip через запятую либо сеть с маской.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: [6.2] MikrotikServiceActivator
СообщениеДобавлено: 20 сен 2016, 16:28 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
ну да, та же проблема, что и у borisk, добавлять Ip можно, но что то ещё делать нельзя. Тогда жду loop или что там придумали

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 59 ]  На страницу Пред.  1, 2

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


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

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


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

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