I'd like to know what is wrong with my code!My goal is to learn how to filter 
notification sent out.With the following  code i am trying to use the 
NotifyFilterTable and NotifyFilterProfileTable to send 
all the traps to all the targets. the following step (once the following code 
is working) is to try to send different traps to different targets.Thanks,Nino




 protected void addNotificationTargets(SnmpTargetMIB targetMIB,
                                        SnmpNotificationMIB notificationMIB) {
    targetMIB.addDefaultTDomains();
    
  
    targetMIB.addTargetAddress(new OctetString("notificationV3"),
                               TransportDomains.transportDomainUdpIpv4,
                               new OctetString(new 
UdpAddress("92.135.77.100/162").getValue()),
                              
                               500, 1,
                               new OctetString("notify"),
                               new OctetString("v3notify"),
                               StorageType.permanent);

    targetMIB.addTargetParams(new OctetString("v3notify"),
                              MessageProcessingModel.MPv3,
                              SecurityModel.SECURITY_MODEL_USM,
                              //new OctetString("v3notify"),
                              //SecurityLevel.NOAUTH_NOPRIV,
                             // new OctetString("SHADES"),
                              new OctetString("NINO"),
                              SecurityLevel.AUTH_PRIV,
                              StorageType.permanent);
   
            notificationMIB.addNotifyEntry(new OctetString("v3notify"),
                                   new OctetString("notify"),
                                   SnmpNotificationMIB.SnmpNotifyTypeEnum.trap/,
                                   StorageType.permanent);
    
    notificationMIB.getNotifyFilterProfileTable().addRow(
            notificationMIB.getNotifyFilterProfileTable().createRow(
                                     new 
OctetString("v3notify").toSubIndex(true),
                                     new Variable[]{
                                         new OctetString("v3notify"),
                                         new Integer32(StorageType.permanent),
                                         new Integer32(RowStatus.active)
                                     }));
      
    notificationMIB.getNotifyFilterTable().addRow(
                 notificationMIB.getNotifyFilterTable().createRow(
                         new 
OctetString("v3notify").toSubIndex(false).append(new OID(new 
int[]{1,3}).toSubIndex(true)),
                         new Variable[]{
                             new OID(new int[]{1,3}),
                             new OctetString(),
                             new Integer32(1), // Included
                             new Integer32(StorageType.permanent),
                             new Integer32(RowStatus.active)}));
                             
                  
  }

  protected void addViews(VacmMIB vacm) {
    vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv1,
                  new OctetString("cpublic"),
                  new OctetString("v1v2group"),
                  StorageType.nonVolatile);
    vacm.addGroup(SecurityModel.SECURITY_MODEL_SNMPv2c,
                  new OctetString("public"/*"cpublic"*/),
                  new OctetString("v1v2group"),
                  StorageType.nonVolatile);
   vacm.addGroup(SecurityModel.SECURITY_MODEL_USM,
            new OctetString("NINO"),
            new OctetString("v3group"),
            StorageType.nonVolatile);
   

    vacm.addAccess(new OctetString("v1v2group"), new 
OctetString(""/*"public"*/),
                   SecurityModel.SECURITY_MODEL_ANY,
                   SecurityLevel.NOAUTH_NOPRIV,
                   MutableVACM.VACM_MATCH_EXACT,
                   new OctetString("fullReadView"),
                   new OctetString("fullWriteView"),
                   new OctetString("fullNotifyView"),
                   //new OctetString("unrestrictedReadView"),
                   //new OctetString("unrestrictedView"),
                   //new OctetString("unrestrictedNotifyView"),
                   StorageType.permanent/* .nonVolatile*/);
    vacm.addAccess(new OctetString("v3group"), new OctetString(),
                   SecurityModel.SECURITY_MODEL_USM,
                   SecurityLevel.AUTH_PRIV,
                 
                   MutableVACM.VACM_MATCH_EXACT,
                   new OctetString("fullReadView"),
                   new OctetString("fullWriteView"),
                   new OctetString("fullNotifyView"),
                
                   StorageType.nonVolatile);



 
    vacm.addViewTreeFamily(new OctetString("fullReadView"), new OID("1.3"),
                           new OctetString(), VacmMIB.vacmViewIncluded,
                          // StorageType.nonVolatile);
                           StorageType.permanent);
    vacm.addViewTreeFamily(new OctetString("fullReadView"), new 
OID("1.3.6.1.2.1.1.1.0"),
        new OctetString(), VacmMIB.vacmViewExcluded,
       StorageType.nonVolatile);
   
    vacm.addViewTreeFamily(new OctetString("fullWriteView"), new OID("1.3"),
                           new OctetString(), VacmMIB.vacmViewIncluded,
                           StorageType.nonVolatile);
                       
    vacm.addViewTreeFamily(new OctetString("fullNotifyView"), new OID("1.3"),
                           new OctetString(), VacmMIB.vacmViewIncluded,
                        
                            StorageType.permanent);
  
  

  }

  protected void addUsmUser(USM usm) {
 
    UsmUser   user = new UsmUser(new OctetString("NINO"),
              AuthSHA.ID,
              new OctetString("ninoPassword"),
              PrivDES.ID,
              new OctetString("ninoPassword"));
     usm.addUser(user.getSecurityName(), usm.getLocalEngineID(), user);  
   
  }

_______________________________________________
SNMP4J mailing list
SNMP4J@agentpp.org
https://oosnmp.net/mailman/listinfo/snmp4j

Reply via email to