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.
227 lines
6.0 KiB
227 lines
6.0 KiB
mysql Module
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
<miconda@gmail.com>
|
|
|
|
Edited by
|
|
|
|
Daniel-Constantin Mierla
|
|
|
|
<miconda@gmail.com>
|
|
|
|
Copyright © 2006 Voice Sistem SRL
|
|
__________________________________________________________________
|
|
|
|
Table of Contents
|
|
|
|
1. Admin Guide
|
|
|
|
1. Overview
|
|
2. Dependencies
|
|
|
|
2.1. Kamailio Modules
|
|
2.2. External Libraries or Applications
|
|
|
|
3. Parameters
|
|
|
|
3.1. ping_interval (integer)
|
|
3.2. timeout_interval (integer)
|
|
3.3. auto_reconnect (integer)
|
|
3.4. insert_delayed (integer)
|
|
3.5. update_affected_found (integer)
|
|
|
|
4. Functions
|
|
5. Installation
|
|
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 insert_delayed parameter
|
|
1.5. Set update_affected_found parameter
|
|
1.6. Set a my.cnf group in db_url parameter
|
|
1.7. Adding a kamailio group to my.cnf
|
|
1.8. Using [client] and specific group
|
|
|
|
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. ping_interval (integer)
|
|
3.2. timeout_interval (integer)
|
|
3.3. auto_reconnect (integer)
|
|
3.4. insert_delayed (integer)
|
|
3.5. update_affected_found (integer)
|
|
|
|
4. Functions
|
|
5. Installation
|
|
6. Reading configuration from my.cnf
|
|
|
|
1. Overview
|
|
|
|
This is a module which provides MySQL connectivity for Kamailio. It
|
|
implements the DB API defined in Kamailio.
|
|
|
|
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:
|
|
* No dependencies on other Kamailio modules.
|
|
|
|
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".
|
|
|
|
3. Parameters
|
|
|
|
3.1. ping_interval (integer)
|
|
3.2. timeout_interval (integer)
|
|
3.3. auto_reconnect (integer)
|
|
3.4. insert_delayed (integer)
|
|
3.5. update_affected_found (integer)
|
|
|
|
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)
|
|
...
|
|
|
|
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)
|
|
...
|
|
|
|
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)
|
|
...
|
|
|
|
3.4. insert_delayed (integer)
|
|
|
|
If set to 1, all INSERT SQL queries will be sent to MySQL server as
|
|
INSERT DELAYED.
|
|
|
|
Default value is 0 (1 - on / 0 - off).
|
|
|
|
Example 1.4. Set insert_delayed parameter
|
|
...
|
|
modparam("db_mysql", "insert_delayed", 1)
|
|
...
|
|
|
|
3.5. update_affected_found (integer)
|
|
|
|
If set to 1, all UPDATE SQL queries will return the number of matched
|
|
rows instead of the number of "updated" rows.
|
|
|
|
Default value is 0 (1 - on / 0 - off).
|
|
|
|
Example 1.5. Set update_affected_found parameter
|
|
...
|
|
modparam("db_mysql", "update_affected_found", 1)
|
|
...
|
|
|
|
4. Functions
|
|
|
|
No function exported to be used from configuration file.
|
|
|
|
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"'.
|
|
|
|
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.6. Set a my.cnf group in db_url parameter
|
|
...
|
|
modparam("usrloc", "db_url", "mysql://[kamailio]/kamailio)
|
|
...
|
|
|
|
Example 1.7. 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.8. 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.
|