|
@@ -9,6 +9,118 @@
|
|
|
]>
|
|
|
|
|
|
<chapter>
|
|
|
+ <title>Admin Guide</title>
|
|
|
+ <section id="sanity.overview">
|
|
|
+ <title>Overview</title>
|
|
|
+ <para>
|
|
|
+ This module aims to implement several sanity checks on incoming
|
|
|
+ requests which are suggested or even required by a RFC, but are
|
|
|
+ not available yet in the core of &kamailio;.
|
|
|
+ </para>
|
|
|
+ <para>
|
|
|
+ These checks are not required by &kamailio; itself for its functionality.
|
|
|
+ But on the other side it makes not much sence if a broken
|
|
|
+ request traverses through a SIP network if it is rejected sooner
|
|
|
+ or later by a SIP device any way. As every sanity check cost extra
|
|
|
+ performance because of additional parsing and evaluation it
|
|
|
+ is with this module now up to the &kamailio; adminstrator which checks
|
|
|
+ should be done on which request.
|
|
|
+ </para>
|
|
|
+ <para>
|
|
|
+ The following checks are available:
|
|
|
+ <itemizedlist>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ ruri sip version - (1) - checks if the SIP version in the request
|
|
|
+ URI is supported, currently only 2.0.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ ruri scheme - (2) - checks if the URI scheme of the request URI is
|
|
|
+ supported (sip[s]|tel[s]) by &kamailio;
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ required headers - (4) -checks if the minimum set of required headers
|
|
|
+ to, from, cseq, callid and via is present in the request.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ via sip version - (8) - not working because parser fails already
|
|
|
+ when another version then 2.0 is present.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ via protocol - (16) - not working because parser fails already if an
|
|
|
+ unsupported transport is present.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ cseq method - (32) - checks if the method from the cseq header is equal
|
|
|
+ to the request method.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ cseq value - (64) - checks if the number in the cseq header is a valid
|
|
|
+ unsigend integer.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ content length - (128) - checks if the size of the body matches with the
|
|
|
+ value from the content length header.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ expires value - (256) - checks if the value of the expires header is a
|
|
|
+ valid unsigned integer.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ proxy require - (512) - checks if all items of the proxy require header
|
|
|
+ are present in the list of the extensions from the module
|
|
|
+ parameter proxy_require.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ parse uri's - (1024) - checks if the specified URIs are present and
|
|
|
+ parseable by the &kamailio; parsers
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ digest credentials (2048) Check all instances of digest credentials in a
|
|
|
+ message. The test checks whether there are all required
|
|
|
+ digest parameters and have meaningful values.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ </itemizedlist>
|
|
|
+ </para>
|
|
|
+ </section>
|
|
|
+
|
|
|
+ <section id="sanity.dep">
|
|
|
+ <title>Dependencies</title>
|
|
|
+ <para>
|
|
|
+ The following modules must be loaded before this module:
|
|
|
+ <itemizedlist>
|
|
|
+ <listitem>
|
|
|
+ <para>
|
|
|
+ <emphasis>sl</emphasis> - Stateless replies.
|
|
|
+ </para>
|
|
|
+ </listitem>
|
|
|
+ </itemizedlist>
|
|
|
+ </para>
|
|
|
+ </section>
|
|
|
+
|
|
|
<section id="sanity.parameters" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
<sectioninfo>
|
|
|
</sectioninfo>
|