BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 28 ] 
Автор Сообщение
СообщениеДобавлено: 04 окт 2013, 14:07 
Не в сети

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
Есть 2 устройства, сконфигурированных в модуле Inet
1 мастер, 2 - ведомое.
конфигурации мастера и ведомого - совпадают
активация/деактивация - через telnet на cisco, access-list 198
странный лог при работе модуля по активации/деактивации сервисов, как будто требуется еще какая-то операция
Может, что-то пропустил при конфигурировании?

Конфигурация:

flow.agent.link=1:-1
ip.resource.category=2,4,5
# Количество потоков на worker
ccounting.worker.1.thread.count=1
# Тарификатор:
# минимальная сумма трафика, при которой тарифицировать соединение
accounting.worker.1.tariffication.1.minDeltaAmount=0
# пауза между заданиями тарификации
accounting.worker.1.tariffication.1.delay=10
# максимальное количество тарифицируемых соединений за задание
accounting.worker.1.tariffication.1.batchSize=1000
# Трекер (обработка сессий без наработки):
# пауза между заданиями трекинга
accounting.worker.1.tracking.1.delay=10
# максимальное количество проверенных соединений за задание
accounting.worker.1.tracking.1.batchSize=1000
# Трекер (обработка сервисов модуля без активных сессий, по умолчанию не требуется):
# пауза между заданиями трекинга
accounting.worker.1.serv.tracking.1.delay=20
# максимальное количество проверенных соединений за задание
accounting.worker.1.serv.tracking.1.batchSize=100

#sa.command.timeout=3
sa.command.exit=exit
#sa.command.connect=exit
sa.command.disconnect=exit

#sa.lazyConnect=1
sa.port=23
sa.host=[censored]
sa.endSequence=#

sa.command.connection.enable=exit
sa.command.connection.disable=exit
sa.command.connection.close=exit
sa.command.inetOption.1.enable=exit
sa.command.onAccountingStart=exit
sa.command.onAccountingStop=exit
sa.command.connection.stateModify=exit

sa.command.serv.create.1=conf t
sa.command.serv.create.2=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.create.3=access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.create.4=exit
sa.command.serv.create.5=exit

sa.command.serv.cancel.1=conf t
sa.command.serv.cancel.2=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.cancel.3=no access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.cancel.4=exit
sa.command.serv.cancel.5=exit

sa.command.serv.enable.1=conf t
sa.command.serv.enable.2=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.enable.3=access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.enable.4=exit
sa.command.serv.enable.5=exit

sa.command.serv.disable.1=conf t
sa.command.serv.disable.2=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.disable.3=no access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.disable.4=exit
sa.command.serv.disable.5=exit


BGInetAccess:connection.log:
10-04/15:59:32 INFO [sa-p-7-t-66] ServiceActivatorSet - Connecting to device
10-04/15:59:33 INFO [sa-p-7-t-66] TelnetServiceActivator - Connected
10-04/15:59:35 INFO [sa-p-7-t-66] TelnetServiceActivator - billing
Password:
10-04/15:59:35 INFO [sa-p-7-t-66] TelnetServiceActivator - Login entered
10-04/15:59:36 INFO [sa-p-7-t-66] TelnetServiceActivator -

gw-tur#
10-04/15:59:36 INFO [sa-p-7-t-66] TelnetServiceActivator - Password entered
10-04/15:59:36 INFO [sa-p-7-t-66] ServiceActivatorDeviceWorker - Do task deviceId: 1; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 15; pluginId: no; cid: 2824; scid: -1; userId: 0; deviceId: 1; inetServId: 120; connectionId: 0; state: 1; accessCode: 0; timestamp: 1380856348929
10-04/15:59:36 WARN [sa-p-7-t-66] InetApplication - Accounting period not found for inetServ:120
10-04/15:59:36 INFO [sa-p-7-t-66] InetApplication - OptionSet: []
10-04/15:59:36 INFO [sa-p-7-t-66] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 120; call: false; oldState: 0; newState: 1; oldOptionSet: ; newOptionSet:
10-04/15:59:36 INFO [sa-p-7-t-66] ServiceActivatorDeviceWorker - Processing deviceId:1; command ServiceActivatorEvent type=2; inetServId: 120; call: false; oldState: 0; newState: 1; oldOptionSet: ; newOptionSet:
10-04/15:59:36 INFO [sa-p-7-t-66] ServiceActivatorSet - Invoking serviceModify
10-04/15:59:36 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: conf t
10-04/15:59:37 INFO [sa-p-7-t-66] TelnetServiceActivator - conf t
Enter configuration commands, one per line. End with CNTL/Z.
gw-tur(config)#
10-04/15:59:37 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: access-list 198 dynamic BILL permit ip any host 10.1.7.182
10-04/15:59:37 INFO [sa-p-7-t-64] ServiceActivatorSet - Connecting to device
10-04/15:59:38 INFO [sa-p-7-t-66] TelnetServiceActivator - access-list 198 dynamic BILL permit ip any host 10.1.7.182
gw-tur(config)#
10-04/15:59:38 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: access-list 198 dynamic BILL permit ip host 10.1.7.182 any
10-04/15:59:38 INFO [sa-p-7-t-64] TelnetServiceActivator - Connected
10-04/15:59:40 INFO [sa-p-7-t-64] TelnetServiceActivator - billing
Password:
10-04/15:59:40 INFO [sa-p-7-t-64] TelnetServiceActivator - Login entered
10-04/15:59:40 INFO [sa-p-7-t-66] TelnetServiceActivator - access-list 198 dynamic BILL permit ip host 10.1.7.182 any
gw-tur(config)#
10-04/15:59:40 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: exit
10-04/15:59:41 INFO [sa-p-7-t-66] TelnetServiceActivator - exit
gw-tur#
10-04/15:59:41 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: exit
10-04/15:59:41 INFO [sa-p-7-t-64] TelnetServiceActivator -

gw-tur#
10-04/15:59:41 INFO [sa-p-7-t-64] TelnetServiceActivator - Password entered
10-04/15:59:41 INFO [sa-p-7-t-64] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaServModifyEvent] moduleId: 15; pluginId: no; cid: global; scid: -1; userId: -1; oldInetServ: Juniper SRX100; newInetServ: null; newInetServState: -1; newInetServOptionList: ; timestamp: 1380867842121
10-04/15:59:41 INFO [sa-p-7-t-64] InetApplication - TariffOptionMap: {}
10-04/15:59:41 INFO [sa-p-7-t-64] InetApplication - OptionSet: []
10-04/15:59:41 INFO [sa-p-7-t-64] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=3; inetServId: 87; call: false; oldState: 0; newState: -1; oldOptionSet: ; newOptionSet:
10-04/15:59:41 INFO [sa-p-7-t-64] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=3; inetServId: 87; call: false; oldState: 0; newState: -1; oldOptionSet: ; newOptionSet:
10-04/15:59:41 INFO [sa-p-7-t-64] ServiceActivatorSet - Invoking serviceCancel
10-04/15:59:41 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: conf t
10-04/15:59:42 INFO [sa-p-7-t-64] TelnetServiceActivator - conf t
Enter configuration commands, one per line. End with CNTL/Z.
gw-tur(config)#
10-04/15:59:42 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: no access-list 198 dynamic BILL permit ip any host 172.17.0.61
10-04/15:59:45 INFO [sa-p-7-t-64] TelnetServiceActivator - no access-list 198 dynamic BILL permit ip any host 172.17.0.61
gw-tur(config)#
10-04/15:59:45 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: no access-list 198 dynamic BILL permit ip host 172.17.0.61 any
10-04/15:59:47 INFO [sa-p-7-t-64] TelnetServiceActivator - no access-list 198 dynamic BILL permit ip host 172.17.0.61 any
gw-tur(config)#
10-04/15:59:47 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: exit
10-04/15:59:48 INFO [sa-p-7-t-64] TelnetServiceActivator - exit
gw-tur#
10-04/15:59:48 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: exit
10-04/16:00:41 ERROR [sa-p-7-t-66] EventWorker - Device:1 - null
ru.bitel.bgbilling.common.BGException: Device:1 - null
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:440)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:172)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:152)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:98)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:198)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
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.executeCommand(TelnetServiceActivator.java:146)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:521)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceEnable(AbstractTerminalServiceActivator.java:629)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceModify(AbstractTerminalServiceActivator.java:609)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceModify(ServiceActivatorSet.java:335)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:463)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:436)
... 16 more
10-04/16:00:41 INFO [sa-p-7-t-66] ServiceActivatorSet - Disconnecting from device
10-04/16:00:41 INFO [sa-p-7-t-66] TelnetServiceActivator - execute: exit
10-04/16:00:49 ERROR [sa-p-7-t-64] EventWorker - Device:2 - null
ru.bitel.bgbilling.common.BGException: Device:2 - null
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:440)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:172)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:152)
at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:98)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:198)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
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.executeCommand(TelnetServiceActivator.java:146)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:521)
at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceCancel(AbstractTerminalServiceActivator.java:582)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceCancel(ServiceActivatorSet.java:293)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:493)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:436)
... 16 more
10-04/16:00:49 INFO [sa-p-7-t-64] ServiceActivatorSet - Disconnecting from device
10-04/16:00:49 INFO [sa-p-7-t-64] TelnetServiceActivator - execute: exit


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Похоже, что какой-то команды не хватает либо строка предложения (sa.endSequence) меняется при выполнении. TelnetServiceActivator ждет приглашения 60 секунд (sa.command.timeout) и потом бросает исключение.
Попробуйте выполнить эти команды прямо в консоли, посмотрите как это выглядит.


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
попробовал сделать так - еще хуже стало

вручную все нормально работает


sa.command.serv.cancel.1=conf t
sa.endSequence=gw-tur(config)#
sa.command.serv.cancel.2=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.cancel.3=no access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.cancel.4=exit
sa.endSequence=gw-tur#
sa.command.serv.cancel.5=exit


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

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


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
Username:
Password:

gw-tur#conf t
Enter configuration commands, one per line. End with CNTL/Z.
gw-tur(config)#access-list 198 dynamic BILL permit ip any host 10.1.7.182
gw-tur(config)#exit
gw-tur#exit


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
такое ощущение, на втором exit спотыкается, как будто ожидает еще чего-то


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

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


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
Да, я тоже думал об этом. А какой алгоритм работы с сервисами на устройстве?
в каком порядке идут методы enable|disable|connect|modify - и в каких ситуациях в каком порядке??? в документации слабо описано.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 окт 2013, 16:07 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Amir писал(а):
А второй exit - это отключение telnet соединения? Если да - его, наверное, нужно убрать.

Отключение часто повисает. Если нужно отключить, то правильнее в обработчике активации сервиса(в методе disconnect) вызвать метод session.doCommandAsync( "exit" ). Хотя это не обязательно вроде.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
Если нужно отключить, то правильнее в обработчике активации сервиса(в методе disconnect) вызвать метод session.doCommandAsync( "exit" ).

Этот параметр конфига так и делает:
Код:
sa.command.disconnect=exit


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 окт 2013, 16:21 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Amir писал(а):
Цитата:
Если нужно отключить, то правильнее в обработчике активации сервиса(в методе disconnect) вызвать метод session.doCommandAsync( "exit" ).

Этот параметр конфига так и делает:
Код:
sa.command.disconnect=exit

Ну да, посмотрел. Только вот этот параметр
Код:
sa.command.exit=exit


А sa.command.disconnect выполняется синхронно.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Попробуйте так:
Код:
#sa.command.timeout=3
sa.command.exit=exit
#sa.command.connect=exit
#sa.command.disconnect=exit

#sa.lazyConnect=1
sa.port=23
sa.host=[censored]
sa.endSequence=#

#sa.command.connection.enable=exit
#sa.command.connection.disable=exit
#sa.command.connection.close=exit
#sa.command.inetOption.1.enable=exit
#sa.command.onAccountingStart=exit
#sa.command.onAccountingStop=exit
#sa.command.connection.stateModify=exit

sa.command.serv.create.1=conf t
sa.command.serv.create.2=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.create.3=access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.create.4=exit
#sa.command.serv.create.5=exit

sa.command.serv.cancel.1=conf t
sa.command.serv.cancel.2=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.cancel.3=no access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.cancel.4=exit
#sa.command.serv.cancel.5=exit

sa.command.serv.enable.1=conf t
sa.command.serv.enable.2=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.enable.3=access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.enable.4=exit
#sa.command.serv.enable.5=exit

sa.command.serv.disable.1=conf t
sa.command.serv.disable.2=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.disable.3=no access-list 198 dynamic BILL permit ip host $ip any
sa.command.serv.disable.4=exit
#sa.command.serv.disable.5=exit


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04 окт 2013, 16:29 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
van2002 писал(а):
Да, я тоже думал об этом. А какой алгоритм работы с сервисами на устройстве?
в каком порядке идут методы enable|disable|connect|modify - и в каких ситуациях в каком порядке??? в документации слабо описано.

Уберите везде этот лишний exit. Оставьте его только в
Код:
sa.command.exit=exit


Это команда вызывается один раз , после всех остальных команд. Причем в общем случае даже несколько разных сервисо может синхронизазовать на одном устройстве, а потом вызовет sa.command.exit=exit при отключении один раз. Т.е общий алгоритм такой 1. подключились к устройству (содали сессиию). 2 Сделали все что нужно (enable/disable/modify ), причем для нескольких сервисов сразу возможно(если сразу несколько изменений накопилось. 3. Отключились от устройства, вызвали sa.command.exit и закрыли сессию. Если sa.command.exit пустая, то скорее всего все равно закроется , так как по по любому закрываем сессию (но в общем случае удаленный терминал может кончено об этом не узнать).


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Лучше так

Код:
#sa.command.timeout=3
#асинхронное отлючение
sa.command.exit=exit
#вход в режим конфигурации (общий для всех сервисов на этом устройстве )
sa.command.connect=conf t
#выход из режима конфигурации(общий для всех сервисов на этом устройстве )
sa.command.disconnect=exit

#sa.lazyConnect=1
sa.port=23
sa.host=[censored]
sa.endSequence=#

#sa.command.connection.enable=exit
#sa.command.connection.disable=exit
#sa.command.connection.close=exit
#sa.command.inetOption.1.enable=exit
#sa.command.onAccountingStart=exit
#sa.command.onAccountingStop=exit
#sa.command.connection.stateModify=exit


sa.command.serv.create.1=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.create.2=access-list 198 dynamic BILL permit ip host $ip any




sa.command.serv.cancel.1=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.cancel.2=no access-list 198 dynamic BILL permit ip host $ip any


sa.command.serv.enable.1=access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.enable.2=access-list 198 dynamic BILL permit ip host $ip any



sa.command.serv.disable.1=no access-list 198 dynamic BILL permit ip any host $ip
sa.command.serv.disable.2=no access-list 198 dynamic BILL permit ip host $ip any


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
спасибо, работает


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

Зарегистрирован: 06 июн 2012, 06:15
Сообщения: 26
Карма: 0
Теперь периодически в лог access сервера вываливается вот такое(связано с планировщиком?)
10-10/09:29:08 INFO [sa-p-7-t-79] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:30:08 ERROR [sa-p-7-t-30] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:30:08 INFO [sa-p-7-t-30] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:31:08 ERROR [sa-p-7-t-70] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:31:08 INFO [sa-p-7-t-70] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:32:08 ERROR [sa-p-7-t-64] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:32:08 INFO [sa-p-7-t-64] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:33:08 ERROR [sa-p-7-t-99] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:33:08 INFO [sa-p-7-t-99] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:34:08 ERROR [sa-p-7-t-56] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:34:08 INFO [sa-p-7-t-56] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:35:08 ERROR [sa-p-7-t-5] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:35:08 INFO [sa-p-7-t-5] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:36:08 ERROR [sa-p-7-t-36] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:36:08 INFO [sa-p-7-t-36] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:37:08 ERROR [sa-p-7-t-48] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:37:08 INFO [sa-p-7-t-48] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:38:08 ERROR [sa-p-7-t-32] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:38:08 INFO [sa-p-7-t-32] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:39:08 ERROR [sa-p-7-t-74] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:39:08 INFO [sa-p-7-t-74] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:40:08 ERROR [sa-p-7-t-7] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:40:08 INFO [sa-p-7-t-7] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:41:08 ERROR [sa-p-7-t-93] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:41:08 INFO [sa-p-7-t-93] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:42:08 ERROR [sa-p-7-t-68] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:42:08 INFO [sa-p-7-t-68] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.
10-10/09:43:08 ERROR [sa-p-7-t-23] EventWorker - class ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker: null
java.lang.NullPointerException
at ru.bitel.bgbilling.modules.inet.runtime.device.InetDeviceRuntimeMap.getAndLockSa(InetDeviceRuntimeMap.java:93)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:151)
at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:136)
at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:165)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:267)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)
at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40)
10-10/09:43:08 INFO [sa-p-7-t-23] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 мар 2014, 07:54 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Пробую настроить включение и отключение портов на коммутаторе Edge-Core 3528M через TelnetServiceActivator. Все работает за исключением ошибки на коммутаторе при подаче команды copy run start. Если вводить эту команду вручную, то коммутатор выводит сообщение с вопросом о сохранении конфигурации в файл, который надо подтвердить нажатием клавиши enter:

Код:
zip-0#copy run start
Startup configuration file name [y]:

Write to flash programming.                                                                                                                                                                   
Programming flash started.                                                                                                                                                                     
Success.                                                                                                                                                                                       
zip-0#


И вот этот момент - ожидания коммутатором ответа и нажатие на enter не получается воспроизвести в конфигурации устройства - коммутатор сообщает об ошибках:

Код:
connection 03-28/11:39:32  INFO [sa-p-11-t-3] TelnetServiceActivator - Password entered
connection 03-28/11:39:32  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: config
connection 03-28/11:39:32  INFO [sa-p-11-t-3] TelnetServiceActivator - config
zip-1(config)#
connection 03-28/11:39:32  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Do task deviceId: 36; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 447; scid: -1; userId: 0; deviceId: 36; inetServId: 497; connectionId: 0; state: 0; accessCode: 11; timestamp: 1395970771932
connection 03-28/11:39:32  WARN [sa-p-11-t-3] InetApplication - Accounting period not found for inetServ:497
connection 03-28/11:39:32  INFO [sa-p-11-t-3] InetApplication - OptionSet: []
connection 03-28/11:39:32  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 497; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet:
connection 03-28/11:39:32  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Processing deviceId:36; command ServiceActivatorEvent type=2; inetServId: 497; call: true; oldState: 1; newState: 0; oldOptionSet: ; newOptionSet:
connection 03-28/11:39:32  INFO [sa-p-11-t-3] ServiceActivatorSet - Invoking serviceModify
connection 03-28/11:39:32  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: int eth 1/20
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - int eth 1/20
zip-1(config-if)#
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: shutdown
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - shutdown
zip-1(config-if)#
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: copy run start
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - copy run start
                  ^
% Invalid input detected at '^' marker.
zip-1(config-if)#
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: \n
connection 03-28/11:39:33  INFO [sa-p-11-t-3] TelnetServiceActivator - \n
                 ^
% Invalid input detected at '^' marker.
zip-1(config-if)#
connection 03-28/11:39:33  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Process event type[2] result=true
connection 03-28/11:39:33  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Changing InetServ:497 state and/or options
mq 03-28/11:39:33  INFO [event-proc-p-2-t-1] InetServRuntimeMap - Caught event: Event[ru.bitel.bgbilling.modules.inet.access.event.InetServDeviceStateAndOptionsModifiedEvent] moduleId: 1; pluginId: no; cid: global; scid: -1; userId: -1; deviceId: 36; inetServId: 497; state: 0; optionSet: ; timestamp: 1395970773718
connection 03-28/11:39:37  INFO [sa-p-11-t-2] ServiceActivatorSet - Disconnecting from device
connection 03-28/11:39:38  INFO [sa-p-11-t-3] ServiceActivatorSet - Disconnecting from device
connection 03-28/11:39:38  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: exit
connection 03-28/11:39:38  INFO [sa-p-11-t-3] TelnetServiceActivator - exit
zip-1(config)#


Один из вариантов конфигурации устройства:

Код:
sa.port=23
sa.host=xx.xx.xx.xx


sa.endSequence=#
sa.command.connect=config
sa.command.disconnect=exit

#Команды включения сервиса на устройстве
sa.command.serv.enable.1=int eth 1/20
sa.command.serv.enable.2=no shutdown
sa.command.serv.enable.3=copy run start
sa.command.serv.enable.4=\n

#Команды создания сервиса на устройстве.
sa.command.serv.create.1=int eth 1/20
sa.command.serv.create.2=no shutdown
sa.command.serv.create.3=copy run start
sa.command.serv.create.4=\n

#Команды выключения сервиса на устройстве
sa.command.serv.disable.1=int eth 1/20
sa.command.serv.disable.2=shutdown
sa.command.serv.disable.3=copy run start
sa.command.serv.disable.4=\n

#Команды удаления сервиса с устройства.
sa.command.serv.cancel.1=int eth 1/20
sa.command.serv.cancel.2=shutdown
sa.command.serv.cancel.3=copy run start
sa.command.serv.cancel.4=\n


Возможно ли как-то решить эту проблему?

Информация о версии:

Клиент: вер. 6.0 сборка 1301 от 06.03.2014 16:48:33
os: Linux; java: Java HotSpot(TM) Server VM, v.1.6.0_35
Сервер: вер. 6.0 сборка 1697 от 11.03.2014 16:54:01
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_35

assist вер. 6.0 сборка 105 от 05.02.2014 15:53:10
bill вер. 6.0 сборка 342 от 05.02.2014 19:11:42
card вер. 6.0 сборка 226 от 05.02.2014 15:53:15
dba вер. 6.0 сборка 168 от 05.02.2014 15:53:37
enaza вер. 6.0 сборка 75 от 05.02.2014 15:53:46
gorod вер. 6.0 сборка 169 от 05.02.2014 15:53:47
inet вер. 6.0 сборка 1353 от 11.03.2014 17:16:59
mps вер. 6.0 сборка 210 от 24.02.2014 20:25:19
npay вер. 6.0 сборка 223 от 05.02.2014 15:55:06
paylinks вер. 6.0 сборка 34 от 05.02.2014 15:55:07
qiwi вер. 6.0 сборка 41 от 05.02.2014 15:55:21
rentsoft вер. 6.0 сборка 59 от 05.02.2014 15:55:46
reports вер. 6.0 сборка 210 от 05.02.2014 15:55:46
rscm вер. 6.0 сборка 192 от 05.02.2014 15:55:48
ru.bitel.bgbilling.plugins.cladr вер. 6.0 сборка 121 от 05.02.2014 15:55:14
ru.bitel.bgbilling.plugins.dispatch вер. 6.0 сборка 102 от 06.03.2014 16:49:16
trayinfo вер. 6.0 сборка 176 от 05.02.2014 15:55:51
wellpay вер. 6.0 сборка 38 от 05.02.2014 15:56:19
wm вер. 6.0 сборка 191 от 05.02.2014 15:56:42
yamoney вер. 6.0 сборка 65 от 05.02.2014 15:56:43


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 мар 2014, 18:26 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
abu писал(а):
Пробую настроить включение и отключение портов на коммутаторе Edge-Core 3528M через TelnetServiceActivator. Все работает за исключением ошибки на коммутаторе при подаче команды copy run start. Если вводить эту команду вручную, то коммутатор выводит сообщение с вопросом о сохранении конфигурации в файл, который надо подтвердить нажатием клавиши enter:

Код:
zip-0#copy run start
Startup configuration file name [y]:

Write to flash programming.                                                                                                                                                                   
Programming flash started.                                                                                                                                                                     
Success.                                                                                                                                                                                       
zip-0#


И вот этот момент - ожидания коммутатором ответа и нажатие на enter не получается воспроизвести в конфигурации устройства - коммутатор сообщает об ошибках:



Тут проблема в смене ожидаемого конечного символа. Попробуйте так
Код:
sa.command.serv.enable.3=$setEndSequence(:);copy run start
sa.command.serv.enable.4=$setEndSequence(#);y


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 мар 2014, 08:34 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Ошибка получается вот такая, но при этом сам коммутатор не дает ошибку, как было ранее, о неверно введенной команде:

Код:
connection 03-31/12:23:32  INFO [sa-p-11-t-3] ServiceActivatorSet - Invoking serviceModify
connection 03-31/12:23:32  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: int eth 1/20
connection 03-31/12:23:33  INFO [sa-p-11-t-3] TelnetServiceActivator - int eth 1/20
zip-0(config-if)#
connection 03-31/12:23:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: shutdown
connection 03-31/12:23:33  INFO [sa-p-11-t-3] TelnetServiceActivator - shutdown
zip-0(config-if)#
connection 03-31/12:23:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: ;copy run start
connection 03-31/12:24:33 ERROR [sa-p-11-t-3] AcknowledgeConsumer - Error on device:36 - java.util.concurrent.TimeoutException
ru.bitel.bgbilling.common.BGException: Error on device:36 - java.util.concurrent.TimeoutException
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:468)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:212)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:202)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:83)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:177)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:110)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:218)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:142)
        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: java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:74)
        at bitel.billing.server.util.terminal.TerminalManager.doCommand(TerminalManager.java:39)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.doCommand(AbstractTerminalSession.java:107)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.executeCommand(TelnetServiceActivator.java:147)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:686)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceDisable(AbstractTerminalServiceActivator.java:821)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceModify(AbstractTerminalServiceActivator.java:789)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceModify(ServiceActivatorSet.java:335)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:491)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:464)
        ... 19 more
connection 03-31/12:24:33  INFO [sa-p-11-t-3] ServiceActivatorSet - Disconnecting from device
connection 03-31/12:24:33  INFO [sa-p-11-t-3] TelnetServiceActivator - execute: exit
connection 03-31/12:25:34 ERROR [sa-p-11-t-3] ServiceActivatorSet - Device:36 - null
java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:74)
        at bitel.billing.server.util.terminal.TerminalManager.doCommand(TerminalManager.java:39)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.doCommand(AbstractTerminalSession.java:107)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.executeCommand(TelnetServiceActivator.java:147)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.disconnect(AbstractTerminalServiceActivator.java:719)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.disconnect(TelnetServiceActivator.java:123)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.disconnect(ServiceActivatorSet.java:190)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:231)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:142)
        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)
connection 03-31/12:25:34  INFO [sa-p-11-t-3] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.


В конце запроса коммутатора Startup configuration file name [y]: после двоеточия расположен еще пробел, а потом только курсор ввода. Может быть надо подставить как-то пробел в переменную $setEndSequence(), а не двоеточие? Пробовал пустое значение и в кавычках - не получается.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А так?
$setEndSequence(: )


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 мар 2014, 15:13 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Так тоже не получалось.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 31 мар 2014, 17:53 
Не в сети
Разработчик

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

Какие команды были в итоге ? во всех 4-х блоках ставили команды? timeout у вас наступает при service.cancel


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2014, 06:47 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
хех, как тока не писал, таже фигня

_________________
Код:
  Клиент: вер. 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
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 01 апр 2014, 07:51 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
stark писал(а):
abu писал(а):
Так тоже не получалось.

Какие команды были в итоге ? во всех 4-х блоках ставили команды? timeout у вас наступает при service.cancel


Команды ставил во всех четырех блоках. Статусы в договоре выставлял "Активен" либо "Закрыт". Когда появлялся таймаут, переделывал конфиг устройства на рабочий, чтобы команды на коммутаторе отрабатывали нормально и таймаутов не было, затем менял на следующее значение переменной $setEndSequence. Значения выставлял следующие:

- $setEndSequence(" "), $setEndSequence(""), $setEndSequence(": "), $setEndSequence(":"), $setEndSequence(: ), $setEndSequence(:) - получал таймауты;
- $setEndSequence(), $setEndSequence( ) - получал ошибки от коммутатора на неверную команду.

Настройки устройства:

Код:
sa.endSequence=#

#Команды, выполняемые при подключении к терминалу
sa.command.connect=config
#Команды, выполняемые перед отключением от терминала.
sa.command.disconnect=exit

#Команды включения сервиса на устройстве
sa.command.serv.enable.1=int eth 1/20
sa.command.serv.enable.2=no shutdown
sa.command.serv.enable.3=exit
sa.command.serv.enable.4=$setEndSequence( );copy run start
sa.command.serv.enable.5=$setEndSequence(#);y

#Команды создания сервиса на устройстве.
sa.command.serv.create.1=int eth 1/20
sa.command.serv.create.2=no shutdown
sa.command.serv.create.3=exit
sa.command.serv.create.4=$setEndSequence( );copy run start
sa.command.serv.create.5=$setEndSequence(#);y


#Команды выключения сервиса на устройстве
sa.command.serv.disable.1=int eth 1/20
sa.command.serv.disable.2=shutdown
sa.command.serv.disable.3=exit
sa.command.serv.disable.4=$setEndSequence( );copy run start
sa.command.serv.disable.5=$setEndSequence(#);y

#Команды удаления сервиса с устройства.
sa.command.serv.cancel.1=int eth 1/20
sa.command.serv.cancel.2=shutdown
sa.command.serv.cancel.3=exit
sa.command.serv.cancel.4=$setEndSequence( );copy run start
sa.command.serv.cancel.5=$setEndSequence(#);y


Коммутатор отдает вот что:
Код:
tcpdump -XX -s 0 -i eth1 host XXX.XXX.XXX.XXX and port 23

12:00:05.932358 IP XXX.XXX.XXX.XXX.telnet > YYY.YYY.YYY.YYY.47357: Flags [P.], seq 971:1008, ack 101, win 8192, options [nop,nop,TS val 9118650 ecr 2065196], length 37
        0x0000:  0800 27e3 b5e2 7072 cf65 6c4b 0800 4500  ..'...pr.elK..E.
        0x0010:  0059 6c3a 0000 4006 8e1f ac14 1414 ac14  .Yl:..@.........
        0x0020:  1409 0017 b8fd 0118 b356 3927 7411 8018  .........V9't...
        0x0030:  2000 fe4e 0000 0101 080a 008b 23ba 001f  ...N........#...
        0x0040:  832c 5374 6172 7475 7020 636f 6e66 6967  .,Startup.config
        0x0050:  7572 6174 696f 6e20 6669 6c65 206e 616d  uration.file.nam
        0x0060:  6520 5b79 5d3a 20                        e.[y]:.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 апр 2014, 10:13 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Нашел одну ошибку в конфигурации устройства, необходимо было в каждый блок добавить еще один exit, чтобы команда copy running-config startup-config попадала в "свою" строку приглашения коммутатора.

Упростил конфигурацию устройства:

Код:
#sa.command.connect=config
sa.command.disconnect=exit

sa.command.serv.enable.1=copy running-config startup-config

sa.command.serv.create.1=copy running-config startup-config

sa.command.serv.disable.1=copy running-config startup-config

sa.command.serv.cancel.1=copy running-config startup-config


и просмотрел tcpdump'ом обмен коммутатора с биллингом:

- активатор посылает команду copy running-config startup-config на коммутатор:

Код:
connection 04-02/13:47:19  INFO [sa-p-11-t-8] TelnetServiceActivator - Password entered
connection 04-02/13:47:19  INFO [sa-p-11-t-8] ServiceActivatorDeviceWorker - Do task deviceId: 36; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaStateModifyEvent] moduleId: 1; pluginId: no; cid: 447; scid: -1; userId: 0; deviceId: 36; inetServId: 497; connectionId: 0; state: 1; accessCode: 0; timestamp: 1396410438317
connection 04-02/13:47:19  WARN [sa-p-11-t-8] InetApplication - Accounting period not found for inetServ:497
connection 04-02/13:47:19  INFO [sa-p-11-t-8] InetApplication - OptionSet: []
connection 04-02/13:47:19  INFO [sa-p-11-t-8] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=2; inetServId: 497; call: true; oldState: 0; newState: 1; oldOptionSet: ; newOptionSet:
connection 04-02/13:47:19  INFO [sa-p-11-t-8] ServiceActivatorDeviceWorker - Processing deviceId:36; command ServiceActivatorEvent type=2; inetServId: 497; call: true; oldState: 0; newState: 1; oldOptionSet: ; newOptionSet:
connection 04-02/13:47:19  INFO [sa-p-11-t-8] ServiceActivatorSet - Invoking serviceModify
connection 04-02/13:47:19  INFO [sa-p-11-t-8] TelnetServiceActivator - execute: copy running-config startup-config
connection 04-02/13:47:23  INFO [sa-p-11-t-21] ServiceActivatorSet - Disconnecting from device

- здесь активатор начинает ожидать (?) ответа от коммутатора, тем временем на коммутаторе происходит ожидание команды на ввод (сохранение конфига) от активатора:

Код:
13:47:19.166863 IP активатор.38791 > коммутатор.telnet: Flags [P.], seq 39:74, ack 628, win 142, options [nop,nop,TS val 3101801 ecr 9304320], length 35
        0x0000:  7072 cf65 6c4b 0800 27e3 b5e2 0800 4500  pr.elK..'.....E.
        0x0010:  0057 9934 4000 4006 2127 ac14 1409 ac14  .W.4@.@.!'......
        0x0020:  1414 9787 0017 4682 cae6 11e0 c0c9 8018  ......F.........
        0x0030:  008e 808f 0000 0101 080a 002f 5469 008d  .........../Ti..
        0x0040:  f900 636f 7079 2072 756e 6e69 6e67 2d63  ..copy.running-c
        0x0050:  6f6e 6669 6720 7374 6172 7475 702d 636f  onfig.startup-co
        0x0060:  6e66 6967 0d                             nfig.
...

13:47:19.348618 IP коммутатор.telnet > активатор.38791: Flags [P.], seq 629:704, ack 74, win 8192, options [nop,nop,TS val 9304320 ecr 3101814], length 75
        0x0000:  0800 27e3 b5e2 7072 cf65 6c4b 0800 4500  ..'...pr.elK..E.
        0x0010:  007f a214 0000 4006 581f ac14 1414 ac14  ......@.X.......
        0x0020:  1409 0017 9787 11e0 c0ca 4682 cb09 8018  ..........F.....
        0x0030:  2000 fe0c 0000 0101 080a 008d f900 002f  .............../
        0x0040:  5476 6f70 7920 7275 6e6e 696e 672d 636f  Tvopy.running-co
        0x0050:  6e66 6967 2073 7461 7274 7570 2d63 6f6e  nfig.startup-con
        0x0060:  6669 670d 0a53 7461 7274 7570 2063 6f6e  fig..Startup.con
        0x0070:  6669 6775 7261 7469 6f6e 2066 696c 6520  figuration.file.
        0x0080:  6e61 6d65 205b 6578 6974 5d3a 20         name.[exit]:.

- далее активатор не дожидается ответа, на коммутатор подается команда exit (файл конфигурации переименовывается в "exit" на коммутаторе) из опции sa.command.disconnect, а коммутатор, получив exit, стартует запись конфига. При этом смена переменной $setEndSequence роли, скорее всего, не играет, главное - подать еще одну команду от активатора на коммутатор в момент ее ожидания коммутатором. Логи:

Код:
connection 04-02/13:48:19 ERROR [sa-p-11-t-8] AcknowledgeConsumer - Error on device:36 - java.util.concurrent.TimeoutException
ru.bitel.bgbilling.common.BGException: Error on device:36 - java.util.concurrent.TimeoutException
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:468)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTaskImpl(AsyncEventWorker.java:212)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.notify(AsyncEventWorker.java:202)
        at ru.bitel.bgbilling.kernel.event.AcknowledgeConsumer.onMessage0(AcknowledgeConsumer.java:83)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.internalDoTask(AsyncEventWorker.java:177)
        at ru.bitel.bgbilling.kernel.event.AsyncEventWorker.doTasks(AsyncEventWorker.java:110)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runWorker(ServiceActivatorDeviceWorker.java:218)
        at ru.bitel.bgbilling.kernel.event.EventWorker.internalRunWorker(EventWorker.java:139)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.runImpl(ServiceActivatorDeviceWorker.java:142)
        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: java.util.concurrent.TimeoutException
        at bitel.billing.server.util.terminal.TerminalManager.readFromInput(TerminalManager.java:74)
        at bitel.billing.server.util.terminal.TerminalManager.doCommand(TerminalManager.java:39)
        at bitel.billing.server.util.terminal.AbstractTerminalSession.doCommand(AbstractTerminalSession.java:107)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.TelnetServiceActivator.executeCommand(TelnetServiceActivator.java:147)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.executeCommands(AbstractTerminalServiceActivator.java:686)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceEnable(AbstractTerminalServiceActivator.java:829)
        at ru.bitel.bgbilling.modules.inet.dyn.device.terminal.AbstractTerminalServiceActivator.serviceModify(AbstractTerminalServiceActivator.java:795)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorSet.serviceModify(ServiceActivatorSet.java:335)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doCommand(ServiceActivatorDeviceWorker.java:491)
        at ru.bitel.bgbilling.modules.inet.access.sa.ServiceActivatorDeviceWorker.doTask(ServiceActivatorDeviceWorker.java:464)
        ... 19 more
connection 04-02/13:48:19  INFO [sa-p-11-t-8] ServiceActivatorSet - Disconnecting from device
connection 04-02/13:48:19  INFO [sa-p-11-t-8] TelnetServiceActivator - execute: exit
connection 04-02/13:48:27  INFO [sa-p-11-t-8] TelnetServiceActivator - exit
Write to flash programming.
Programming flash started.
Success.
zip-0#
connection 04-02/13:48:27  INFO [sa-p-11-t-8] ServiceActivatorDeviceWorker - Execution error - waiting 60000ms for next try.


Код:
13:50:27.978802 IP активатор.38792 > коммутатор.telnet: Flags [P.], seq 74:79, ack 704, win 142, options [nop,nop,TS val 3149004 ecr 9304577], length 5
        0x0000:  7072 cf65 6c4b 0800 27e3 b5e2 0800 4500  pr.elK..'.....E.
        0x0010:  0039 2513 4000 4006 9566 ac14 1409 ac14  .9%.@.@..f......
        0x0020:  1414 9788 0017 6278 f5dc 12f8 1f16 8018  ......bx........
        0x0030:  008e 8071 0000 0101 080a 0030 0ccc 008d  ...q.......0....
        0x0040:  fa01 6578 6974 0d                        ..exit.
...

13:50:30.161824 IP коммутатор.telnet > активатор.38792: Flags [P.], seq 726:757, ack 79, win 8192, options [nop,nop,TS val 9304702 ecr 3149514], length 31
        0x0000:  0800 27e3 b5e2 7072 cf65 6c4b 0800 4500  ..'...pr.elK..E.
        0x0010:  0053 a368 0000 4006 56f7 ac14 1414 ac14  .S.h..@.V.......
        0x0020:  1409 0017 9788 12f8 1f2c 6278 f5e1 8018  .........,bx....
        0x0030:  2000 92e8 0000 0101 080a 008d fa7e 0030  .............~.0
        0x0040:  0eca 0d00 5772 6974 6520 746f 2066 6c61  ....Write.to.fla
        0x0050:  7368 2070 726f 6772 616d 6d69 6e67 2e0d  sh.programming..
        0x0060:  0a


После этого активатор продолжает переподключения к коммутатору.


Последний раз редактировалось abu 03 апр 2014, 17:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 апр 2014, 13:31 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Можете дать доступ к Edge-Core 3528M по telnet? НЕ совсем понятно почему там так работает.


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

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
1. Нужно обновиться.
2. Перекомпилировать динамические классы.
3. Нажать кнопку "перечитать конфигурацию на серверах"
4. Добавить такую конфигурацию:
Цитата:
sa.command.serv.enable=$setEndSequence(:);copy running-config startup-config;$setEndSequence(#);\n;

sa.command.serv.create=$setEndSequence(:);copy running-config startup-config;$setEndSequence(#);\n;

sa.command.serv.disable=$setEndSequence(:);copy running-config startup-config;$setEndSequence(#);\n;

sa.command.serv.cancel=$setEndSequence(:);copy running-config startup-config;$setEndSequence(#);\n;


Обновление добавляет поддержку символа "\n".
Еще оказывается нужно учитывать то что синтаксис вида
Код:
sa.command.serv.enable.1

Исключает использование нескольких команд в одной строке , разделенных символом ";". Т.е либо все команды одной строкой, либо все отдельно, нельзя частично комбинировать.

Альтернативная запись этого возможна в таком виде:

Цитата:
sa.command.serv.enable.1=$setEndSequence(:)
sa.command.serv.enable.2=copy running-config startup-config
sa.command.serv.enable.3=$setEndSequence(#)
sa.command.serv.enable.4=\n

sa.command.serv.create.1=$setEndSequence(:)
sa.command.serv.create.2=copy running-config startup-config
sa.command.serv.create.3=$setEndSequence(#)
sa.command.serv.create.4=\n

sa.command.serv.disable.1=$setEndSequence(:)
sa.command.serv.disable.2=copy running-config startup-config
sa.command.serv.disable.3=$setEndSequence(#)
sa.command.serv.disable.4=\n

sa.command.serv.cancel.1=$setEndSequence(:)
sa.command.serv.cancel.2=copy running-config startup-config
sa.command.serv.cancel.3=$setEndSequence(#)
sa.command.serv.cancel.4=\n



Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 03 апр 2014, 17:01 
Не в сети
Клиент

Зарегистрирован: 10 окт 2012, 17:00
Сообщения: 339
Карма: 0
Спасибо большое!

Протестировал на стенде - работает.
Также, при использовании символа \n, необходимо иметь в виду, что одновременно активатором посылается на коммутатор команда exit.


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

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


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

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


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

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