[SNMP4J] - BER -> OID resolution i.e : snmpCommunityName

Frank Fock fock at agentpp.com
Thu Jan 2 18:15:00 CET 2014


Hi Maurice,

OK, I understand.
To get the index decoded too, two steps are ncessary:

1. Set the OID format to:
smiManager.setOidFormat(SmiManager.OIDFormat.ObjectNameAndDecodedIndex);

2. Call  oOID.format();

While investigating this, I found two issues with SNMP4JSMI 1.0.1:

1. When activating the OID format OIDFormat.ObjectNameAndDecodedIndex 
object names
of non-instance OIDs (i.e. objects in the MIB tree path like "mib-2") 
will be decoded as
numeric OIDs only. This bug will be fixed with version 1.0.2 coming very 
soon.

2. Currently "OID.toString()" will not return object names with decoded 
index, because
such OIDs cannot be parsed and thus are not suitable for rountrip 
conversion.
However, I think I have found  a solution to be able to do round-trip 
index conversion
and will implement it for version 1.0.2 too.

Best regards,
Frank


Am 02.01.2014 04:40, schrieb Garcia, Maurice:
>
> Thanks for the quick reponse!!
>
> I am using the SNMP4J-SMI with the purchased license.
>
> I used both the OID.format() and OID.toString, but I am getting the 
> same result.
>
> *if*(*true*) {
>
> System./out/.println("BEROIDConversion.getOidName() - BER: "+ 
> *new*HexString(bBER).toString());
>
> System./out/.println("BEROIDConversion.getOidName() - OID.toString(): 
> "+ oOID.toString());
>
> System./out/.println("BEROIDConversion.getOidName() - OID.format(): "+ 
> oOID.format());
>
> }
>
> BEROIDConversion.getOidName() - BER: 30 1C 06 11 2B 06 01 06 03 12 01 
> 01 01 02 6D 74 61 70 72 6F 76 04 07 6D 74 61 5F 70 77 64
>
> BEROIDConversion.getOidName() - OID.toString(): 
> snmpCommunityName.109.116.97.112.114.111.118
>
> BEROIDConversion.getOidName() - OID.format(): 
> snmpCommunityName.109.116.97.112.114.111.118
>
> Am I doing something wrong, or is there more to the setup of SMI?
>
> Thanks,
>
> Maurice
>
> *From:*Frank Fock [mailto:fock at agentpp.com]
> *Sent:* Wednesday, January 01, 2014 12:03 PM
> *To:* Garcia, Maurice; snmp4j at agentpp.org
> *Subject:* Re: [SNMP4J] - BER -> OID resolution i.e : snmpCommunityName
>
> Hi Maurice,
>
> I think the BER (Basic Encoding Rules) isn't the problem here.
> The BER encodes/decodes a numeric object identifier (i.e., an
> array of usinged 32bit integer values) to/from a network encoding
> that is independent from the byte and word order of a system.
>
> What you are looking for is SNMP4J-SMI which provides
> OID to object (last) name conversion and index to string
> conversions.
>
> If you have SNMP4J-SMI in place, OID.toString() will provide
> you the value you are looking for.
>
> Best regards,
> Frank
>
> Am 31.12.2013 17:18, schrieb Garcia, Maurice:
>
>     Hi,
>
>     I am trying to fully resolve the *snmpCommunityName*OID from BER
>     to OID
>
>     I tried using all the methods in the OID Class and can't find
>     anything in the SMI class that can help..
>
>     Any suggestions???
>
>     /_Example:_/
>
>     I get this -> *snmpCommunityName.109.116.97.112.114.111.118*
>
>     But I want this -> *snmpCommunityName.'mtaprov1'*
>
>     *Thanks,*
>
>     *Maurice*
>
>
>
> -- 
> ---
> AGENT++
> Maximilian-Kolbe-Str. 10
> 73257 Koengen, Germany
> https://agentpp.com
> Phone: +49 7024 8688230
> Fax:   +49 7024 8688231

-- 
---
AGENT++
Maximilian-Kolbe-Str. 10
73257 Koengen, Germany
https://agentpp.com
Phone: +49 7024 8688230
Fax:   +49 7024 8688231




More information about the SNMP4J mailing list