====== Kamailio and SNMP ====== There is a blog post by Sven Schulz providing the steps to setup Kamailio 1.4.4 with SNMP, link: * http://www.personal.psu.edu/sus21/blogs/sven/ For persistence purpose, the blog post is mirrored here. ====== Kamailio and SNMP HowTo ====== Here is a quick how-to on how to setup snmpstats module. This was on kamailio-1.4.4 and CentOS. Make sure you install the prerequisites yum install lm_sensors-devel net-snmp net-snmp-devel net-snmp-utils Compile kamailio with snmpstats module Add this to kamailio.cfg file loadmodule "snmpstats.so" .. # ----- snmpstats params ---- modparam("snmpstats", "sipEntityType", "registrarServer") modparam("snmpstats", "snmpgetPath", "/usr/bin/") Create a bare-bones /etc/snmp/snmpd.conf file rocommunity public master agentx agentXSocket tcp:localhost:705 Create a /etc/snmp/snmpstats.conf file (this tells the snmpstats module where to send its snmp data). agentXSocket tcp:localhost:705 If you are using a snmp.conf file, make sure this is in it defVersion 2c defCommunity public mibdirs /usr/share/snmp/mibs mibs +ALL Inside the /usr/share/snmp/mibs/ directory, append all OPENSER-* files with a .txt extension. ===== Testing ===== Start the snmpd daemon manually snmpd -f -Dagentx -x tcp:localhost:705 2>&1 Restart kamailio and enjoy! snmpwalk localhost openser Should output something like this: OPENSER-SIP-COMMON-MIB::openserSIPProtocolVersion.0 = STRING: SIP/2.0 OPENSER-SIP-COMMON-MIB::openserSIPServiceStartTime.0 = Timeticks: (692) 0:00:06.92 OPENSER-SIP-COMMON-MIB::openserSIPEntityType.0 = BITS: 08 registrarServer(4) OPENSER-SIP-COMMON-MIB::openserSIPTransportRcv.ipv4."127.0.0.1".5060 = BITS: 60 udp(1) tcp(2) OPENSER-SIP-COMMON-MIB::openserSIPTransportRcv.ipv4."146.186.8.100".5060 = BITS: 60 udp(1) tcp(2) OPENSER-SIP-COMMON-MIB::openserSIPMethodName.1 = STRING: METHOD_INVITE OPENSER-SIP-COMMON-MIB::openserSIPMethodName.2 = STRING: METHOD_CANCEL OPENSER-SIP-COMMON-MIB::openserSIPMethodName.3 = STRING: METHOD_ACK OPENSER-SIP-COMMON-MIB::openserSIPMethodName.4 = STRING: METHOD_BYE OPENSER-SIP-COMMON-MIB::openserSIPMethodName.5 = STRING: METHOD_INFO OPENSER-SIP-COMMON-MIB::openserSIPMethodName.8 = STRING: METHOD_REGISTER OPENSER-SIP-COMMON-MIB::openserSIPMethodName.9 = STRING: METHOD_MESSAGE OPENSER-SIP-COMMON-MIB::openserSIPMethodName.10 = STRING: METHOD_SUBSCRIBE OPENSER-SIP-COMMON-MIB::openserSIPMethodName.11 = STRING: METHOD_NOTIFY OPENSER-SIP-COMMON-MIB::openserSIPMethodName.12 = STRING: METHOD_PRACK OPENSER-SIP-COMMON-MIB::openserSIPMethodName.13 = STRING: METHOD_REFER OPENSER-SIP-COMMON-MIB::openserSIPMethodName.14 = STRING: METHOD_PUBLISH OPENSER-SIP-COMMON-MIB::openserSIPSummaryInRequests.0 = Counter32: 28 OPENSER-SIP-COMMON-MIB::openserSIPSummaryOutRequests.0 = Counter32: 0 OPENSER-SIP-COMMON-MIB::openserSIPSummaryInResponses.0 = Counter32: 0 OPENSER-SIP-COMMON-MIB::openserSIPSummaryOutResponses.0 = Counter32: 28 OPENSER-SIP-COMMON-MIB::openserSIPSummaryTotalTransactions.0 = Counter32: 4 OPENSER-SIP-COMMON-MIB::openserSIPCurrentTransactions.0 = Gauge32: 0 OPENSER-SIP-COMMON-MIB::openserSIPNumUnsupportedUris.0 = Counter32: 0 OPENSER-SIP-COMMON-MIB::openserSIPNumUnsupportedMethods.0 = Counter32: 0 OPENSER-SIP-COMMON-MIB::openserSIPOtherwiseDiscardedMsgs.0 = Counter32: 0 OPENSER-SIP-SERVER-MIB::openserSIPProxyStatefulness.0 = INTEGER: transactionStateful(2) OPENSER-SIP-SERVER-MIB::openserSIPProxyRecordRoute.0 = INTEGER: true(1) OPENSER-SIP-SERVER-MIB::openserSIPProxyAuthMethod.0 = BITS: 20 digest(2) OPENSER-SIP-SERVER-MIB::openserSIPNumProxyRequireFailures.0 = Counter32: 0 OPENSER-SIP-SERVER-MIB::openserSIPRegMaxContactExpiryDuration.0 = Gauge32: 0 seconds OPENSER-SIP-SERVER-MIB::openserSIPRegMaxUsers.0 = Gauge32: 4294967295 OPENSER-SIP-SERVER-MIB::openserSIPRegCurrentUsers.0 = Gauge32: 0 OPENSER-SIP-SERVER-MIB::openserSIPRegDfltRegActiveInterval.0 = Gauge32: 3600 seconds OPENSER-SIP-SERVER-MIB::openserSIPUserUri.1 = STRING: DefaultUser OPENSER-SIP-SERVER-MIB::openserSIPUserUri.3 = STRING: sus21 OPENSER-SIP-SERVER-MIB::openserSIPUserAuthenticationFailures.1 = Counter32: 0 OPENSER-SIP-SERVER-MIB::openserSIPUserAuthenticationFailures.3 = Counter32: 0 OPENSER-SIP-SERVER-MIB::openserSIPContactDisplayName.1.1 = STRING: DefaultUser OPENSER-SIP-SERVER-MIB::openserSIPContactDisplayName.3.3 = STRING: sip:sus21@146.186.115.180:57044;rinstance=fffd4ead92eef4f3 OPENSER-SIP-SERVER-MIB::openserSIPContactURI.1.1 = STRING: DefaultUser OPENSER-SIP-SERVER-MIB::openserSIPContactURI.3.3 = STRING: sip:sus21@146.186.115.180:57044;rinstance=fffd4ead92eef4f3 OPENSER-SIP-SERVER-MIB::openserSIPContactLastUpdated.1.1 = STRING: 0-0-0,0:0:0.0 OPENSER-SIP-SERVER-MIB::openserSIPContactLastUpdated.3.3 = STRING: 2009-9-15,14:12:20.0 OPENSER-SIP-SERVER-MIB::openserSIPContactExpiry.1.1 = STRING: 0-0-0,0:0:0.0 OPENSER-SIP-SERVER-MIB::openserSIPContactExpiry.3.3 = STRING: 2009-9-15,15:12:20.0 OPENSER-SIP-SERVER-MIB::openserSIPContactPreference.1.1 = STRING: -0.01 OPENSER-SIP-SERVER-MIB::openserSIPContactPreference.3.3 = STRING: -0.01 OPENSER-SIP-SERVER-MIB::openserSIPRegUserLookupCounter.0 = Counter32: 10 OPENSER-SIP-SERVER-MIB::openserSIPRegAcceptedRegistrations.0 = Counter32: 12 OPENSER-SIP-SERVER-MIB::openserSIPRegRejectedRegistrations.0 = Counter32: 0 OPENSER-MIB::openserMsgQueueDepth.0 = Gauge32: 0 OPENSER-MIB::openserMsgQueueMinorThreshold.0 = INTEGER: -1 OPENSER-MIB::openserMsgQueueMajorThreshold.0 = INTEGER: -1 OPENSER-MIB::openserMsgQueueDepthAlarmStatus.0 = BITS: 00 OPENSER-MIB::openserMsgQueueDepthMinorAlarm.0 = INTEGER: clear(0) OPENSER-MIB::openserMsgQueueDepthMajorAlarm.0 = INTEGER: clear(0) OPENSER-MIB::openserCurNumDialogs.0 = Gauge32: 0 OPENSER-MIB::openserCurNumDialogsInProgress.0 = Gauge32: 0 OPENSER-MIB::openserCurNumDialogsInSetup.0 = Gauge32: 0 OPENSER-MIB::openserTotalNumFailedDialogSetups.0 = Counter32: 0 OPENSER-MIB::openserDialogLimitMinorThreshold.0 = INTEGER: -1 OPENSER-MIB::openserDialogLimitMajorThreshold.0 = INTEGER: -1 OPENSER-MIB::openserDialogUsageState.0 = INTEGER: idle(0) OPENSER-MIB::openserDialogLimitAlarmStatus.0 = BITS: 00 OPENSER-MIB::openserDialogLimitMinorAlarm.0 = INTEGER: clear(0) OPENSER-MIB::openserDialogLimitMajorAlarm.0 = INTEGER: clear(0)