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.
172 lines
4.6 KiB
172 lines
4.6 KiB
mysql Module
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
<miconda@gmail.com>
|
|
|
|
Edited by
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
<miconda@gmail.com>
|
|
|
|
Copyright © 2006 voice-system.ro
|
|
__________________________________________________________
|
|
|
|
Table of Contents
|
|
|
|
1. Admin Guide
|
|
|
|
1.1. Overview
|
|
1.2. Dependencies
|
|
|
|
1.2.1. Kamailio Modules
|
|
1.2.2. External Libraries or Applications
|
|
|
|
1.3. Exported Parameters
|
|
|
|
1.3.1. ping_interval (integer)
|
|
1.3.2. timeout_interval (integer)
|
|
1.3.3. auto_reconnect (integer)
|
|
|
|
1.4. Exported Functions
|
|
1.5. Installation
|
|
1.6. Reading configuration from my.cnf
|
|
|
|
List of Examples
|
|
|
|
1.1. Set ping_interval parameter
|
|
1.2. Set timeout_interval parameter
|
|
1.3. Set auto_reconnect parameter
|
|
1.4. Set a my.cnf group in db_url parameter
|
|
1.5. Adding a kamailio group to my.cnf
|
|
1.6. Using [client] and specific group
|
|
|
|
Chapter 1. Admin Guide
|
|
|
|
1.1. Overview
|
|
|
|
This is a module which provides MySQL connectivity for
|
|
Kamailio. It implements the DB API defined in Kamailio.
|
|
|
|
1.2. Dependencies
|
|
|
|
1.2.1. Kamailio Modules
|
|
|
|
The following modules must be loaded before this module:
|
|
* No dependencies on other Kamailio modules.
|
|
|
|
1.2.2. External Libraries or Applications
|
|
|
|
The following libraries or applications must be installed
|
|
before running Kamailio with this module loaded:
|
|
* mysql - the development libraries forthe Mysql database. In
|
|
some Linux distributions named "libmysqlclient-dev".
|
|
|
|
1.3. Exported Parameters
|
|
|
|
1.3.1. ping_interval (integer)
|
|
|
|
Time interval in seconds to send ping messages to MySQL server
|
|
in order to keep the connection open.
|
|
|
|
Default value is 300 (5 min).
|
|
|
|
Example 1.1. Set ping_interval parameter
|
|
...
|
|
modparam("db_mysql", "ping_interval", 600)
|
|
...
|
|
|
|
1.3.2. timeout_interval (integer)
|
|
|
|
Time interval (in seconds) after that an connection attempt,
|
|
read or write request is aborted. The value counts three times,
|
|
as several retries are done from the driver before it gives up.
|
|
|
|
The read timeout parameter is ignored on MySQL driver versions
|
|
prior to "5.1.12", "5.0.25" and "4.1.22". The write timeout
|
|
parameter is ignored on versions prior to "5.1.12" and
|
|
"5.0.25", the "4.1" release don't support it at all.
|
|
|
|
Default value is 2 (6 sec).
|
|
|
|
Example 1.2. Set timeout_interval parameter
|
|
...
|
|
modparam("db_mysql", "timeout_interval", 2)
|
|
...
|
|
|
|
1.3.3. auto_reconnect (integer)
|
|
|
|
Configure whether the module should automatically reconnect to
|
|
MySQL server if the connection was lost.
|
|
|
|
Default value is 1 (1 - on / 0 - off).
|
|
|
|
Example 1.3. Set auto_reconnect parameter
|
|
...
|
|
modparam("db_mysql", "auto_reconnect", 0)
|
|
...
|
|
|
|
1.4. Exported Functions
|
|
|
|
No function exported to be used from configuration file.
|
|
|
|
1.5. Installation
|
|
|
|
Because it dependes on an external library, the mysql module is
|
|
not compiled and installed by default. You can use one of these
|
|
options.
|
|
* - edit the "Makefile" and remove "db_mysql" from
|
|
"excluded_modules" list. Then follow the standard procedure
|
|
to install Kamailio: "make all; make install".
|
|
* - from command line use: 'make all
|
|
include_modules="db_mysql"; make install
|
|
include_modules="db_mysql"'.
|
|
|
|
1.6. Reading configuration from my.cnf
|
|
|
|
In order to take into account specific mysql client options, a
|
|
my.cnf config group can be passed using the db_url module
|
|
parameter. This is done by setting [group] in front of or
|
|
instead of the host part. The following examples are valid
|
|
db_url definitions, which include a my.cnf group:
|
|
* mysql://user:pass@[group]host:port/db
|
|
* mysql://user:pass@[group]:port/db
|
|
* mysql://user:pass@[group]/db
|
|
* mysql://[group]/db
|
|
|
|
Example 1.4. Set a my.cnf group in db_url parameter
|
|
...
|
|
modparam("usrloc", "db_url", "mysql://[kamailio]/kamailio)
|
|
...
|
|
|
|
Example 1.5. Adding a kamailio group to my.cnf
|
|
...
|
|
[kamailio]
|
|
socket = /path/to/mysql.sock
|
|
user = kamailiouser
|
|
password = kamailiopass
|
|
default-character-set = utf8
|
|
...
|
|
|
|
In addition to the given group, also the [client] section is
|
|
read, in the order given in my.cnf. So if you for example
|
|
specify a socket in both your specific group and the client
|
|
group, then the value is taken from the last one.
|
|
|
|
Example 1.6. Using [client] and specific group
|
|
...
|
|
[client]
|
|
socket = /var/run/mysql/mysqld.sock
|
|
|
|
[kamailio]
|
|
socket = /path/to/mysqld.sock
|
|
user = kamailiouser
|
|
password = kamailiopass
|
|
default-character-set = utf8
|
|
...
|
|
|
|
In the example given above, the socket /path/to/mysqld.sock is
|
|
used by Kamailio because both [kamailio] and [client] define
|
|
this option, and the latter overwrites the first.
|