<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Hi,</div><div><br></div><div>I think the agent will perform the discovery automatically, so you need to configure it with the actual security level and user name, password etc. that can be used to access the agent.</div><div><br></div><div>There’s a nice example here on how to set up and use a v3 agent + manager pair: <a href="http://erlangcentral.org/wiki/index.php?title=SNMP_Quick_Start#User_Based_Security_Model_.28USM.29">http://erlangcentral.org/wiki/index.php?title=SNMP_Quick_Start</a> The empty user name is not used anywhere explicitly, discovery happens behind the scenes.</div><div><br></div><div>Regards,</div><div>Daniel</div><br><div><div>On 2014 May 20, at 15:45 , Dominik Pawlak <<a href="mailto:dominik_pawlak@yahoo.co.uk">dominik_pawlak@yahoo.co.uk</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div><div style="background-color: rgb(255, 255, 255); font-family: HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12pt;"><div style="" class="">I'm trying to find a way to perform a snmpEngineID discovery process
    as defined in RFC3414 chapter 4 in a manager.<br style="" class="">
    <br style="" class="">
    The process is pretty simple: you send a v3, usm Request message
    with security level: noAuthNoPriv, empty user name, endineID and
    varbinds. The agent then sends a report containing his engineID.<br style="" class="">
    <br style="" class="">
    I tried registering agent with empty or no security name defined,
    but when I try to send the Request message I get:<br style="" class="">
    <tt style="" class="">snmpm:register_agent("u", "a",
[{engine_id,[]},{address,[x,x,x,x]},{version,v3},{sec_model,usm},{sec_name,""},{sec_level,noAuthNoPriv}]).</tt><font style="" class="" face="sans-serif"><tt style="" class=""><br style="" class="">
      </tt></font><tt style="" class="">snmpm:sync_get("u", "a", "auth", [], 1000).<br style="" class="">
      <br style="" class="">
    </tt><tt style="" class="">{error,{send_failed,1440625960,unknownSecurityName}}</tt><tt style="" class="">
    </tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">=ERROR REPORT==== 20-May-2014::11:12:57 ===</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">[ snmp : manager : snmpm_mpd : <0.55.0> ] </tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">MPD: CONFIG ERROR: unknownSecurityName (message:
      {message,'version-3',</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                 
      {v3_hdr,996332938,484,</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                   [4],</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                  
      3,undefined,undefined},</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                 
      [48,24,4,0,4,4,97,117,116,</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                  
      104,160,14,2,4,85,222,53,</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                                                  
      40,2,1,0,2,1,0,48,0]})</tt><br style="" class="">
    <br style="" class="">
    I also tried registering a usm user with an empty (one space) name:<br style="" class="">
    <tt style="" class="">snmpm:register_usm_user(" ", " ", [{sec_name, "initial"}]).</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">snmpm:register_agent("u", "a", [{engine_id, "
"},{address,[x,x,x,x]},{version,v3},{sec_model,usm},{sec_name,"initial"},{sec_level,noAuthNoPriv}]).</tt><br style="" class="">
    <br style="" class="">
    This time the message is sent, and the agent does respond with a
    message containing his engineID, but this information is not
    provided to the snmpm_user module:<br style="" class="">
    <br style="" class="">
    <tt style="" class="">=INFO REPORT==== 20-May-2014::12:21:45 ===</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">SNMPM default user callback received handle_error:</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">   ReqId:    -1</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">   Reason:   {failed_processing_message,</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">                 {securityError,usmStatsUnknownEngineIDs}}</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">   UserData: undefined</tt><tt style="" class=""><br style="" class="">
    </tt><tt style="" class="">{error,{timeout,1440625963}}</tt><br style="" class="">
    <br style="" class="">
    What is the proper way of doing this?<br style="" class="">
    </div><pre style="" class="" cols="72">-- 
Cheers,
Dominik Pawlak</pre></div></div>_______________________________________________<br>erlang-questions mailing list<br><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>http://erlang.org/mailman/listinfo/erlang-questions<br></blockquote></div><br></body></html>