BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Перезагрузка устройства
СообщениеДобавлено: 17 июн 2012, 21:39 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Добрый день!

Что-то у меня не получается заново вызывать активацию сервисов при перезагрузке устройства. Подскажите, что я забыл?

Видно, что система понимает перезагрузку устройства:
Код:
connection 06-17/21:32:23  INFO [sa-p-9-t-90] FreeBSDDeviceManager - UPTIME: 45
connection 06-17/21:32:23  INFO [sa-p-9-t-90] DeviceManageWorker - Hardware reboot detected
connection 06-17/21:32:23  INFO [sa-p-9-t-9] ServiceActivatorSet - Connecting to device
connection 06-17/21:32:23  INFO [sa-p-9-t-9] ServiceActivatorDeviceWorker - Do task deviceId: 11; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaDeviceInitEvent] moduleId: 5; pluginId: no; cid: global; scid: -1; userId: 0; deviceId: 11; timestamp: 1339947143834
connection 06-17/21:32:23  INFO [sa-p-9-t-9] ServiceActivatorDeviceWorker - Do InetSaDeviceInitEvent task
connection 06-17/21:32:28  INFO [sa-p-9-t-9] ServiceActivatorSet - Disconnecting from device


Но вот serviceCreate после этого не вызываются, в то время как при ручном добавлении/удалении сервисов все отрабатывает. В конфигурации типа устройства:
Код:
# Пауза между выполнениями команды после ошибки
manage.error.pause=5
# Пауза между получением uptime
manage.uptime.pause=120
# Пауза после ошибки, возникшей при получении uptime
manage.uptime.error.pause=120

# Синхронизировать ли сервисы при обнаружении перезагрузки, 0 - не синхронизировать (по умолчанию), 1 - синхронизировать
# (для обнаружения перезагрузки в типе устройства должен быть установлен обработчик управления устройством)
sa.device.sync.onReboot=1
# Вызывать ли при синхронизации для каждого сервиса, 0 - только serviceCreate или 1 (по умолчанию) -
# сначала serviceCancel, а затем serviceCreate
#sa.device.sync.cancelBeforeCreate=1


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

Клиент: вер. 5.2 сборка 999 от 09.06.2012 16:54:03
os: Windows XP; java: Java HotSpot(TM) Client VM, v.1.6.0_31
Сервер: вер. 5.2 сборка 1215 от 14.06.2012 22:10:08
os: FreeBSD; java: OpenJDK 64-Bit Server VM, v.1.6.0_32
ВНИМАНИЕ: Виртуальная машина OpenJDK 64-Bit Server VM не рекомендуется

card вер. 5.2 сборка 178 от 05.06.2012 16:47:51
email вер. 5.2 сборка 166 от 08.06.2012 13:41:32
inet вер. 5.2 сборка 914 от 15.06.2012 15:53:18
ipn вер. 5.2 сборка 229 от 08.06.2012 13:41:33
npay вер. 5.2 сборка 182 от 02.06.2012 03:52:05


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 18 июн 2012, 17:20 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Я еще не очень разобрался в логике работы Inet. Поэтому опишу на пальцах:
Дерево устройств такое:

RDG (абстрактный корень) -> FreeBSD-gw (для него как раз написаны классы активации сервисов и uptime) -> MES-3528 (шаблон физического коммутатора куда подключаются пользователи). В договоре услуга привязывается именно к MES-3528 (я потом планирую реализовать DHCP+Opt82)

Перезагружается, соответственно, FreeBSD-gw


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 20 июн 2012, 18:04 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
up?


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 02 июл 2012, 13:50 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
up. Очень актуально :)


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 02 июл 2012, 19:30 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Теперь вызывается serviceCreate, но e.getNewService().getChildren() == null
Как мне получить доступ к вложенным сервисам?


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 03 июл 2012, 18:48 
Не в сети
Клиент

Зарегистрирован: 15 мар 2009, 14:04
Сообщения: 1337
Карма: 12
Ура! С первого взгляда вроде заработало. Теперь буду крутить, разные каверзы пробовать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 08 авг 2012, 08:59 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
А можно как нибудь синхронизировать 1 определенный сервис?


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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 10 авг 2012, 13:36 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Amir писал(а):
Т.е. вызвать serviceCancel - serviceCreate? Сейчас нет, только sericeModify при пересохранении сервиса. А нужно?

У нас при serviceCancel - serviceCreate удаляется или добавляется(с поднятием сессии) абонент на насе. В случае если абонента по каким либо причинам нет (отреджектило например) приходится либо рукам на насе его поднимать либо пересоздавать сервис либо синхронизировать все сервисы на устройстве чтобы вызвать serviceCreate. Вот подумал если бы в сервисе была его синхронизация, было бы удобнее исправлять такие проблемы. хотя мб я все вижу не так как было задумано.


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А у вас какая схема работы?
Вообще, по логике работы модуля, serviceCreate должен вызываться один раз, когда добавили сервис (или начался его период действия), serviceCancel - когда удалили сервис (кончился его период действия), serviceModify часто - когда кончились/появились деньги (или поменялся статус договора/сервиса, а также при редактировании его в клиенте биллинга) и когда поменялся набор опций из тарифа.
В случае, когда в типе сервиса стоит инициация сессии по сигналу (PPTP/DHCP.82/ISG/CLIPS, т.е. когда возможно одновременно несколько сессий) также вызываются для каждой сессии connectionModify и connectionClose.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 10 авг 2012, 15:28 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Amir писал(а):
А у вас какая схема работы?
Вообще, по логике работы модуля, serviceCreate должен вызываться один раз, когда добавили сервис (или начался его период действия), serviceCancel - когда удалили сервис (кончился его период действия), serviceModify часто - когда кончились/появились деньги (или поменялся статус договора/сервиса, а также при редактировании его в клиенте биллинга) и когда поменялся набор опций из тарифа.
В случае, когда в типе сервиса стоит инициация сессии по сигналу (PPTP/DHCP.82/ISG/CLIPS, т.е. когда возможно одновременно несколько сессий) также вызываются для каждой сессии connectionModify и connectionClose.

Значит логику я понимаю правильно.
У нас при заведении сервиса создается сабскрайбер на RB, при удалении удаляется, при serviceModify он реавторизуется запрашивая актуальные атрибуты.
Бывают случаи что абонента реджектит по каким либо причинам, в нашем случае это не допустимо. Я чтобы не лезть на железку просто синхронизирую сервисы на устройстве после устранения причины реджекта, тем самым пересоздаю их на RB и все становится хорошо. Вот и подумал что здорово было бы в таких случаях вызывать serviceCancel-serviceCreate на определенном сервисе, чтобы не дергались рабочие. Но думаю в моем случае лучше полностью исключить реджект.
В данный момент почему то с radius.disable.accessCodes=1,2,3,4,10,11,12,20,44,45,62 при Reply-Message=1 абонент получает Access-Reject, остальные вроде все получают Accept как и предполагалось.
Reply-Message=1 возвращается если указать период сервиса в который не входит настоящая дата, в этом случае должен сработать serviceCancel и удалить абонента с шейпера - в этом мы уже разобрались, жду обновления после которого думаю все заработает гладко.
Вот так вот все наложилось друг на друга, хотя всеравно странно что radius.disable.accessCodes не реагирует на Reply-Message=1 .


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

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
В данный момент почему то с radius.disable.accessCodes=1,2,3,4,10,11,12,20,44,45,62 при Reply-Message=1
В логах что? IP-адрес для такого случая выдает InetAccess? radius.disable.ipCategories указаны?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 13 авг 2012, 08:57 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Amir писал(а):
Цитата:
В данный момент почему то с radius.disable.accessCodes=1,2,3,4,10,11,12,20,44,45,62 при Reply-Message=1
В логах что? IP-адрес для такого случая выдает InetAccess? radius.disable.ipCategories указаны?


Цитата:
radius 08-13/09:50:16 INFO [rdsLstnr-p-8-t-6] InetNas - Search by username=6
radius 08-13/09:50:16 INFO [rdsLstnr-p-8-t-6] InetRadiusProcessor - [username=6] InetServ not found.
radius 08-13/09:50:16 INFO [rdsLstnr-p-8-t-6] InetRadiusProcessor - Return code=1
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorSet - Connecting to device
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorDeviceWorker - Do task deviceId: 2; Event[ru.bitel.bgbilling.modules.inet.access.sa.event.InetSaAccountingEvent] moduleId: 2; pluginId: no; cid: 6; scid: -1; userId: 0; type: 2; deviceId: 2; connectionId: 404; timestamp: 1344826216130
connection 08-13/09:50:16 INFO [sa-p-12-t-4] InetApplication - TariffOptionMap: {}
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorDeviceWorker - Command result event: ServiceActivatorEvent type=5; inetServId: 5; call: true; oldState: -1; newState: -1; oldOptionSet: 2; newOptionSet: 2
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorDeviceWorker - Processing deviceId:2; command ServiceActivatorEvent type=5; inetServId: 5; call: true; oldState: -1; newState: -1; oldOptionSet: 2; newOptionSet: 2
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorSet - Invoking onAccountingStop
connection 08-13/09:50:16 INFO [sa-p-12-t-4] SmartEdgeServiceActivator - MY SCRIIIIPT! onAccountingStop
connection 08-13/09:50:16 INFO [sa-p-12-t-4] ServiceActivatorDeviceWorker - Process event type[5] result=true
radius 08-13/09:50:16 INFO [rdsLstnr-p-8-t-6] InetRadiusListenerWorker - RESPONSE:
Packet type: Access-Reject
Identifier: 155
Authenticator: {86 6A 8B B3 CD 8A 5C 06 93 4B 98 8B 35 A2 9A E6}
Attributes:
Reply-Message=1

Process time auth: 84

connection 08-13/09:50:20 INFO [sa-p-12-t-1] ServiceActivatorSet - Disconnecting from device
connection 08-13/09:50:20 INFO [sa-p-12-t-1] SmartEdgeServiceActivator - MY SCRIIIIPT! disconnect
connection 08-13/09:50:21 INFO [sa-p-12-t-4] ServiceActivatorSet - Disconnecting from device
connection 08-13/09:50:21 INFO [sa-p-12-t-4] SmartEdgeServiceActivator - MY SCRIIIIPT! disconnect


Да адрес дает InetAccess, но мы поставили флаг radius.disable.mode=1 будет ли отрабатывать radius.disable.ipCategories с ним? Если поставить radius.disable.ipCategories тоже шлет Access-Reject.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 13 авг 2012, 17:21 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
По Reply-Message=1 отписал сюда: viewtopic.php?f=44&t=7090&p=55168#p55168


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Перезагрузка устройства
СообщениеДобавлено: 13 авг 2012, 17:22 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
При radius.disable.mode=1 адрес должен выдавать точно тот же, как если бы не было никакой ошибки (недостаточно денег и т.п.). Т.е. в этом случае radius.disable.ipCategories не нужен.


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

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


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

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


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

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