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 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
|
unixodbc Module
Marco Lorrai
abbeynet.it
Edited by
Marco Lorrai
Copyright © 2005, 2006 Marco Lorrai
__________________________________________________________________
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 (int)
3.2. auto_reconnect (int)
3.3. use_escape_common (int)
4. Functions
5. Installation and Running
5.1. Installing
5.2. Configuring and Running
2. Developer Guide
List of Examples
1.1. Set the “ping_interval” parameter
1.2. Set the “auto_reconnect” parameter
1.3. Set the “use_escape_common” parameter
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 (int)
3.2. auto_reconnect (int)
3.3. use_escape_common (int)
4. Functions
5. Installation and Running
5.1. Installing
5.2. Configuring and Running
1. Overview
This module allows to use the unixodbc package with Kamailio. It have
been tested with mysql and the odbc connector, but it should work also
with other database. The auth_db module works.
For more information, see the http://www.unixodbc.org/ project web
page.
To see what DB engines can be used via unixodbc, look at
http://www.unixodbc.org/drivers.html.
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:
* None.
3. Parameters
3.1. ping_interval (int)
3.2. auto_reconnect (int)
3.3. use_escape_common (int)
3.1. ping_interval (int)
Sets the ping time interval.
Default value is “300” seconds.
Example 1.1. Set the “ping_interval” parameter
...
modparam("db_unixodbc", "ping_interval", 600)
...
3.2. auto_reconnect (int)
Turns on or off the auto_reconnect mode.
Default value is “1”, this means it is enabled.
Example 1.2. Set the “auto_reconnect” parameter
...
modparam("db_unixodbc", "auto_reconnect", 0)
...
3.3. use_escape_common (int)
Escape values in query using internal escape_common() function. It
escapes single quote ''', double quote '"', backslash '\', and NULL
characters.
You should enable this parameter if you know that the ODBC driver
considers the above characters as special (for marking begin and end of
a value, escape other characters ...). It prevents against SQL
injection.
Default value is “0” (0 = disabled; 1 = enabled).
Example 1.3. Set the “use_escape_common” parameter
...
modparam("db_unixodbc", "use_escape_common", 1)
...
4. Functions
NONE
5. Installation and Running
5.1. Installing
5.2. Configuring and Running
5.1. Installing
Prerequirement: you should first install unixodbc (or another program
that implements the odbc standard, such iodbc), your database, and the
right connector. Set the DSN in the odbc.ini file and the connector
drivers in the odbcinst.ini file.
5.2. Configuring and Running
In the openser.conf file, add the line:
....
loadmodule "/usr/local/lib/kamailio/modules/db_unixodbc.so"
....
You should also uncomment this:
....
loadmodule "/usr/local/lib/kamailio/modules/auth.so"
loadmodule "/usr/local/lib/kamailio/modules/auth_db.so"
modparam("usrloc", "db_mode", 2)
modparam("auth_db", "calculate_ha1", yes)
modparam("auth_db", "password_column", "password")
....
and setting the DSN specified in the odbc.ini, inserting this with the
url adding this line:
....
modparam("usrloc|auth_db", "db_url",
"unixodbc://openser:openserrw@localhost/my_dsn")
....
replacing my_dsn with the correct value.
HINT: if unixodbc don't want to connect to mysql server, try restarting
mysql server with:
shell>safe_mysqld --user=mysql --socket=/var/lib/mysql/mysql.sock
The connector search the socket in /var/lib/mysql/mysql.sock and not in
/tmp/mysql.sock
Chapter 2. Developer Guide
The module implements the Kamailio DB API, in order to be used by other
modules.
|