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.
kamailio/modules/sanity/doc/sanity.xml

139 lines
3.8 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<section id="options" xmlns:xi="http://www.w3.org/2001/XInclude">
<sectioninfo>
<authorgroup>
<author>
<firstname>Nils</firstname>
<surname>Ohlmeier</surname>
<affiliation><orgname>iptelorg GmbH</orgname></affiliation>
<address>
<email>nils@iptel.org</email>
</address>
</author>
</authorgroup>
<copyright>
<year>2006</year>
<holder>iptelorg GmbH</holder>
</copyright>
</sectioninfo>
<title>Sanity Module</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 SIP-router.
</para>
<para>
This checks are not required by SIP-router 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 cost extra
performance because of additional parsing and evaluation it
is now with this module up to the SIP-router 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 SIP-router.
</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 SIP-router 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>
<xi:include href="params.xml"/>
<xi:include href="functions.xml"/>
</section>