BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 27 апр 2024, 15:54

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




Начать новую тему Ответить на тему  [ Сообщений: 29 ] 
Автор Сообщение
 Заголовок сообщения: Работа ServiceActivator
СообщениеДобавлено: 18 июн 2012, 14:34 
Не в сети

Зарегистрирован: 10 мар 2011, 13:10
Сообщения: 122
Откуда: Одинцово
Карма: 0
Есть вопрос.
Есть коммутатор DES-3200-18
Есть динамический класс ru.bitel.bgbilling.inet.dyn.device.des3200.DES320018ServiceActivator
В модуле Inet создан тип устройства DES-3200-18 с этим классом в качестве "Обработчика активации сервисов".
Почему в логах вот такая запись? Почему DES320028ServiceActivator
Код:
06-18/12:19:03  INFO [sa-p-9-t-11] DeviceManageWorker - Hardware reboot detected
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorSet - Connecting to device
06-18/12:21:14  INFO [sa-p-9-t-60] DES320028ServiceActivator - CONNECT
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorDeviceWorker - Do task deviceId: 48; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 1; pluginId: no; cid: 39; scid: -1; userId: 0; type: 1; deviceId: 48; connectionId: 6890; timestamp: 1340007674057
06-18/12:21:14  INFO [sa-p-9-t-60] InetApplication - TariffOptionMap: {}
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=4; inetServId: 21; call: true; oldState: 0; newState: 0; oldOptionSet: 8; newOptionSet: 8
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorDeviceWorker - Processing deviceId:48; command ServiceActivatorEvent type=4; inetServId: 21; call: true; oldState: 0; newState: 0; oldOptionSet: 8; newOptionSet: 8
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorSet - Invoking onAccountingStart
06-18/12:21:14  INFO [sa-p-9-t-60] ServiceActivatorDeviceWorker - Process event type[4] result=true
06-18/12:21:19  INFO [sa-p-9-t-60] ServiceActivatorSet - Disconnecting from device
06-18/12:21:19  INFO [sa-p-9-t-60] DES320028ServiceActivator - DISCONNECT


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 18 июн 2012, 14:41 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Делали перечитать конфигурацию?
В классе DES320018ServiceActivator не указано
Код:
Logger logger = Logger.getLogger( DES320028ServiceActivator.class )
вместо
Код:
Logger logger = Logger.getLogger( DES320018ServiceActivator.class )
?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 18 июн 2012, 15:16 
Не в сети

Зарегистрирован: 10 мар 2011, 13:10
Сообщения: 122
Откуда: Одинцово
Карма: 0
Amir писал(а):
Делали перечитать конфигурацию?
В классе DES320018ServiceActivator не указано
Код:
Logger logger = Logger.getLogger( DES320028ServiceActivator.class )
вместо
Код:
Logger logger = Logger.getLogger( DES320018ServiceActivator.class )
?

Вот! Точно! Всё проверил, а это пропустил. Именно для 18-х в logger было указано неверно!
Спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 09 апр 2013, 14:58 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Установил на тип устройства TelnetServiceActivator, добавил договор с сервисом на этом устройстве, к конфиге устройства для теста прописал команды:
Код:
sa.command.serv.enable=exit
sa.command.serv.disable=exit
sa.command.serv.create=exit
sa.command.serv.cancel=exit
sa.command.inetOption.1.enable=exit
sa.command.inetOption.1.disable=exit

При этом в логах вижу:
Код:
connection 04-09/12:48:12  INFO [sa-p-9-t-80] ServiceActivatorSet - Connecting to device
connection 04-09/12:48:12  INFO [sa-p-9-t-80] TelnetServiceActivator - Connected
connection 04-09/12:48:12  INFO [sa-p-9-t-80] TelnetServiceActivator - admin^M
Password:
connection 04-09/12:48:12  INFO [sa-p-9-t-80] TelnetServiceActivator - Login entered
connection 04-09/12:49:12 ERROR [sa-p-9-t-80] ServiceActivatorDeviceWorker - java.util.concurrent.TimeoutException
ru.bitel.bgbilling.common.BGException: java.util.concurrent.TimeoutException
<------>at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connect(ServiceActivatorSet.java:139)
<------>at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:175)
<------>at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:115)
<------>at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:117)
<------>at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
<------>at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
<------>at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
<------>at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
<------>at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
<------>at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
<------>at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
<------>at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
<------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
<------>at java.lang.Thread.run(Thread.java:662)
<------>at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Caused by: java.util.concurrent.TimeoutException
<------>at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:81)
<------>at bitel.billing.server.util.terminal.TerminalManager.doCommand(TerminalManager.java:37)
<------>at bitel.billing.server.util.terminal.AbstractTerminalSession.doCommand(AbstractTerminalSession.java:94)
<------>at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.connectImpl(TelnetServiceActivator.java:89)
<------>at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.connect(TelnetServiceActivator.java:67)
<------>at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connect(ServiceActivatorSet.java:132)
<------>... 14 more
connection 04-09/12:49:12  INFO [sa-p-9-t-80] ServiceActivatorSet - Disconnecting from device

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 09 апр 2013, 15:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ожидает приглашения (например, admin@switch# ), по умолчанию в конфиге
sa.endSequence=#


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 09 апр 2013, 16:20 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Amir писал(а):
Ожидает приглашения (например, admin@switch# ), по умолчанию в конфиге
sa.endSequence=#

Да проблема в этом была. Но как быть, если в процессе исполнения команд приглашение меняется, например, с <Quidway> на [Quidway] ???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 09 апр 2013, 16:40 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте так:
sa.command.serv.enable=command; $setEndSequence([Quidway]); command; $setEndSequence(<Quidway>);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 09 апр 2013, 17:07 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Amir писал(а):
Попробуйте так:
sa.command.serv.enable=command; $setEndSequence([Quidway]); command; $setEndSequence(<Quidway>);

Бинго))))
Пробовал так в TelnetServiceActivator, и ЗАРАБОТАЛО!!!
Код:
....................
logger.info( session.doCommand( password ) );
      logger.info( "Password entered" );
               
                session.setEndString(  "]" );      
      logger.info( session.doCommand( "system-view" ) );
      
                return super.connect();
   }
....................

Но представленный Вами вариант более гибок! буду его юзать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 10 апр 2013, 15:07 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Тут все ясно. А как быть с переменными сервиса, отправляемыми на сервер telnet или ssh.
К примеру, для простоты:
sa.command.serv.enable=echo $ip $vlan $ port; - отлично работает, переменные передаются на сервер
sa.command.serv.enable=echo $mac; - НЕ Работает.
В документации не нашел, описание переменных, подскажите, пожалуйста переменную с MAC-адресом, или может быть где-то все же есть описание всех переменных сервиса?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 10 апр 2013, 15:23 
Не в сети
Разработчик
Аватара пользователя

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

MAC-адреса похоже нет, в ближайшем обновлении добавим что-нибудь вроде:
Код:
else if( "mac".equals( macros ) )
{
    return InetServ.macAddressToString( serv.getMacAddressListBytes() );
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 апр 2013, 00:06 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Странное поведение. Сервис инициализируется по dhcp. В конфигурации устройства коммутатора
sa.command.serv.create=echo 2 $ip;
sa.command.serv.cancel=echo 2 $ip;
В типе устройства выюбран SSHServiceActivator (измененно только название активатора). Переменная $ip не передается!?
Или может быть это работает только для статически заданных в сервиче адресов?
Код:
connection 04-14/21:57:36  INFO [sa-p-9-t-5] ServiceActivatorSet - Connecting to device
connection 04-14/21:57:56  INFO [sa-p-9-t-5] CentOSServiceActivator - Connected
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorDeviceWorker - Do task deviceId: 6; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServInitEvent] moduleId: 1; pluginId: no; cid
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorDeviceWorker - Do InetSaServInitEvent task
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorDeviceWorker - Do task deviceId: 6; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent] moduleId: 1; pluginId: no; c
connection 04-14/21:57:56  INFO [sa-p-9-t-5] InetApplication - TariffOptionMap: {}
connection 04-14/21:57:56  INFO [sa-p-9-t-5] InetApplication - OptionSet: []
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=3; inetServId: 8; call: true; oldState: 1; newState: 1; oldOptionSet: ; newOp
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorDeviceWorker - Processing deviceId:6; command ServiceActivatorEvent type=3; inetServId: 8; call: true; oldState: 1; newState: 1; oldOptionSet
connection 04-14/21:57:56  INFO [sa-p-9-t-5] ServiceActivatorSet - Invoking serviceCancel
connection 04-14/21:57:56  INFO [sa-p-9-t-5] CentOSServiceActivator - execute: echo 2 [IpAddress:null]
connection 04-14/21:57:57  INFO [sa-p-9-t-5] CentOSServiceActivator - echo 2 [IpAddress:null]^M


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Да, т.к. команды serviceCreate, serviceModify вызываются для сервиса на договоре, соответственно, данные берутся только из сервиса. При старте/стопе соединения вызываются методы onAccountingStart/onAccountingStop, но получение данных соединения для этих методов (например, IP-адреса соединения) в TelnetServiceActivator пока нет (не просили такого еще).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 апр 2013, 18:24 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
А неужели невозможно вытащить данные переменные? Может быть добавите функционал?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 апр 2013, 18:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Можно, но только для методов onAccountingStart/onAccountingStop/connectionModify/connectionClose.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 14 май 2013, 13:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Amir писал(а):
TelnetServiceActivator делали совсем недавно, по запросу.
Переменные можно посмотреть в AbstractTerminalServiceActivator и TelnetServiceActivator, в методе getValue.

MAC-адреса похоже нет, в ближайшем обновлении добавим что-нибудь вроде:
Код:
else if( "mac".equals( macros ) )
{
    return InetServ.macAddressToString( serv.getMacAddressListBytes() );
}


up!

Мне здесь нужна подстановка для "ifaceTitle":

Код:
conf t
interface Fa0/0.123
no shutdown
end


Ну и заодно можно сразу "ifIndex" сделать - вдруг пригодится


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 май 2013, 07:57 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Как-то так:

Код:
        else if( "mac".equals( macros ) )
        {
            return Pattern.quote(InetServ.macAddressToString( serv.getMacAddressListBytes()));
        }
        else if( "ifacetitle".equals( macros ) )
        {
            return Pattern.quote(serv.getTitle());
        }


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 май 2013, 08:37 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ещё просьба: сделайте в SSHServiceActivator поддержку 1 версии ssh:

Код:
connection 05-15/11:36:56 ERROR [sa-p-11-t-83] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: com.jcraft.jsch.JSchException: invalid server's version string
ru.bitel.bgbilling.common.BGException: com.jcraft.jsch.JSchException: invalid server's version string
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connect(ServiceActivatorSet.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:175)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:115)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:117)
        at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
        at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
Caused by: com.jcraft.jsch.JSchException: invalid server's version string
        at com.jcraft.jsch.Session.connect(Session.java:263)
        at bitel.billing.server.util.ssh.SSHSession.initConnection(SSHSession.java:60)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.connect(AbstractTerminalSession.java:53)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.SSHServiceActivator.connect(SSHServiceActivator.java:77)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.connect(ServiceActivatorSet.java:132)
        ... 14 more


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 15 май 2013, 08:43 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Создал отдельную тему:
viewtopic.php?f=44&t=8031


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 24 май 2013, 15:19 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Запил в wiki описание обработчиков активации ssh/telnet, заодно и mikrotik и manad(правда последние 2 не проверял пока).
http://wiki.bgbilling.ru/index.php/%D0% ... 0%B8%D1%8F


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 24 май 2013, 16:53 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Ага, вот это уже интересно. Только почему-то на Wiki исчезла реализация Manad. Кто-нибудь может выложить заново?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 11 июн 2013, 20:03 
Не в сети
Разработчик

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

Вы про эту ?
http://wiki.bgbilling.ru/index.php/%D0% ... _BeanShell

Или про перловую реализацию ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 11 июн 2013, 20:05 
Не в сети
Разработчик

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 01 июл 2013, 10:31 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
У нас появилась необходимость на некоторый устройствах в дереве не выполнять действия по событию.
В типах устройств в установлен TerminalServiceActivator, на некоторых устройствах действия не требуются. Если на этих устройствах установить, к примеру,
Код:
sa.command.serv.create=
, действия не выполняются, НО биллинг подключается по телнет к устройству, ничего не делает и отключается. Мне кажется это не эффективно. Возможно ли добавить какую либо переменную, чтобы, к примеру, при
Код:
sa.command.serv.create="no_connect"
- не пытался даже подключиться к устройству.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 01 июл 2013, 19:23 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В TelnetServiceActivator можно прописать sa.lazyConnect=1.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 04 июл 2013, 14:42 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Да так работает! Все активаторы не отрабатывают. Но как быть, если нужно отключить активаторы только этого устройства (типа устройства), а разрешить работу только родительского устройства.
Поясню. У меня на коммутаторах активатор выполняет включение - отключение портов. Иногда это просто не нужно и на коммутаторе статическая конфигурация! Все коммутаторы в дереве подчиняются шейперу, на котором в любом случае нужно выполнять действия ServiceActivator'а, а при включенной sa.lazyConnect=1 на дочерних устройствах - эти действия не выполняются для сервисов, прикрепленных к коммутаторам.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 04 июл 2013, 14:50 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ошибок нет? С этим параметром должно работать, как просили в предыдущем посте - если нет команд, то просто не выполнять подключение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 04 июл 2013, 14:58 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Да без ошибок, не выполняет команды для данного типа устройств! Это хорошо. Но не выполняются команды родителя, которые должны выполнятся именно активатором родителя, здесь (на конечном коммутаторе эти команды дополнительно не прописать)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 18 июн 2014, 19:35 
Не в сети
Клиент

Зарегистрирован: 06 апр 2013, 21:49
Сообщения: 152
Откуда: Глазов
Карма: 0
Добрый день!
У меня есть вопрос.
Как я могу в обработчике активации сервиса sa.command.serv.create обратиться к атрибуту устройства с вкладки атрибуты?
Пробовал так:
Код:
sa.command.serv.create=$setEndSequence(]); echo $deviceAttr(6,1,0)
sa.command.serv.cancel=$setEndSequence(]); echo $deviceAttr(1)

... и так
Код:
sa.command.serv.create=$setEndSequence(]); echo $deviceAttr($deviceId,1,0)
sa.command.serv.cancel=$setEndSequence(]); echo $deviceAttr(1)


Когда TerminalServiceActivator командует на коммутатор там последняя команда выглядит так: "echo null"
Видимо параметры не передаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Работа ServiceActivator
СообщениеДобавлено: 19 июн 2014, 19:37 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте в Динамических классах сделать "Перекомпилировать все" и потом "Перечитать конфигурацию на серверах".


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

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


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

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


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

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