Asterisk: res_odbc.conf
Файл настройки соединений c базами данных через unixODBC. MySQL, PostgreSQL, MSSQL, SQLite.
Параметры ODBC соединений
[ENV] - Глобальные переменные
В Секции с встроенным названием [ENV] назначаются глобальные переменные окружения, которые можно использовать для любых подключений, заданных в данном файле.
[ENV] INFORMIXSERVER => my_special_database INFORMIXDIR => /opt/informix ORACLE_HOME => /home/oracle
Имена контекстов (подключений)
Остальные секции имеют произвольные имена. Эти имена, в дальнейшем, используются в других конфигах, таких как extconfig.conf и func_odbc.conf для связи с этими соединениями.
[asterisk]
enabled
Позволяет отключать секцию, без использования комментария:
enabled => no
Если явно не выключено, категория (секция) считается включенной.
dsn
Это значение должно совпадать с записью в /etc/odbc.ini (или /usr/local/etc/odbc.ini во FreeBSD и подобных системах).
dsn => asterisk
username
Имя пользователя базы данных. Если не задано, будет использовано имя контекста, по умолчанию
username => myuser
password
Пароль для аутентификации в базе данных. По умолчанию не задан.
password => mypass
pre-connect
Подключаться при старте Asterisk?
pre-connect => yes
sanitysql
Как определить, что соединение живое? Должно возвращаться не нулевое значение в первом поле, первой записи. По умолчанию «select 1».
sanitysql => select 1
max_connections
Максимальное кол-во подключений в момент времени. Значение по умолчанию =1 и очень хорошая идея увеличить это значение, если версия unuxODBC 2.3.1 и выше.
max_connections => 20
forcecommit
Если канал закрыт, должны ли какие-либо незавершенные транзакции, продолжать выполнение.
forcecommit => no
isolation
Отношения с другими транзакциями в базе данных.
Возможные значения: read_uncommitted, read_committed, repeatable_read и serializable. По умолчанию read_committed.
isolation => repeatable_read
backslash_is_escape
Обратный слэш '/' знак комментария. По умолчанию = yes, но для MS SQL Server, установите = no.
backslash_is_escape => yes
connect_timeout
Как долго (в секундах), пытаться подключиться, прежде чем считать соединение мертвым? Значение по умолчанию составляет 10 секунд, но можно уменьшить его, чтобы повысить скорость реакции.
connect_timeout => 10
negative_connection_cache
Если соединение упало, как долго (в секундах), кэшировать информацию, прежде чем предпринять попытку нового соединения?
negative_connection_cache => 300
примеры
MySQL, MS SQL и PostgreSQL
MySQL
[mysql2] enabled => no dsn => MySQL-asterisk username => myuser password => mypass pre-connect => yes
MS SQL
Некоторые сервера, такие как MS SQL и Sybase использующие TDS, ограничивают кол-во запросов для одного подключения до 1. Если запретить общее использование соединений (share_connections ⇒ no) Asterisk может с ними работать.
[sqlserver] enabled => no dsn => mickeysoft share_connections => no limit => 5 username => oscar password => thegrouch pre-connect => yes sanitysql => select count(*) from systables ; forcecommit => no ; Default to committing uncommitted transactions? ; Note: this is NOT the autocommit flag; this ; determines the end result of transactions which ; are not explicitly committed or rolled back. By ; default, such transactions are rolled back if the ; call ends without an explicit commit. ; isolation => read_committed ; Isolation level; supported levels are: ; read_uncommitted, read_committed, repeatable_read, ; serializable. Note that not all databases support ; all isolation levels (e.g. Postgres only supports ; repeatable_read and serializable). See database ; documentation for further information. ; ; Many databases have a default of '\' to escape special characters. MS SQL ; Server does not. backslash_is_escape => no ; ; If you are having problems with concurrency, please read this note from the ; mailing lists, regarding UnixODBC: ; ; http://lists.digium.com/pipermail/asterisk-dev/2009-February/036539.html ; ; In summary, try setting "Threading=2" in the relevant section within your ; odbcinst.ini. ;
pgsql
PostgreSQL
[postgres] enabled => yes dsn => testing pre-connect => yes
- res_config_mysql.conf - Параметры соединения с БД MySQL.
- res_config_sqlite.conf - Параметры соединения с БД Sqlite
- res_config_sqlite3.conf - Параметры соединения с БД Sqlite3
- res_pgsql.conf - Параметры соединения PostgreSQL.
~~socialite~~