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.
366 lines
7.6 KiB
366 lines
7.6 KiB
mtree Module
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
asipto.com
|
|
|
|
Edited by
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
<miconda@gmail.com>
|
|
|
|
Juha Heinanen
|
|
|
|
tutpro.com
|
|
|
|
Edited by
|
|
|
|
Juha Heinanen
|
|
|
|
<jh@tutpro.com>
|
|
|
|
Copyright © 2010 Daniel-Constantin Mierla (asipto.com)
|
|
|
|
Copyright © 2011 Juha Heinanen
|
|
__________________________________________________________________
|
|
|
|
Table of Contents
|
|
|
|
1. Admin Guide
|
|
|
|
1. Overview
|
|
2. Dependencies
|
|
|
|
2.1. Kamailio Modules
|
|
2.2. External Libraries or Applications
|
|
|
|
3. Parameters
|
|
|
|
3.1. db_url (string)
|
|
3.2. db_table (string)
|
|
3.3. mtree (string)
|
|
3.4. tname_column (string)
|
|
3.5. tprefix_column (string)
|
|
3.6. tvalue_column (string)
|
|
3.7. fetch_rows (integer)
|
|
3.8. char_list (string)
|
|
3.9. pv_value (string)
|
|
3.10. pv_values (string)
|
|
3.11. mt_tree_type (integer)
|
|
3.12. mt_ignore_duplicates (integer)
|
|
3.13. mt_allow_duplicates (integer)
|
|
|
|
4. Functions
|
|
|
|
4.1. mt_match(mtree, pv, mode)
|
|
|
|
5. MI Commands
|
|
|
|
5.1. mt_list
|
|
5.2. mt_reload
|
|
5.3. mt_summary
|
|
|
|
List of Examples
|
|
|
|
1.1. Set db_url parameter
|
|
1.2. Set db_table parameter
|
|
1.3. Set mtree parameter
|
|
1.4. Set tname_column parameter
|
|
1.5. Set tprefix_column parameter
|
|
1.6. Set tvalue_column parameter
|
|
1.7. Set fetch_rows parameter
|
|
1.8. Set char_list parameter
|
|
1.9. Set pv_value parameter
|
|
1.10. Set pv_values parameter
|
|
1.11. Set mt_tree_type parameter
|
|
1.12. Set mt_ignore_duplicates parameter
|
|
1.13. Set mt_allow_duplicates parameter
|
|
1.14. mt_match usage
|
|
|
|
Chapter 1. Admin Guide
|
|
|
|
Table of Contents
|
|
|
|
1. Overview
|
|
2. Dependencies
|
|
|
|
2.1. Kamailio Modules
|
|
2.2. External Libraries or Applications
|
|
|
|
3. Parameters
|
|
|
|
3.1. db_url (string)
|
|
3.2. db_table (string)
|
|
3.3. mtree (string)
|
|
3.4. tname_column (string)
|
|
3.5. tprefix_column (string)
|
|
3.6. tvalue_column (string)
|
|
3.7. fetch_rows (integer)
|
|
3.8. char_list (string)
|
|
3.9. pv_value (string)
|
|
3.10. pv_values (string)
|
|
3.11. mt_tree_type (integer)
|
|
3.12. mt_ignore_duplicates (integer)
|
|
3.13. mt_allow_duplicates (integer)
|
|
|
|
4. Functions
|
|
|
|
4.1. mt_match(mtree, pv, mode)
|
|
|
|
5. MI Commands
|
|
|
|
5.1. mt_list
|
|
5.2. mt_reload
|
|
5.3. mt_summary
|
|
|
|
1. Overview
|
|
|
|
This module loads data indexed by prefixes from database and returns
|
|
associated string or precompiled value.
|
|
|
|
2. Dependencies
|
|
|
|
2.1. Kamailio Modules
|
|
2.2. External Libraries or Applications
|
|
|
|
2.1. Kamailio Modules
|
|
|
|
The following modules must be loaded before this module:
|
|
* A Kamailio database module (e.g., mysql).
|
|
|
|
2.2. External Libraries or Applications
|
|
|
|
The following libraries or applications must be installed before
|
|
running Kamailio with this module loaded:
|
|
* None.
|
|
|
|
3. Parameters
|
|
|
|
3.1. db_url (string)
|
|
3.2. db_table (string)
|
|
3.3. mtree (string)
|
|
3.4. tname_column (string)
|
|
3.5. tprefix_column (string)
|
|
3.6. tvalue_column (string)
|
|
3.7. fetch_rows (integer)
|
|
3.8. char_list (string)
|
|
3.9. pv_value (string)
|
|
3.10. pv_values (string)
|
|
3.11. mt_tree_type (integer)
|
|
3.12. mt_ignore_duplicates (integer)
|
|
3.13. mt_allow_duplicates (integer)
|
|
|
|
3.1. db_url (string)
|
|
|
|
URL of the database server to be used.
|
|
|
|
Default value is “mysql://openser:openserrw@localhost/openser”.
|
|
|
|
Example 1.1. Set db_url parameter
|
|
...
|
|
modparam("mtree", "db_url", "dbdriver://username:password@dbhost/dbname")
|
|
...
|
|
|
|
3.2. db_table (string)
|
|
|
|
Name of DB table where data for trees is store. It is ignored if a
|
|
'mtree' parameter is defined.
|
|
|
|
Default value is “mtrees”.
|
|
|
|
Example 1.2. Set db_table parameter
|
|
...
|
|
modparam("mtree", "db_table", "mymtrees")
|
|
...
|
|
|
|
3.3. mtree (string)
|
|
|
|
Definition of memory tree
|
|
|
|
Default value is “none”.
|
|
|
|
Example 1.3. Set mtree parameter
|
|
...
|
|
modparam("mtree", "mtree", "name=mytable;dbtable=routes;type=0;")
|
|
...
|
|
|
|
3.4. tname_column (string)
|
|
|
|
Name of 'tname' column.
|
|
|
|
Default value is “tname”.
|
|
|
|
Example 1.4. Set tname_column parameter
|
|
...
|
|
modparam("mtree", "tname_column", "name")
|
|
...
|
|
|
|
3.5. tprefix_column (string)
|
|
|
|
Name of 'tprefix' column.
|
|
|
|
Default value is “tprefix”.
|
|
|
|
Example 1.5. Set tprefix_column parameter
|
|
...
|
|
modparam("mtree", "tprefix_column", "prefix")
|
|
...
|
|
|
|
3.6. tvalue_column (string)
|
|
|
|
Name of 'tvalue' column.
|
|
|
|
Default value is “tvalue”.
|
|
|
|
Example 1.6. Set tvalue_column parameter
|
|
...
|
|
modparam("mtree", "tvalue_column", "ipaddr")
|
|
...
|
|
|
|
3.7. fetch_rows (integer)
|
|
|
|
Number of rows to be loaded in one step from database.
|
|
|
|
Default value is 1000.
|
|
|
|
Example 1.7. Set fetch_rows parameter
|
|
...
|
|
modparam("mtree", "fetch_rows", 4000)
|
|
...
|
|
|
|
3.8. char_list (string)
|
|
|
|
The list with characters allowed in prefix.
|
|
|
|
Default value is “0123456789”.
|
|
|
|
Example 1.8. Set char_list parameter
|
|
...
|
|
modparam("mtree", "char_list", "0123456789*+")
|
|
...
|
|
|
|
3.9. pv_value (string)
|
|
|
|
The PV spec where to store the matched value. It can be any writtable
|
|
PV.
|
|
|
|
Default value is “$avp(s:tvalue)”.
|
|
|
|
Example 1.9. Set pv_value parameter
|
|
...
|
|
modparam("mtree", "pv_value", "$var(mtval)")
|
|
...
|
|
|
|
3.10. pv_values (string)
|
|
|
|
The PV spec where to store the matched values when mtree is of type 0
|
|
or 2 and mode of mt_match() call has value 2. It can be any AVP.
|
|
|
|
Default value is “$avp(s:tvalues)”.
|
|
|
|
Example 1.10. Set pv_values parameter
|
|
...
|
|
modparam("mtree", "pv_values", "$avp(mtvals)")
|
|
...
|
|
|
|
3.11. mt_tree_type (integer)
|
|
|
|
Default payload type for trees data stored in 'db_table'. Documented
|
|
values are 0 for string payloads and 2 for integer payloads.
|
|
|
|
Default value is 0.
|
|
|
|
Example 1.11. Set mt_tree_type parameter
|
|
...
|
|
modparam("mtree", "mt_tree_type", 2)
|
|
...
|
|
|
|
3.12. mt_ignore_duplicates (integer)
|
|
|
|
Ignore duplicated prefixes when loading data.
|
|
|
|
Default value is 0.
|
|
|
|
Example 1.12. Set mt_ignore_duplicates parameter
|
|
...
|
|
modparam("mtree", "mt_ignore_duplicates", 1)
|
|
...
|
|
|
|
3.13. mt_allow_duplicates (integer)
|
|
|
|
Allow duplicate prefixes when loading data.
|
|
|
|
Default value is 0.
|
|
|
|
Example 1.13. Set mt_allow_duplicates parameter
|
|
...
|
|
modparam("mtree", "mt_allow_duplicates", 1)
|
|
...
|
|
|
|
4. Functions
|
|
|
|
4.1. mt_match(mtree, pv, mode)
|
|
|
|
4.1. mt_match(mtree, pv, mode)
|
|
|
|
Match 'pv' value against 'mtree'. If 'mtree' type is 0 or 2 and value
|
|
of 'mode' is NOT 2, sets a value of longest matching prefix to pseudo
|
|
variable specified by pv_value parameter. If 'mtree' type is 0 or 2 and
|
|
value of 'mode' is 2, sets values of all matching prefixes to avp
|
|
specified by pv_values parameter so that a value of longest matching
|
|
prefix is in avp index 0. Parameter 'mode' can be an integer constant
|
|
or a pseudo variable with integer value.
|
|
|
|
Example 1.14. mt_match usage
|
|
...
|
|
mt_match("mytree", "$rU", "0");
|
|
...
|
|
|
|
5. MI Commands
|
|
|
|
5.1. mt_list
|
|
5.2. mt_reload
|
|
5.3. mt_summary
|
|
|
|
5.1. mt_list
|
|
|
|
List content of a tree.
|
|
|
|
Name: mt_list
|
|
|
|
Parameters:
|
|
* _mtree_ : name of tree to list.
|
|
|
|
MI FIFO Command Format:
|
|
:mt_list:_reply_fifo_file_
|
|
_mtname_
|
|
_empty_line_
|
|
|
|
5.2. mt_reload
|
|
|
|
Reload mtree from database.
|
|
|
|
Name: mt_mtree
|
|
|
|
Parameters:
|
|
* _mtname_
|
|
- name of mem tree
|
|
|
|
MI FIFO Command Format:
|
|
:mt_reload:_reply_fifo_file_
|
|
_mtname_
|
|
_empty_line_
|
|
|
|
5.3. mt_summary
|
|
|
|
List usage summary for all trees.
|
|
|
|
Name: mt_summary
|
|
|
|
Parameters: none.
|
|
|
|
MI FIFO Command Format:
|
|
:mt_summary:_reply_fifo_file_
|
|
_empty_line_
|