BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 16:08 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
В стандартном наборе библиотек есть классы для работы c SNMP.
Столкнулся с проблемой отправки OID со значением в формате Unsigned Integer, читая гугл я извращался как только мог но все безрезультатно.

Резал байты, юзал uk.co.westhawk.snmp.stack.AsnUnsInteger из набора либ BGBilling'a
Цитата:
new AsnUnsInteger(Long.valueOf(1)).getValue();

но всерано получаю в логах акаунтинга ru.bitel.bgbilling.common.BGException: uk.co.westhawk.snmp.stack.AgentException: Bad value error...

Есть у кого нибудь успешный опыт отправки OID c Unsigned Integer value из Java? Не хочется на стороне лишние скрипты городить.

PS Еще наткнулся в API Java8 на функционал для этой задачи вроде... )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 16:28 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А если просто AsnInteger - та же ошибка?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 16:37 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Используйте
http://bgbilling.ru/v6.1/javadoc/ru/bit ... lient.html

Там это реализовано.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 17:08 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Amir писал(а):
А если просто AsnInteger - та же ошибка?

Ага таже. :(

stark писал(а):
Используйте
http://bgbilling.ru/v6.1/javadoc/ru/bit ... lient.html

Там это реализовано.

Чего реализовано? )
Я им и отправляю, я не могу получить нужный тип данных описанный выше.


Для наглядности

В консоле из snmpset все отрабатывает
Цитата:
snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.25.255.158 i 1
snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.21.255.158 u 1


В java:
Код:
this.onTvFlag = 0; //int
this.offTvFlag = 1; //int
this.enableFlag = new AsnInteger(1).getValue();

this.toggleTvOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.25.255");
this.reconfigHardwareOidObject =  new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.21.255");

servInterface = serviceActivatorEvent.getNewInetServ().getInterfaceId();

toggleTvOidObject.add(Integer.toString(servInterface));
reconfigHardwareOidObject.add(Integer.toString(servInterface));

toggleTvOid = toggleTvOidObject.getOid();
reconfigHardwareOid = reconfigHardwareOidObject.getOid();

snmpClient.set( toggleTvOid, -1 , onTvFlag); //работает
snmpClient.set( reconfigHardwareOid, -1 , enableFlag );//чего только не пихал не работает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 17:19 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
А почему в snmpset 25.255.158, а в коде 25.255?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 17:25 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
aiwbend писал(а):
Amir писал(а):
А если просто AsnInteger - та же ошибка?

Ага таже. :(

stark писал(а):
Используйте
http://bgbilling.ru/v6.1/javadoc/ru/bit ... lient.html

Там это реализовано.

Чего реализовано? )
Я им и отправляю, я не могу получить нужный тип данных описанный выше.


Для наглядности

В консоле из snmpset все отрабатывает
Цитата:
snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.25.255.158 i 1
snmpset -v2c -c xxx 10.147.51.251 1.3.6.1.4.1.35265.1.21.16.2.1.21.255.158 u 1


В java:
Код:
this.onTvFlag = 0; //int
this.offTvFlag = 1; //int
this.enableFlag = new AsnInteger(1).getValue();

this.toggleTvOidObject = new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.25.255");
this.reconfigHardwareOidObject =  new AsnObjectId("1.3.6.1.4.1.35265.1.21.16.2.1.21.255");

servInterface = serviceActivatorEvent.getNewInetServ().getInterfaceId();

toggleTvOidObject.add(Integer.toString(servInterface));
reconfigHardwareOidObject.add(Integer.toString(servInterface));

toggleTvOid = toggleTvOidObject.getOid();
reconfigHardwareOid = reconfigHardwareOidObject.getOid();

snmpClient.set( toggleTvOid, -1 , onTvFlag); //работает
snmpClient.set( reconfigHardwareOid, -1 , enableFlag );//чего только не пихал не работает


так вам там значение 1 надо передать ? Тогда зачем вам unsigned int вообще ? Я думал вам нужно передать значение, которое выходит за границу signed int-диапазона(например 0xFFFFFFFF) . А значение 1 что в signed, что в unsigned одинаковое будет .


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 23:41 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Amir писал(а):
А почему в snmpset 25.255.158, а в коде 25.255?

там далее интерфейс сервиса добавляет в long массив, а потом забирает oid и отправляет...

stark писал(а):
так вам там значение 1 надо передать ? Тогда зачем вам unsigned int вообще ? Я думал вам нужно передать значение, которое выходит за границу signed int-диапазона(например 0xFFFFFFFF) . А значение 1 что в signed, что в unsigned одинаковое будет .


да 1 нужно, просто интром пробовал не понимает устройство...


Последний раз редактировалось aiwbend 15 май 2014, 00:05, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 14 май 2014, 23:49 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
Блин я похоже опростафилился.
Я юзал SNMP v1, а судя по табличке(http://i.stack.imgur.com/XEvyP.png) там не поддерживается unsigned int, и из линуха юзалась вторая версия...
Утром попробую v2.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 15 май 2014, 09:46 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
C v2 тоже не работает, только теперь явно в логах на тип ругается.
Цитата:
uk.co.westhawk.snmp.stack.AgentException: Wrong type error

Пихал единичку по всякому тоже...


...фуф, запихал в new SetPdu(snmpClient.getSnmpContext()) все отправилось с AsnInteger(1).
Бага в клиенте мб, спасибо за ответы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SNMP value type Unsigned Int
СообщениеДобавлено: 15 май 2014, 16:10 
Не в сети

Зарегистрирован: 20 апр 2011, 09:56
Сообщения: 346
Карма: 19
В пду стеке тоже не отправляет, там просто ероров нет.

А вот так наконец то отправляет, мб пригодится кому нибудь.
Цитата:
snmpClient.set(saveCfgOid, -1, new AsnUnsInteger(1L, SnmpConstants.SMI_V2_UINTEGER32));


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

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


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

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


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

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