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.
269 lines
6.3 KiB
269 lines
6.3 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 User's Guide -->
|
|
|
|
<chapter>
|
|
|
|
<title>&adminguide;</title>
|
|
|
|
<section>
|
|
<title>Overview</title>
|
|
<para>
|
|
ALIAS_DB module can be used as an alternative for user aliases
|
|
via usrloc. The main feature is that it does not store all addiacent
|
|
data as for user location and always uses database for search (no
|
|
memory caching).
|
|
</para>
|
|
<para>
|
|
Having no memory caching the speed of search can decrease but the
|
|
provisioning is easier. With very fast databases like MySQL the speed
|
|
penalty can be lowered. Also, the search can be performed on different
|
|
tables in the same script.
|
|
</para>
|
|
</section>
|
|
<section>
|
|
<title>Dependencies</title>
|
|
<section>
|
|
<title>&kamailio; Modules</title>
|
|
<para>
|
|
The following modules must be loaded before this module:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>database module</emphasis> (mysql, dbtext, ...).
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
<section>
|
|
<title>External Libraries or Applications</title>
|
|
<para>
|
|
The following libraries or applications must be installed before
|
|
running &kamailio; with this module loaded:
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
<emphasis>None</emphasis>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
<section>
|
|
<title>Exported Parameters</title>
|
|
<section>
|
|
<title><varname>db_url</varname> (str)</title>
|
|
<para>
|
|
Database URL.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>&defaultrodb;</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>db_url</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "db_url", "&exampledb;")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>user_column</varname> (str)</title>
|
|
<para>
|
|
Name of the column storing username.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>username</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>user_column</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "user_column", "susername")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>domain_column</varname> (str)</title>
|
|
<para>
|
|
Name of the column storing user's domain.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>domain</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>domain_column</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "domain_column", "sdomain")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>alias_user_column</varname> (str)</title>
|
|
<para>
|
|
Name of the column storing alias username.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>alias_username</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>alias_user_column</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "alias_user_column", "auser")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>alias_domain_column</varname> (str)</title>
|
|
<para>
|
|
Name of the column storing alias domain.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>alias_domain</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>alias_domain_column</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "alias_domain_column", "adomain")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>use_domain</varname> (int)</title>
|
|
<para>
|
|
Specifies whether to use or not the domain from R-URI when searching
|
|
for alias. If set to 0, the domain from R-URI is not used, if set to
|
|
1 the domain from R-URI is used.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>0</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>use_domain</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "use_domain", 1)
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>domain_prefix</varname> (str)</title>
|
|
<para>
|
|
Specifies the prefix to be stripped from the domain in R-URI before
|
|
doing the search.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>NULL</quote>.
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>domain_prefix</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "domain_prefix", "sip.")
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
|
|
<section>
|
|
<title><varname>append_branches</varname> (int)</title>
|
|
<para>
|
|
If the alias resolves to many SIP IDs, the first is replacing
|
|
the R-URI, the rest are added as branches.
|
|
</para>
|
|
<para>
|
|
<emphasis>
|
|
Default value is <quote>0</quote> (0 - don't add branches;
|
|
1 - add branches).
|
|
</emphasis>
|
|
</para>
|
|
<example>
|
|
<title>Set <varname>append_branches</varname> parameter</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
modparam("alias_db", "append_branches", 1)
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
</section>
|
|
|
|
<section>
|
|
<title>Exported Functions</title>
|
|
<section>
|
|
<title>
|
|
<function moreinfo="none">alias_db_lookup(table_name)</function>
|
|
</title>
|
|
<para>
|
|
The function takes the R-URI and search to see whether it is an alias
|
|
or not. If it is an alias for a local user, the R-URI is replaced with
|
|
user's SIP uri.
|
|
</para>
|
|
<para>
|
|
The function returns TRUE if R-URI is alias and it was replaced by
|
|
user's SIP uri.
|
|
</para>
|
|
<para>Meaning of the parameters is as follows:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para><emphasis>table_name</emphasis> - the name of the table
|
|
where to search for alias. It can include pseudo-variables.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
<para>
|
|
This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
|
|
</para>
|
|
<example>
|
|
<title><function>alias_db_lookup()</function> usage</title>
|
|
<programlisting format="linespecific">
|
|
...
|
|
alias_db_lookup("dbaliases");
|
|
alias_db_lookup("dba_$(rU{s.substr,0,1})");
|
|
...
|
|
</programlisting>
|
|
</example>
|
|
</section>
|
|
</section>
|
|
</chapter>
|
|
|