|
@@ -0,0 +1,194 @@
|
|
|
+mysql Module
|
|
|
+
|
|
|
+Daniel-Constantin Mierla
|
|
|
+
|
|
|
+ <[email protected]>
|
|
|
+
|
|
|
+Edited by
|
|
|
+
|
|
|
+Daniel-Constantin Mierla
|
|
|
+
|
|
|
+ <[email protected]>
|
|
|
+
|
|
|
+ Copyright © 2006 voice-system.ro
|
|
|
+ __________________________________________________________________
|
|
|
+
|
|
|
+ Table of Contents
|
|
|
+
|
|
|
+ 1. Admin Guide
|
|
|
+
|
|
|
+ 1. Overview
|
|
|
+ 2. Dependencies
|
|
|
+
|
|
|
+ 2.1. Kamailio Modules
|
|
|
+ 2.2. External Libraries or Applications
|
|
|
+
|
|
|
+ 3. Exported Parameters
|
|
|
+
|
|
|
+ 3.1. ping_interval (integer)
|
|
|
+ 3.2. timeout_interval (integer)
|
|
|
+ 3.3. auto_reconnect (integer)
|
|
|
+
|
|
|
+ 4. Exported 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 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
|
|
|
+
|
|
|
+ Table of Contents
|
|
|
+
|
|
|
+ 1. Overview
|
|
|
+ 2. Dependencies
|
|
|
+
|
|
|
+ 2.1. Kamailio Modules
|
|
|
+ 2.2. External Libraries or Applications
|
|
|
+
|
|
|
+ 3. Exported Parameters
|
|
|
+
|
|
|
+ 3.1. ping_interval (integer)
|
|
|
+ 3.2. timeout_interval (integer)
|
|
|
+ 3.3. auto_reconnect (integer)
|
|
|
+
|
|
|
+ 4. Exported 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. Exported Parameters
|
|
|
+
|
|
|
+ 3.1. ping_interval (integer)
|
|
|
+ 3.2. timeout_interval (integer)
|
|
|
+ 3.3. auto_reconnect (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)
|
|
|
+...
|
|
|
+
|
|
|
+4. Exported 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.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.
|