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.
139 lines
3.8 KiB
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>
|