Hi all!

I am having difficulties setting up SNMP, and mostly to figure out if what I have setup is correctly configured.

This is what I have on Kamailio (5.8.2), which is set as stateless and as a redirect server (simply put, it receives INVITE from SBC, gets a route from routing services, modifies Contact header, and replies to SBC with 300 Multi Choice with new contact header):

loadmodule "db_mysql.so"
loadmodule "db_cluster.so"
loadmodule "http_client.so"
loadmodule "jsonrpcs.so"
loadmodule "kex.so"
loadmodule "corex.so"
loadmodule "sl.so"
loadmodule "pv.so"
loadmodule "maxfwd.so"
loadmodule "textops.so"
loadmodule "xlog.so"
loadmodule "sanity.so"
loadmodule "jansson.so"
loadmodule "snmpstats.so"
loadmodule "file_out.so"
loadmodule "ctl.so"
loadmodule "permissions.so"
loadmodule "xhttp.so"
loadmodule "xhttp_rpc.so"

# ---- SNMP Stats params ----
modparam("snmpstats", "sipEntityType", "proxyServer")
modparam("snmpstats", "sipEntityType", "redirectServer")
modparam("snmpstats", "sipEntityType", "other")
modparam("snmpstats", "snmpgetPath", "/usr/bin/")
modparam("snmpstats", "MsgQueueMinorThreshold", 1)
modparam("snmpstats", "MsgQueueMajorThreshold", 1)
modparam("snmpstats", "dlg_minor_threshold", 1)
modparam("snmpstats", "dlg_major_threshold", 1)
modparam("snmpstats", "snmpCommunity", "kamailio")

I have set the *_minor_threshold values to bear minimum. Should I add anything else?

The logs show the following messages:
DEBUG: <core> [core/mem/q_malloc.c:402]: qm_malloc(): qm_malloc(0x7f03af1ff010, 60) called from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:449]: qm_malloc(): qm_malloc(0x7f03af1ff010, 64) returns address 0x7f03af3bcc50 frag. 0x7f03af3bcc10 (size=64) on 1 -th hit
DEBUG: <core> [core/mem/q_malloc.c:402]: qm_malloc(): qm_malloc(0x7f03af1ff010, 20) called from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:449]: qm_malloc(): qm_malloc(0x7f03af1ff010, 32) returns address 0x7f03af3bcd00 frag. 0x7f03af3bccc0 (size=32) on 1 -th hit
DEBUG: <core> [core/mem/q_malloc.c:515]: qm_free(): qm_free(0x7f03af1ff010, 0x7f03af3bcc50), called from snmpstats: snmp_statistics.c: get_total_bytes_waiting(464)
DEBUG: <core> [core/mem/q_malloc.c:562]: qm_free(): freeing frag. 0x7f03af3bcc10 alloc'ed from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:515]: qm_free(): qm_free(0x7f03af1ff010, 0x7f03af3bcd00), called from snmpstats: snmp_statistics.c: get_total_bytes_waiting(471)
DEBUG: <core> [core/mem/q_malloc.c:562]: qm_free(): freeing frag. 0x7f03af3bccc0 alloc'ed from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:402]: qm_malloc(): qm_malloc(0x7f03af1ff010, 60) called from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:449]: qm_malloc(): qm_malloc(0x7f03af1ff010, 64) returns address 0x7f03af3bcc50 frag. 0x7f03af3bcc10 (size=64) on 1 -th hit
DEBUG: <core> [core/mem/q_malloc.c:402]: qm_malloc(): qm_malloc(0x7f03af1ff010, 20) called from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:449]: qm_malloc(): qm_malloc(0x7f03af1ff010, 32) returns address 0x7f03af3bcd00 frag. 0x7f03af3bccc0 (size=32) on 1 -th hit
DEBUG: <core> [core/mem/q_malloc.c:515]: qm_free(): qm_free(0x7f03af1ff010, 0x7f03af3bcc50), called from snmpstats: snmp_statistics.c: get_total_bytes_waiting(464)
DEBUG: <core> [core/mem/q_malloc.c:562]: qm_free(): freeing frag. 0x7f03af3bcc10 alloc'ed from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
DEBUG: <core> [core/mem/q_malloc.c:515]: qm_free(): qm_free(0x7f03af1ff010, 0x7f03af3bcd00), called from snmpstats: snmp_statistics.c: get_total_bytes_waiting(471)
DEBUG: <core> [core/mem/q_malloc.c:562]: qm_free(): freeing frag. 0x7f03af3bccc0 alloc'ed from snmpstats: snmp_statistics.c: get_socket_list_from_proto_and_family(185)
INFO: snmpstats [utilities.c:116]: get_statistic(): failed to retrieve statistics for active_dialogs
INFO: snmpstats [utilities.c:116]: get_statistic(): failed to retrieve statistics for active_dialogs

The SNMP daemon is set as follows:
- /etc/snmp]$ cat snmptrapd.conf
# Example configuration file for snmptrapd
#
# No traps are handled by default, you must edit this file!
#
# authCommunity   log,execute,net public
# traphandle SNMPv2-MIB::coldStart    /usr/bin/bin/my_great_script cold

and on /etc/snmp/snmpd.conf:
###############################################################################
# Further Information
#
#  See the snmpd.conf manual page, and the output of "snmpd -H".
agentaddress udp:161
rocommunity kamailio
master agentx
agentXSocket tcp:localhost:705
trap2sink 10.X.Y.Z netcool 162

When running tcpdump and listening on port 162, no traffic is captured....it seems to me that Kamailio is not sending anything to SNMP

Any clue, anyone? What am I doing wrong?

Atenciosamente / Kind Regards / Cordialement / Un saludo,


Sérgio Charrua