Browse code

mtree: docs - section id for mt_match() function

Daniel-Constantin Mierla authored on 07/06/2021 13:23:16
Showing 1 changed files
... ...
@@ -454,7 +454,7 @@ modparam("mtree", "mt_allow_duplicates", 1)
454 454
     <section>
455 455
 	<title>Functions</title>
456 456
  	<section>
457
-	    <title>
457
+	    <title id="mtree.f.mt_match">
458 458
 		<function moreinfo="none">mt_match(mtree, pv, mode)</function>
459 459
 	    </title>
460 460
 	    <para>
Browse code

mtree: docs - added section ids for parameters

Daniel-Constantin Mierla authored on 04/06/2021 15:59:58
Showing 1 changed files
... ...
@@ -63,7 +63,7 @@
63 63
     </section>
64 64
     <section>
65 65
 	<title>Parameters</title>
66
-	<section>
66
+	<section id="mtree.p.db_url">
67 67
 	    <title><varname>db_url</varname> (string)</title>
68 68
 	    <para>
69 69
 		URL of the database server to be used.
... ...
@@ -83,7 +83,7 @@ modparam("mtree", "db_url", "&exampledb;")
83 83
 	    </example>
84 84
 	</section>
85 85
 
86
-	<section>
86
+	<section id="mtree.p.db_table">
87 87
 	    <title><varname>db_table</varname> (string)</title>
88 88
 	    <para>
89 89
 		Name of database table where data for many trees is stored. It is ignored
... ...
@@ -105,7 +105,7 @@ modparam("mtree", "db_table", "mtrees")
105 105
 	    </example>
106 106
 	</section>
107 107
 
108
-	<section>
108
+	<section id="mtree.p.mtree">
109 109
 	    <title><varname>mtree</varname> (string)</title>
110 110
 	    <para>
111 111
 			Definition of memory tree with using a parameters format string.
... ...
@@ -185,7 +185,7 @@ modparam("mtree", "mtree",
185 185
 	    </example>
186 186
 	</section>
187 187
 
188
-	<section>
188
+	<section id="mtree.p.tname_column">
189 189
 	    <title><varname>tname_column</varname> (string)</title>
190 190
 	    <para>
191 191
 		Name of 'tname' column.
... ...
@@ -205,7 +205,7 @@ modparam("mtree", "tname_column", "name")
205 205
 	    </example>
206 206
 	</section>
207 207
 
208
-	<section>
208
+	<section id="mtree.p.tprefix_column">
209 209
 	    <title><varname>tprefix_column</varname> (string)</title>
210 210
 	    <para>
211 211
 		Name of 'tprefix' column.
... ...
@@ -225,7 +225,7 @@ modparam("mtree", "tprefix_column", "prefix")
225 225
 	    </example>
226 226
 	</section>
227 227
 
228
-	<section>
228
+	<section id="mtree.p.tvalue_column">
229 229
 	    <title><varname>tvalue_column</varname> (string)</title>
230 230
 	    <para>
231 231
 		Name of 'tvalue' column.
... ...
@@ -245,7 +245,7 @@ modparam("mtree", "tvalue_column", "ipaddr")
245 245
 	    </example>
246 246
 	</section>
247 247
 
248
-	<section>
248
+	<section id="mtree.p.fetch_rows">
249 249
 	    <title><varname>fetch_rows</varname> (integer)</title>
250 250
 	    <para>
251 251
 		Number of rows to be loaded in one step from database.
... ...
@@ -265,7 +265,7 @@ modparam("mtree", "fetch_rows", 4000)
265 265
 	    </example>
266 266
 	</section>
267 267
 
268
-	<section>
268
+	<section id="mtree.p.char_list">
269 269
 	    <title><varname>char_list</varname> (string)</title>
270 270
 	    <para>
271 271
 		The list with characters allowed in prefix.
... ...
@@ -285,7 +285,7 @@ modparam("mtree", "char_list", "0123456789*+")
285 285
 	    </example>
286 286
 	</section>
287 287
 
288
-	<section>
288
+	<section id="mtree.p.pv_value">
289 289
 	    <title><varname>pv_value</varname> (string)</title>
290 290
 	    <para>
291 291
 		The PV spec where to store the matched value. It can be any
... ...
@@ -306,7 +306,7 @@ modparam("mtree", "pv_value", "$var(mtval)")
306 306
 	    </example>
307 307
 	</section>
308 308
 
309
-	<section>
309
+	<section id="mtree.p.pv_values">
310 310
 	    <title><varname>pv_values</varname> (string)</title>
311 311
 	    <para>
312 312
 		The AVP where to store the matched values when mtree is of type
... ...
@@ -327,7 +327,7 @@ modparam("mtree", "pv_values", "$avp(mtvals)")
327 327
 	    </example>
328 328
 	</section>
329 329
 
330
-	<section>
330
+	<section id="mtree.p.pv_dstid">
331 331
 	    <title><varname>pv_dstid</varname> (string)</title>
332 332
 	    <para>
333 333
 		The AVP name where to store the first integer value when tree type is 1.
... ...
@@ -347,7 +347,7 @@ modparam("mtree", "pv_dstid", "$var(dstid)")
347 347
 	    </example>
348 348
 	</section>
349 349
 
350
-	<section>
350
+	<section id="mtree.p.pv_weight">
351 351
 	    <title><varname>pv_weight</varname> (string)</title>
352 352
 	    <para>
353 353
 		The AVP name where to store the second integer value when tree type is 1.
... ...
@@ -367,7 +367,7 @@ modparam("mtree", "pv_dstid", "$var(weight)")
367 367
 	    </example>
368 368
 	</section>
369 369
 
370
-	<section>
370
+	<section id="mtree.p.pv_count">
371 371
 	    <title><varname>pv_count</varname> (string)</title>
372 372
 	    <para>
373 373
 		The PV spec where to store the count of matched values when tree type
... ...
@@ -388,7 +388,7 @@ modparam("mtree", "pv_count", "$var(count)")
388 388
 	    </example>
389 389
 	</section>
390 390
 
391
-	<section>
391
+	<section id="mtree.p.mt_tree_type">
392 392
 	    <title><varname>mt_tree_type</varname> (integer)</title>
393 393
 	    <para>
394 394
 		Default payload type for trees data stored in 'db_table'. Documented
... ...
@@ -409,7 +409,7 @@ modparam("mtree", "mt_tree_type", 2)
409 409
 	    </example>
410 410
 	</section>
411 411
 
412
-	<section>
412
+	<section id="mtree.p.mt_ignore_duplicates">
413 413
 	    <title><varname>mt_ignore_duplicates</varname> (integer)</title>
414 414
 	    <para>
415 415
 		Ignore duplicated prefixes when loading data.
... ...
@@ -429,7 +429,7 @@ modparam("mtree", "mt_ignore_duplicates", 1)
429 429
 	    </example>
430 430
 	</section>
431 431
 
432
-	<section>
432
+	<section id="mtree.p.mt_allow_duplicates">
433 433
 	    <title><varname>mt_allow_duplicates</varname> (integer)</title>
434 434
 	    <para>
435 435
 		Allow duplicate prefixes when loading data.
Browse code

mtree: docs for pv_dstid, pv_weight and pv_count

- GH #2750

Daniel-Constantin Mierla authored on 29/05/2021 13:24:40
Showing 1 changed files
... ...
@@ -139,10 +139,19 @@ modparam("mtree", "db_table", "mtrees")
139 139
 		</listitem>
140 140
 		<listitem>
141 141
 			<para>
142
-				type - the  type of tree elements (0 = string, 2 = integer).
143
-				It is valid only when the (tprefix, tvalue) pairs are loaded
142
+				type - the  type of tree elements (0 = string, 1 = d:w, 2 = integer).
143
+				None-zero is valid only when the (tprefix, tvalue) pairs are loaded
144 144
 				(not for multi-column values).
145 145
 			</para>
146
+			<para>
147
+				When the type is 1, the value in database has to be two integers
148
+				separated by colon, the first one (d - dstid) will be stored in
149
+				pv_dstid AVP and the second (w - weight) will be stored in
150
+				pv_weight AVP. If in the matching records are many with the same
151
+				dstid, it will keep only the one with the longest prefix. Then
152
+				the records are ordered by the weight and stored in the specified
153
+				AVPs. The number of stored records is saved in pv_count variable.
154
+			</para>
146 155
 		</listitem>
147 156
 		<listitem>
148 157
 			<para>
... ...
@@ -318,6 +327,67 @@ modparam("mtree", "pv_values", "$avp(mtvals)")
318 327
 	    </example>
319 328
 	</section>
320 329
 
330
+	<section>
331
+	    <title><varname>pv_dstid</varname> (string)</title>
332
+	    <para>
333
+		The AVP name where to store the first integer value when tree type is 1.
334
+		</para>
335
+	    <para>
336
+		<emphasis>
337
+		    Default value is <quote>$avp(tdstid)</quote>.
338
+		</emphasis>
339
+	    </para>
340
+	    <example>
341
+		<title>Set <varname>pv_dstid</varname> parameter</title>
342
+		<programlisting format="linespecific">
343
+...
344
+modparam("mtree", "pv_dstid", "$var(dstid)")
345
+...
346
+</programlisting>
347
+	    </example>
348
+	</section>
349
+
350
+	<section>
351
+	    <title><varname>pv_weight</varname> (string)</title>
352
+	    <para>
353
+		The AVP name where to store the second integer value when tree type is 1.
354
+		</para>
355
+	    <para>
356
+		<emphasis>
357
+		    Default value is <quote>$avp(tweight)</quote>.
358
+		</emphasis>
359
+	    </para>
360
+	    <example>
361
+		<title>Set <varname>pv_weight</varname> parameter</title>
362
+		<programlisting format="linespecific">
363
+...
364
+modparam("mtree", "pv_dstid", "$var(weight)")
365
+...
366
+</programlisting>
367
+	    </example>
368
+	</section>
369
+
370
+	<section>
371
+	    <title><varname>pv_count</varname> (string)</title>
372
+	    <para>
373
+		The PV spec where to store the count of matched values when tree type
374
+		is 1. It can be any writable PV.
375
+		</para>
376
+	    <para>
377
+		<emphasis>
378
+		    Default value is <quote>$avp(tcount)</quote>.
379
+		</emphasis>
380
+	    </para>
381
+	    <example>
382
+		<title>Set <varname>pv_count</varname> parameter</title>
383
+		<programlisting format="linespecific">
384
+...
385
+modparam("mtree", "pv_count", "$var(count)")
386
+...
387
+</programlisting>
388
+	    </example>
389
+	</section>
390
+
321 391
 	<section>
322 392
 	    <title><varname>mt_tree_type</varname> (integer)</title>
323 393
 	    <para>
... ...
@@ -389,8 +459,8 @@ modparam("mtree", "mt_allow_duplicates", 1)
389 459
 	    </title>
390 460
 	    <para>
391 461
 		Match 'pv' value against 'mtree'. If 'mtree' type is 0 or 2 and value
392
-		of 'mode' is NOT 2, sets a value of the longest matching prefix to
393
-		pseudo variable specified by pv_value parameter. If 'mtree' type is 
462
+		of 'mode' is NOT 2, sets associated value of the longest matching prefix
463
+		to pseudo variable specified by pv_value parameter. If 'mtree' type is
394 464
 		0 or 2 and value of 'mode' is 2, sets values of all matching prefixes
395 465
 		to avp specified by pv_values parameter so that a value of longest
396 466
 		matching prefix is in avp index 0.  Parameter 'mode' can be an integer
Browse code

mtree: Fix typos in module documentation

Florian Floimair authored on 26/02/2018 22:07:41 • Daniel-Constantin Mierla committed on 28/02/2018 17:00:48
Showing 1 changed files
... ...
@@ -108,7 +108,7 @@ modparam("mtree", "db_table", "mtrees")
108 108
 	<section>
109 109
 	    <title><varname>mtree</varname> (string)</title>
110 110
 	    <para>
111
-			Definition of memory tree with using a prameters format string.
111
+			Definition of memory tree with using a parameters format string.
112 112
 			The parameter names can be:
113 113
 		<itemizedlist>
114 114
 		<listitem>
Browse code

mtree: doc typo

Mikko Lehto authored on 29/09/2017 06:13:56
Showing 1 changed files
... ...
@@ -141,7 +141,7 @@ modparam("mtree", "db_table", "mtrees")
141 141
 			<para>
142 142
 				type - the  type of tree elements (0 = string, 2 = integer).
143 143
 				It is valid only when the (tprefix, tvalue) pairs are loaded
144
-				(not for muti-column values).
144
+				(not for multi-column values).
145 145
 			</para>
146 146
 		</listitem>
147 147
 		<listitem>
... ...
@@ -149,7 +149,7 @@ modparam("mtree", "db_table", "mtrees")
149 149
 				multi - tells if dbtable can contain more than one tree
150 150
 				(0 = one tree, 1 = more than one tree identified by tname
151 151
 				column). It is valid only when the (tprefix, tvalue) pairs
152
-				are loaded (not for muti-column values).
152
+				are loaded (not for multi-column values).
153 153
 			</para>
154 154
 		</listitem>
155 155
 		</itemizedlist>
Browse code

mtree: clarifications about db table parameter in docs

Daniel-Constantin Mierla authored on 05/04/2017 07:36:17
Showing 1 changed files
... ...
@@ -86,19 +86,20 @@ modparam("mtree", "db_url", "&exampledb;")
86 86
 	<section>
87 87
 	    <title><varname>db_table</varname> (string)</title>
88 88
 	    <para>
89
-		Name of database table where data for trees is stored. It is ignored if a
90
-		'mtree' parameter is defined.
89
+		Name of database table where data for many trees is stored. It is ignored
90
+		if a 'mtree' parameter is defined. The SQL scripts creates a table named
91
+		'mtrees' that can be used for this parameter.
91 92
 	    </para>
92 93
 	    <para>
93 94
 		<emphasis>
94
-		    Default value is <quote>mtrees</quote>.
95
+		    Default value is <quote></quote> (no table name).
95 96
 		</emphasis>
96 97
 	    </para>
97 98
 	    <example>
98 99
 		<title>Set <varname>db_table</varname> parameter</title>
99 100
 		<programlisting format="linespecific">
100 101
 ...
101
-modparam("mtree", "db_table", "mymtrees")
102
+modparam("mtree", "db_table", "mtrees")
102 103
 ...
103 104
 </programlisting>
104 105
 	    </example>
Browse code

mtree: removed mi commands

Daniel-Constantin Mierla authored on 24/12/2016 07:34:02
Showing 1 changed files
... ...
@@ -11,9 +11,9 @@
11 11
 <!-- Module User's Guide -->
12 12
 
13 13
 <chapter>
14
-    
14
+
15 15
     <title>&adminguide;</title>
16
-    
16
+
17 17
     <section>
18 18
 	<title>Overview</title>
19 19
 	<para>
... ...
@@ -21,12 +21,12 @@
21 21
 		them in a named memory tree. Name of the tree is specified for each
22 22
 		record or as module parameter.
23 23
 	</para>
24
-	<para>	
24
+	<para>
25 25
 		It exports to configuration file functions to match against in-memory
26 26
 		trees and return the values (raw or precompiled) associated with
27 27
 		matched prefixes.
28 28
 	</para>
29
-	<para>	
29
+	<para>
30 30
 		The maximum size of the prefix is limited internally to 63, database
31 31
 		table definition may enforce lower maximum size.
32 32
 	</para>
... ...
@@ -379,7 +379,7 @@ modparam("mtree", "mt_allow_duplicates", 1)
379 379
 	</section>
380 380
 
381 381
 	</section>
382
-	
382
+
383 383
     <section>
384 384
 	<title>Functions</title>
385 385
  	<section>
... ...
@@ -407,117 +407,36 @@ mt_match("mytree", "$rU", "0");
407 407
 </programlisting>
408 408
 	    </example>
409 409
 	</section>
410
-	
411
-    </section>
412
-	
413
-	<section>
414
-		<title>MI Commands</title>
415 410
 
416
-	<section>
417
-		<title>
418
-		<function moreinfo="none">mt_list</function>
419
-		</title>
420
-		<para>
421
-		List content of a tree.
422
-		</para>
423
-		<para>
424
-		Name: <emphasis>mt_list</emphasis>
425
-		</para>
426
-		<para>Parameters:</para>
427
-		<itemizedlist>
428
-			<listitem><para>_mtree_ : name of tree to list. </para></listitem>	  
429
-		</itemizedlist>
430
-		<para>
431
-		MI FIFO Command Format:
432
-		</para>
433
-        <programlisting  format="linespecific">
434
-		:mt_list:_reply_fifo_file_
435
-		_mtname_
436
-		_empty_line_
437
-		</programlisting>
438 411
     </section>
439 412
 
440 413
 	<section>
414
+	<title>RPC Commands</title>
415
+	<section id="mtree.rpc.list">
441 416
 		<title>
442
-		<function moreinfo="none">mt_reload</function>
417
+		<function moreinfo="none">mtree.list</function>
443 418
 		</title>
444 419
 		<para>
445
-		Reload mtree from database.
420
+		List content of one or all trees.
446 421
 		</para>
447 422
 		<para>
448
-		Name: <emphasis>mt_mtree</emphasis>
423
+		Name: <emphasis>mtree.list</emphasis>
449 424
 		</para>
450 425
 		<para>Parameters:</para>
451 426
 		<itemizedlist>
452
-			<listitem><para>_mtname_</para> - name of mem tree</listitem>	  
427
+			<listitem><para>_mtree_ : name of tree to list (optional). </para></listitem>
453 428
 		</itemizedlist>
454
-		<para>
455
-		MI FIFO Command Format:
456
-		</para>
457
-        <programlisting  format="linespecific">
458
-		:mt_reload:_reply_fifo_file_
459
-		_mtname_
460
-		_empty_line_
461
-		</programlisting>
462
-    </section>
463
-
464
-	<section>
465
-		<title>
466
-		<function moreinfo="none">mt_summary</function>
467
-		</title>
468
-		<para>
469
-		List usage summary for all trees.
470
-		</para>
471
-		<para>
472
-		Name: <emphasis>mt_summary</emphasis>
473
-		</para>
474
-		<para>Parameters: none.</para>
475
-		<para>
476
-		MI FIFO Command Format:
477
-		</para>
478
-        <programlisting  format="linespecific">
479
-		:mt_summary:_reply_fifo_file_
480
-		_empty_line_
481
-		</programlisting>
482
-    </section>
483
-
484
-    <section>
485
-		<title>
486
-		<function moreinfo="none">mt_match</function>
487
-		</title>
488
-		<para>
489
-		Match prefix value against mtree.
490
-		</para>
491
-		<para>
492
-		Name: <emphasis>mt_match</emphasis>
493
-		</para>
494
-		<para>Parameters: <emphasis>3</emphasis></para>
495
-		<itemizedlist>
496
-            <listitem>
497
-            <para><emphasis>Name of mtree</emphasis></para>
498
-            </listitem>
499
-            <listitem>
500
-            <para><emphasis>Prefix to match</emphasis></para>
501
-            </listitem>
502
-            <listitem>
503
-            <para><emphasis>Mode of matching</emphasis></para>
504
-            </listitem>
505
-        </itemizedlist>
506
-		<para>
507
-		MI FIFO Command Format:
508
-		</para>
509
-        <programlisting  format="linespecific">
510
-		:mt_match:_reply_fifo_file_
511
-		_mtree_
512
-		_prefix_
513
-		_mode_
514
-		_empty_line_
515
-		</programlisting>
429
+		<example>
430
+		<title><function>mtree.list</function> rpc usage</title>
431
+		<programlisting format="linespecific">
432
+...
433
+&kamcmd; mtree.list
434
+&kamcmd; mtree.list mytree
435
+...
436
+</programlisting>
437
+	    </example>
516 438
     </section>
517
-    </section><!-- MI commands -->
518
-	<section>
519
-	<title>RPC Commands</title>
520
-	<section>
439
+	<section id="mtree.rpc.summary">
521 440
 		<title>
522 441
 		<function moreinfo="none">mtree.summary</function>
523 442
 		</title>
... ...
@@ -529,8 +448,8 @@ mt_match("mytree", "$rU", "0");
529 448
 		<itemizedlist>
530 449
 			<listitem><para>_mtree_ - (optional) the name of the tree.</para></listitem>
531 450
 		</itemizedlist>
532
-        </section>
533
-	<section>
451
+    </section>
452
+	<section id="mtree.rpc.reload">
534 453
 		<title>
535 454
 		<function moreinfo="none">mtree.reload</function>
536 455
 		</title>
... ...
@@ -541,8 +460,8 @@ mt_match("mytree", "$rU", "0");
541 460
 		<itemizedlist>
542 461
 			<listitem><para>_mtree_</para> - name of mtree or empty string meaning all mtrees</listitem>
543 462
 		</itemizedlist>
544
-        </section>
545
-    <section>
463
+    </section>
464
+    <section id="mtree.rpc.match">
546 465
 		<title>
547 466
 		<function moreinfo="none">mtree.match</function>
548 467
 		</title>
... ...
@@ -555,8 +474,8 @@ mt_match("mytree", "$rU", "0");
555 474
 			<listitem><para>_prefix_</para> - match prefix</listitem>
556 475
 			<listitem><para>_mode_</para> - matching mode</listitem>
557 476
 		</itemizedlist>
558
-        </section>
559
-    	</section><!-- RPC commands -->
477
+    </section>
478
+    </section><!-- RPC commands -->
560 479
 
561 480
 </chapter>
562 481
 
Browse code

doc, modules: updated the path to docbook entities and spec files

Daniel-Constantin Mierla authored on 07/12/2016 14:24:32
Showing 1 changed files
... ...
@@ -3,7 +3,7 @@
3 3
 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 4
 
5 5
 <!-- Include general documentation entities -->
6
-<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
6
+<!ENTITY % docentities SYSTEM "../../../../doc/docbook/entities.xml">
7 7
 %docentities;
8 8
 
9 9
 ]>
Browse code

core, lib, modules: restructured source code tree

- new folder src/ to hold the source code for main project applications
- main.c is in src/
- all core files are subfolder are in src/core/
- modules are in src/modules/
- libs are in src/lib/
- application Makefiles are in src/
- application binary is built in src/ (src/kamailio)

Daniel-Constantin Mierla authored on 07/12/2016 11:03:51
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,562 @@
1
+<?xml version="1.0" encoding="iso-8859-1"?>
2
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3
+"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4
+
5
+<!-- Include general documentation entities -->
6
+<!ENTITY % docentities SYSTEM "../../../docbook/entities.xml">
7
+%docentities;
8
+
9
+]>
10
+
11
+<!-- Module User's Guide -->
12
+
13
+<chapter>
14
+    
15
+    <title>&adminguide;</title>
16
+    
17
+    <section>
18
+	<title>Overview</title>
19
+	<para>
20
+		This module loads (prefix, value) records from database and indexes
21
+		them in a named memory tree. Name of the tree is specified for each
22
+		record or as module parameter.
23
+	</para>
24
+	<para>	
25
+		It exports to configuration file functions to match against in-memory
26
+		trees and return the values (raw or precompiled) associated with
27
+		matched prefixes.
28
+	</para>
29
+	<para>	
30
+		The maximum size of the prefix is limited internally to 63, database
31
+		table definition may enforce lower maximum size.
32
+	</para>
33
+    </section>
34
+    <section>
35
+	<title>Dependencies</title>
36
+	<section>
37
+	    <title>&kamailio; Modules</title>
38
+	    <para>
39
+		The following modules must be loaded before this module:
40
+	    	<itemizedlist>
41
+		    <listitem>
42
+			<para>
43
+			    <emphasis>A &kamailio; database module (e.g., mysql)</emphasis>.
44
+			</para>
45
+		    </listitem>
46
+	    	</itemizedlist>
47
+	    </para>
48
+	</section>
49
+	<section>
50
+	    <title>External Libraries or Applications</title>
51
+	    <para>
52
+		The following libraries or applications must be installed before running
53
+		&kamailio; with this module loaded:
54
+	    	<itemizedlist>
55
+		    <listitem>
56
+			<para>
57
+			    <emphasis>None</emphasis>.
58
+			</para>
59
+		    </listitem>
60
+	    	</itemizedlist>
61
+	    </para>
62
+	</section>
63
+    </section>
64
+    <section>
65
+	<title>Parameters</title>
66
+	<section>
67
+	    <title><varname>db_url</varname> (string)</title>
68
+	    <para>
69
+		URL of the database server to be used.
70
+	    </para>
71
+	    <para>
72
+		<emphasis>
73
+		    Default value is <quote>&defaultdb;</quote>.
74
+		</emphasis>
75
+	    </para>
76
+	    <example>
77
+		<title>Set <varname>db_url</varname> parameter</title>
78
+		<programlisting format="linespecific">
79
+...
80
+modparam("mtree", "db_url", "&exampledb;")
81
+...
82
+</programlisting>
83
+	    </example>
84
+	</section>
85
+
86
+	<section>
87
+	    <title><varname>db_table</varname> (string)</title>
88
+	    <para>
89
+		Name of database table where data for trees is stored. It is ignored if a
90
+		'mtree' parameter is defined.
91
+	    </para>
92
+	    <para>
93
+		<emphasis>
94
+		    Default value is <quote>mtrees</quote>.
95
+		</emphasis>
96
+	    </para>
97
+	    <example>
98
+		<title>Set <varname>db_table</varname> parameter</title>
99
+		<programlisting format="linespecific">
100
+...
101
+modparam("mtree", "db_table", "mymtrees")
102
+...
103
+</programlisting>
104
+	    </example>
105
+	</section>
106
+
107
+	<section>
108
+	    <title><varname>mtree</varname> (string)</title>
109
+	    <para>
110
+			Definition of memory tree with using a prameters format string.
111
+			The parameter names can be:
112
+		<itemizedlist>
113
+		<listitem>
114
+			<para>
115
+				name - the name of the tree to be used for referencing
116
+				inside configuration file.
117
+			</para>
118
+		</listitem>
119
+		<listitem>
120
+			<para>
121
+				dbtable - the name of the database table from where to
122
+				load the records stored in the tree.
123
+			</para>
124
+		</listitem>
125
+		<listitem>
126
+			<para>
127
+				cols - the column names of the database table. They must
128
+				be enclosed in quotes in order to form a valid SIP parameter
129
+				value and be separated by comma. The first column corresponds
130
+				to tprefix. When specified, there must be at least two columns.
131
+				If this attribute is not specified, then the global module
132
+				parameters for tprefix and tvalue are used. If more than one
133
+				value columns are specified, the tree will pack the column
134
+				values in a comma separated string, which will be associated
135
+				with the prefix (string transformation {s.select,...) can be
136
+				used in configuration file to extract a specific column value).
137
+			</para>
138
+		</listitem>
139
+		<listitem>
140
+			<para>
141
+				type - the  type of tree elements (0 = string, 2 = integer).
142
+				It is valid only when the (tprefix, tvalue) pairs are loaded
143
+				(not for muti-column values).
144
+			</para>
145
+		</listitem>
146
+		<listitem>
147
+			<para>
148
+				multi - tells if dbtable can contain more than one tree
149
+				(0 = one tree, 1 = more than one tree identified by tname
150
+				column). It is valid only when the (tprefix, tvalue) pairs
151
+				are loaded (not for muti-column values).
152
+			</para>
153
+		</listitem>
154
+		</itemizedlist>
155
+		</para>
156
+	    <para>
157
+	    This parameter can be set many times to add more trees in
158
+	    memory.
159
+	    </para>
160
+	    <para>
161
+		<emphasis>
162
+		    Default value is <quote>none</quote>.
163
+		</emphasis>
164
+	    </para>
165
+	    <example>
166
+		<title>Set <varname>mtree</varname> parameter</title>
167
+		<programlisting format="linespecific">
168
+...
169
+modparam("mtree", "mtree", "name=mytree1;dbtable=routes1;type=0")
170
+modparam("mtree", "mtree", "name=mytree2;dbtable=routes2;type=0;multi=1")
171
+modparam("mtree", "mtree",
172
+    "name=mytree1;dbtable=routes1;cols='key1,val1,val2,val3'")
173
+...
174
+</programlisting>
175
+	    </example>
176
+	</section>
177
+
178
+	<section>
179
+	    <title><varname>tname_column</varname> (string)</title>
180
+	    <para>
181
+		Name of 'tname' column.
182
+	    </para>
183
+	    <para>
184
+		<emphasis>
185
+		    Default value is <quote>tname</quote>.
186
+		</emphasis>
187
+	    </para>
188
+	    <example>
189
+		<title>Set <varname>tname_column</varname> parameter</title>
190
+		<programlisting format="linespecific">
191
+...
192
+modparam("mtree", "tname_column", "name")
193
+...
194
+</programlisting>
195
+	    </example>
196
+	</section>
197
+
198
+	<section>
199
+	    <title><varname>tprefix_column</varname> (string)</title>
200
+	    <para>
201
+		Name of 'tprefix' column.
202
+	    </para>
203
+	    <para>
204
+		<emphasis>
205
+		    Default value is <quote>tprefix</quote>.
206
+		</emphasis>
207
+	    </para>
208
+	    <example>
209
+		<title>Set <varname>tprefix_column</varname> parameter</title>
210
+		<programlisting format="linespecific">
211
+...
212
+modparam("mtree", "tprefix_column", "prefix")
213
+...
214
+</programlisting>
215
+	    </example>
216
+	</section>
217
+
218
+	<section>
219
+	    <title><varname>tvalue_column</varname> (string)</title>
220
+	    <para>
221
+		Name of 'tvalue' column.
222
+	    </para>
223
+	    <para>
224
+		<emphasis>
225
+		    Default value is <quote>tvalue</quote>.
226
+		</emphasis>
227
+	    </para>
228
+	    <example>
229
+		<title>Set <varname>tvalue_column</varname> parameter</title>
230
+		<programlisting format="linespecific">
231
+...
232
+modparam("mtree", "tvalue_column", "ipaddr")
233
+...
234
+</programlisting>
235
+	    </example>
236
+	</section>
237
+
238
+	<section>
239
+	    <title><varname>fetch_rows</varname> (integer)</title>
240
+	    <para>
241
+		Number of rows to be loaded in one step from database.
242
+	    </para>
243
+	    <para>
244
+		<emphasis>
245
+		    Default value is 1000.
246
+		</emphasis>
247
+	    </para>
248
+	    <example>
249
+		<title>Set <varname>fetch_rows</varname> parameter</title>
250
+		<programlisting format="linespecific">
251
+...
252
+modparam("mtree", "fetch_rows", 4000)
253
+...
254
+</programlisting>
255
+	    </example>
256
+	</section>
257
+
258
+	<section>
259
+	    <title><varname>char_list</varname> (string)</title>
260
+	    <para>
261
+		The list with characters allowed in prefix.
262
+		</para>
263
+	    <para>
264
+		<emphasis>
265
+		    Default value is <quote>0123456789</quote>.
266
+		</emphasis>
267
+	    </para>
268
+	    <example>
269
+		<title>Set <varname>char_list</varname> parameter</title>
270
+		<programlisting format="linespecific">
271
+...
272
+modparam("mtree", "char_list", "0123456789*+")
273
+...
274
+</programlisting>
275
+	    </example>
276
+	</section>
277
+
278
+	<section>
279
+	    <title><varname>pv_value</varname> (string)</title>
280
+	    <para>
281
+		The PV spec where to store the matched value. It can be any
282
+		writable PV.
283
+		</para>
284
+	    <para>
285
+		<emphasis>
286
+		    Default value is <quote>$avp(s:tvalue)</quote>.
287
+		</emphasis>
288
+	    </para>
289
+	    <example>
290
+		<title>Set <varname>pv_value</varname> parameter</title>
291
+		<programlisting format="linespecific">
292
+...
293
+modparam("mtree", "pv_value", "$var(mtval)")
294
+...
295
+</programlisting>
296
+	    </example>
297
+	</section>
298
+
299
+	<section>
300
+	    <title><varname>pv_values</varname> (string)</title>
301
+	    <para>
302
+		The AVP where to store the matched values when mtree is of type
303
+		0 or 2 and mode of mt_match() call has value 2.
304
+		</para>
305
+	    <para>
306
+		<emphasis>
307
+		    Default value is <quote>$avp(s:tvalues)</quote>.
308
+		</emphasis>
309
+	    </para>
310
+	    <example>
311
+		<title>Set <varname>pv_values</varname> parameter</title>
312
+		<programlisting format="linespecific">
313
+...
314
+modparam("mtree", "pv_values", "$avp(mtvals)")
315
+...
316
+</programlisting>
317
+	    </example>
318
+	</section>
319
+
320
+	<section>
321
+	    <title><varname>mt_tree_type</varname> (integer)</title>
322
+	    <para>
323
+		Default payload type for trees data stored in 'db_table'. Documented
324
+		values are 0 for string payloads and 2 for integer payloads.
325
+	    </para>
326
+	    <para>
327
+		<emphasis>
328
+		    Default value is 0.
329
+		</emphasis>
330
+	    </para>
331
+	    <example>
332
+		<title>Set <varname>mt_tree_type</varname> parameter</title>
333
+		<programlisting format="linespecific">
334
+...
335
+modparam("mtree", "mt_tree_type", 2)
336
+...
337
+</programlisting>
338
+	    </example>
339
+	</section>
340
+
341
+	<section>
342
+	    <title><varname>mt_ignore_duplicates</varname> (integer)</title>
343
+	    <para>
344
+		Ignore duplicated prefixes when loading data.
345
+	    </para>
346
+	    <para>
347
+		<emphasis>
348
+		    Default value is 0.
349
+		</emphasis>
350
+	    </para>
351
+	    <example>
352
+		<title>Set <varname>mt_ignore_duplicates</varname> parameter</title>
353
+		<programlisting format="linespecific">
354
+...
355
+modparam("mtree", "mt_ignore_duplicates", 1)
356
+...
357
+</programlisting>
358
+	    </example>
359
+	</section>
360
+
361
+	<section>
362
+	    <title><varname>mt_allow_duplicates</varname> (integer)</title>
363
+	    <para>
364
+		Allow duplicate prefixes when loading data.
365
+	    </para>
366
+	    <para>
367
+		<emphasis>
368
+		    Default value is 0.
369
+		</emphasis>
370
+	    </para>
371
+	    <example>
372
+		<title>Set <varname>mt_allow_duplicates</varname> parameter</title>
373
+		<programlisting format="linespecific">
374
+...
375
+modparam("mtree", "mt_allow_duplicates", 1)
376
+...
377
+</programlisting>
378
+	    </example>
379
+	</section>
380
+
381
+	</section>
382
+	
383