mirror of https://github.com/sipwise/kamailio.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
385 lines
11 KiB
385 lines
11 KiB
<?xml version="1.0" encoding='ISO-8859-1'?>
|
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
|
|
|
|
<!-- Include general documentation entities -->
|
|
<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
|
|
%docentities;
|
|
|
|
]>
|
|
<!-- Module FAQ -->
|
|
|
|
<chapter>
|
|
|
|
<title>&faqguide;</title>
|
|
<qandaset defaultlabel="number">
|
|
<qandaentry>
|
|
<question>
|
|
<para>Where can I find more about SNMP?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
There are many websites that explain SNMP at all levels of detail.
|
|
A great general introduction can be found at http://en.wikipedia.org/wiki/SNMP
|
|
|
|
If you are interested in the nitty gritty details of the protocol,
|
|
then please look at RFC 3410. RFC 3410 maps out the many other RFCs
|
|
that define SNMP, and can be found at http://www.rfc-archive.org/getrfc.php?rfc=3410
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Where can I find more about NetSNMP?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
NetSNMP source code, documentation, FAQs, and tutorials can all be found at
|
|
http://net-snmp.sourceforge.net/.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Where can I find out more about AgentX?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
The full details of the AgentX protocol are explained in RFC 2741,
|
|
available at: http://www.rfc-archive.org/getrfc.php?rfc=2741
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Why am I not receiving any SNMP Traps?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Assuming you've configured the trap thresholds in &kamailioconfig; with something similar to:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
modparam("snmpstats", "MsgQueueMinorThreshold", 1234)
|
|
modparam("snmpstats", "MsgQueueMajorThreshold", 5678)
|
|
|
|
modparam("snmpstats", "dlg_minor_threshold", 500)
|
|
modparam("snmpstats", "dlg_minor_threshold", 600)
|
|
</programlisting>
|
|
<para>
|
|
Then either &kamailio; is not reaching these thresholds (which is a good thing),
|
|
or you haven't set up the trap monitor correctly. To prove this to yourself,
|
|
you can start NetSNMP with:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
snmpd -f -Dtrap -x localhost:705
|
|
</programlisting>
|
|
|
|
<para>
|
|
The -f tells the NetSNMP process to not daemonize, and the -Dtrap enables trap
|
|
debug logs. You should see something similar to the following:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
registered debug token trap, 1
|
|
trap: adding callback trap sink ----- You should see both
|
|
trapsess: adding to trap table ----- of these lines.
|
|
Turning on AgentX master support.
|
|
trap: send_trap 0 0 NET-SNMP-TC::linux
|
|
trap: sending trap type=167, version=1
|
|
NET-SNMP version 5.3.1
|
|
</programlisting>
|
|
|
|
<para>
|
|
If the two lines above did not appear, then you probably have not included
|
|
the following in your snmpd.conf file.
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
trap2sink machineToSendTrapsTo:machinesPortNumber.
|
|
</programlisting>
|
|
|
|
<para>
|
|
When a trap has been received by snmpd, the following will appear in the
|
|
above output:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
sent_trap -1 -1 NET-SNMP-TC::linus
|
|
sending trap type=167, version=1
|
|
</programlisting>
|
|
|
|
<para>
|
|
You'll also need a program to collect the traps and do something with them
|
|
(such as sending them to syslog). NetSNMP provides snmptrapd for this. Other
|
|
solutions exist as well. Google is your friend.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>&kamailio; refuses to load the SNMPStats module. Why is it displaying "load_module: could not open module snmpstats.so"?
|
|
</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
On some systems, you may receive the following error at stdout or the log files
|
|
depending on the configuration.
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
ERROR: load_module: could not open module </usr/local/lib/openser/modules/snmpstats.so>:
|
|
libnetsnmpmibs.so.10: cannot open shared object file: No such file or directory.
|
|
</programlisting>
|
|
|
|
<para>
|
|
This means one of two things:
|
|
</para>
|
|
|
|
<orderedlist numeration="arabic">
|
|
<listitem>
|
|
<para>
|
|
You did not install NetSNMP. ("make install" if building from source)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
The dynamic linker cannot find the necessary libraries.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
In the second case, the fix is as follows:
|
|
</para>
|
|
|
|
<orderedlist numeration="arabic">
|
|
<listitem>
|
|
<para>
|
|
find / -name "libnetsnmpmibs*"
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
You will find a copy unless you haven't installed NetSNMP.
|
|
Make note of the path.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
less /etc/ld.so.conf
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
If the file is missing the path from step 1, then add the path to
|
|
ld.so.conf
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
ldconfig
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Try starting &kamailio; again.
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>
|
|
Alternatively, you may prefix your startup command with:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
LD_LIBRARY_PATH=/path/noted/in/step/one/above
|
|
</programlisting>
|
|
|
|
<para>
|
|
For example, on my system I ran:
|
|
</para>
|
|
|
|
<programlisting format="linespecific">
|
|
LD_LIBRARY_PATH=/usr/local/lib &ctltool; start
|
|
</programlisting>
|
|
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>How can I learn what all the scalars and tables are?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
All scalars and tables are named in the SNMPStats module overview. The files
|
|
OPENSER-MIB, OPENSER-REG-MIB, OPENSER-SIP-COMMON-MIB and OPENSER-SIP-SERVER-MIB
|
|
contain the full definitions and descriptions. Note however, that the MIBs
|
|
may actually contain scalars and tables which are currently not provided by the
|
|
SNMPStats module. Therefore, it is better to use NetSNMP's snmptranslate
|
|
as an alternative. Take the openserSIPEntityType scalar as an example. You can
|
|
invoke snmptranslate as follows:
|
|
|
|
<programlisting format="linespecific">
|
|
snmptranslate -TBd openserSIPEntityType
|
|
</programlisting>
|
|
|
|
Which would result in something similar to the following:
|
|
|
|
<programlisting format="linespecific">
|
|
-- FROM OPENSER-SIP-COMMON-MIB
|
|
-- TEXTUAL CONVENTION KamailioSIPEntityRole
|
|
SYNTAX BITS {other(0), userAgent(1), proxyServer(2), redirectServer(3), registrarServer(4)}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION " This object identifies the list of SIP entities this
|
|
row is related to. It is defined as a bit map. Each
|
|
bit represents a type of SIP entity.
|
|
If a bit has value 1, the SIP entity represented by
|
|
this row plays the role of this entity type.
|
|
|
|
If a bit has value 0, the SIP entity represented by
|
|
this row does not act as this entity type
|
|
Combinations of bits can be set when the SIP entity
|
|
plays multiple SIP roles."
|
|
</programlisting>
|
|
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Why do snmpget, snmpwalk, and snmptable always time out?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
If your snmp operations are always returning with: "Timeout: No Response
|
|
from localhost", then chances are that you are making the query with the wrong
|
|
community string. Default installs will most likely use "public" as their
|
|
default community strings. Grep your snmpd.conf file for the string
|
|
"rocommunity", and use the result as your community string in your queries.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>How do I use snmpget?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
NetSNMP's snmpget is used as follows:
|
|
|
|
<programlisting format="linespecific">
|
|
snmpget -v 2c -c theCommunityString machineToSendTheMachineTo scalarElement.0
|
|
</programlisting>
|
|
|
|
For example, consider an snmpget on the openserSIPEntityType scalar,
|
|
run on the same machine running the &kamailio; instance, with the default
|
|
"public" community string. The command would be:
|
|
|
|
<programlisting format="linespecific">
|
|
snmpget -v2c -c public localhost openserSIPEntityType.0
|
|
</programlisting>
|
|
|
|
Which would result in something similar to:
|
|
|
|
<programlisting format="linespecific">
|
|
OPENSER-SIP-COMMON-MIB::openserSIPEntityType.0 = BITS: F8 \
|
|
other(0) userAgent(1) proxyServer(2) \
|
|
redirectServer(3) registrarServer(4)
|
|
</programlisting>
|
|
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>How do I use snmptable?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
NetSNMP's snmptable is used as follows:
|
|
|
|
<programlisting format="linespecific">
|
|
snmptable -Ci -v 2c -c theCommunityString machineToSendTheMachineTo theTableName
|
|
</programlisting>
|
|
|
|
For example, consider the openserSIPRegUserTable. If we run the snmptable
|
|
command on the same machine as the running &kamailio; instance, configured with
|
|
the default "public" community string. The command would be:
|
|
|
|
<programlisting format="linespecific">
|
|
snmptable -Ci -v 2c -c public localhost openserSIPRegUserTable
|
|
</programlisting>
|
|
|
|
Which would result in something similar to:
|
|
|
|
<programlisting format="linespecific">
|
|
index openserSIPUserUri openserSIPUserAuthenticationFailures
|
|
1 DefaultUser 0
|
|
2 bogdan 0
|
|
3 jeffrey.magder 0
|
|
</programlisting>
|
|
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Where can I find more about &kamailio;?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Take a look at &kamailiohomelink;.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Where can I post a question about this module?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
First at all check if your question was already answered on one of
|
|
our mailing lists:
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>User Mailing List - &kamailiouserslink;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Developer Mailing List - &kamailiodevlink;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>
|
|
E-mails regarding any stable &kamailio; release should be sent to
|
|
&kamailiousersmail; and e-mails regarding development versions
|
|
should be sent to &kamailiodevmail;.
|
|
</para>
|
|
<para>
|
|
If you want to keep the mail private, send it to
|
|
&kamailiohelpmail;.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>How can I report a bug?</para>
|
|
</question>
|
|
<answer>
|
|
<para>
|
|
Please follow the guidelines provided at:
|
|
&kamailiobugslink;.
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
</chapter>
|
|
|