File: README

package info (click to toggle)
kamailio 4.2.0-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 56,100 kB
  • sloc: ansic: 552,832; xml: 166,484; sh: 8,659; makefile: 7,676; sql: 6,235; perl: 3,487; yacc: 3,428; python: 1,457; cpp: 1,219; php: 1,047; java: 449; pascal: 194; cs: 40; awk: 27
file content (146 lines) | stat: -rw-r--r-- 4,601 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146

The configuration database module - cfg_db

Tomas Mandys

   Iptel.org

   Copyright  2008 Tomas Mandys
     _________________________________________________________________

   Table of Contents

   1. Admin Guide

        1. Overview
        2. Dependencies
        3. Parameters

              3.1. db_url (string)
              3.2. transl_tbl (string) := "cfg_transl"
              3.3. custom_tbl (string) := "cfg_custom"

        4. Examples

   List of Examples

   1.1. Example db_url
   1.2. Content of tables

Chapter 1. Admin Guide

   Table of Contents

   1. Overview
   2. Dependencies
   3. Parameters

        3.1. db_url (string)
        3.2. transl_tbl (string) := "cfg_transl"
        3.3. custom_tbl (string) := "cfg_custom"

   4. Examples

1. Overview

   The   module  implements  a  database  driver  for  the  configuration
   parameters  API.  When  configuration  parameters  are  being declared
   (typically  when  starting) API then driver is notified and has chance
   to  set  value  (of any parameter) based on value taken from database.
   It's  primarily targeted for interfacing with 3rd party software which
   is aware of the Kamailio configuration.

   A  parameter is uniquely identified by a group_name plus a name, which
   is  used  by  the  driver  to  check  if a value can be found. Because
   configuration  parameters  may be spread in many tables, a translation
   table  is  used to indicate where to start searching. Multiple look-up
   tables may be defined for single parameter, tables are searched in the
   first round by exact match until parameter is found, all tables listed
   with  wildcard  (asterisk)  in  group  name are searched in the second
   round. If a parameter is not found then its value is left unchanged.

   Configuration  parameters  are  normally  declared  in C code and this
   module additionally supports also declaring custom parameters in extra
   table.  Such  parameters  may  be  used  typically in script only. All
   parameters  listed in the table are declared in the first step, values
   are  initialized in the second step using the same procedure as C-code
   parameters.

   The  module  does  not  reflect changes made in parameters when SER is
   running.  It  just  declares  variables and assigns values when SER is
   starting. That's all.

2. Dependencies

   A loaded database module.

3. Parameters

   3.1. db_url (string)
   3.2. transl_tbl (string) := "cfg_transl"
   3.3. custom_tbl (string) := "cfg_custom"

3.1. db_url (string)

   Default database URL.

   The format is:
                db_url = database

   Example 1.1. Example db_url
loadmodule("mysql.so");
loadmodule("cfg_db.so");
...
modparam("cfg_db", "db_url", "mysql://SER:123@127.0.0.1:12345/SER");
...

3.2. transl_tbl (string) := "cfg_transl"

   Name  of  table  used  for pointing group_name+name into configuration
   table.  If  empty/null field values are found then default values will
   be  used.  The default values are declared in record having group_name
   called  <default>.  The C-code "absolutely" default values ("cfg_var",
   "group_name",  "name", "value"). The other keyword is asterisk * which
   matches   all  parameters  and  will  be  used  if  parameter  is  not
   explicitely mentioned.

3.3. custom_tbl (string) := "cfg_custom"

   Name  of  table  used  for  extra param declaration (group_name, name,
   type, min/max value, description).

4. Examples

   Example 1.2. Content of tables
        cfg_transl table:
        group_name|name|cfg_table|cfg_table_group_name_field|cfg_table_name_fie
ld|cfg_table_value_field
        core|use_dst_blacklist|cfg_dns|||
        core|dst_blacklist_mem|cfg_dns|||
        core|dst_blacklist_expire|||
        my|route_addr|cfg_my|my_group_name|my_name|my_value     ; overrides <de
fault> values
        my|use_rtp_proxy|cfg_my|my_group_name|my_name|my_value
        *|*|||| ; matches all param ids, points to tables defined in row <defau
lt>
        <default>||cfg_var|group_name|name|value  ; default cfg_table* values

        cfg_custom table:
        group_name|name|value_type|min_value|max_value|description
        my|route_addr|S|||Routing address
        my|use_rtp_proxy|I|0|1|Use RTP proxy

        cfg_var table:
        group_name|my_name|value
        core|debug|4

        cfg_my table:
        my_group_name|my_name|my_value
        my|route_addr|127.0.0.1
        my|use_rtp_proxy|1

        cfg_dns table:
        group_name|name|value
        dns|use_dst_blacklist|1
        dns|dst_blacklist_mem|1024
        dns|dst_blacklist_expire|60