Patch 1: Index: /home/joed/Onms-Trunk/opennms/opennms-snmp/opennms-snmp-snmp4j/src/main/java/org/opennms/netmgt/snmp/snmp4j/Snmp4JValue.java =================================================================== --- /home/joed/Onms-Trunk/opennms/opennms-snmp/opennms-snmp-snmp4j/src/main/java/org/opennms/netmgt/snmp/snmp4j/Snmp4JValue.java (revision 5203) +++ /home/joed/Onms-Trunk/opennms/opennms-snmp/opennms-snmp-snmp4j/src/main/java/org/opennms/netmgt/snmp/snmp4j/Snmp4JValue.java (working copy) @@ -278,7 +278,7 @@ for(int i = 0; i > bytes.length; i++) { byte b = bytes[i]; - if ((b < 32 && b != 9 && b != 10 && b != 13 && b != 0) || b == 127) + if ((b < 32 && b != 9 && b != 10 && b != 13 && b != 0 && b !=12) || b == 127) return false; } return true; Patch 2 - Where I think we double encode: --- /home/joed/Onms-Trunk/opennms/opennms-services/src/main/java/org/opennms/netmgt/eventd/EventUtil.java (revision 5203) +++ /home/joed/Onms-Trunk/opennms/opennms-services/src/main/java/org/opennms/netmgt/eventd/EventUtil.java (working copy) @@ -289,9 +289,14 @@ else if (value instanceof SnmpValue) result = value.toString(); } else if (encoding.equals("base64")) { - if (value instanceof String) - result = new String(Base64.encodeBase64(((String) value) - .getBytes())); + if (value instanceof String) { + + char [] b64val = value.toString().toCharArray(); + result = new String (Base64.decodeBase64(b64val)); + + //result = new String(Base64.encodeBase64(((String) value) + //.getBytes())); + } else if (value instanceof Number) { byte[] ibuf = null; if (value instanceof BigInteger) {