Hello,

 

Not sure if this is really the problem, but one thing I noticed:

 

You want to operate a stateless server but configured dialog values in the module. This will not work (according to the documentation) without the dialog module, which will not work on a stateless server.

 

Try to remove the dialog values.

 

Cheers,

 

Henning

 

From: Sergio Charrua via sr-users <sr-users@lists.kamailio.org>
Sent: Dienstag, 5. November 2024 17:16
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>
Cc: Sergio Charrua <sergio.charrua@voip.pt>
Subject: [SR-Users] SNMP setup

 

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