Всем привет.
Долго мучился с настройкой данной связки. Сам ODBC отрабатывал нормально, но asterisk в упор не подключался к БД. В Итоге почти случайно заметил, что * ругается на то, что limit => 0 в res_odbc.conf Как только выставил в 1, то все прошло. Щас выглядит так:
/etc/odbcinst.ini [MySQL] Description = ODBC for MySQL Driver64 = /usr/lib64/libmyodbc3_r.so Setup64 = /usr/lib64/libodbcmyS.so FileUsage = 1 UsageCount = 3 /etc/odbc.ini [asterisksrc] Driver = MySQL Socket = /var/lib/mysql/mysql.sock Server = localhost User = asterisk Pass = asterisk Database = asterisk [asterisk] enabled => yes dsn => asterisksrc username => asterisk password => asterisk pooling => no limit => 1 pre-connect => yes [MYTEST] dsn=asterisk readsql=SELECT STATUS FROM blacklist WHERE CALLERID='${SQL_ESC(${ARG1})}'
Какое значение лучше ставить у limit? Насколько я понял он ограничивает кол-во одновременных подключений.
На сколько помню астериск держит это соединение постоянно открытым, все обращения идут через него. Поэтому вроде как нет никакого смысла в значении больше единицы. Однако я не знаю как в коде это все организовано, может быть астериск делает по одному соединению на модуль или процесс, возможно в какие-то определенные моменты. В любом случае поставьте хоть 100, хуже точно не станет.
при pooling=no количество соединений = max одновременных запросов.
с pooling=yes это будет количество открытых соединений в пуле.
в любом случае судя по вашим вопросам система не будет работать как высоконагруженная и вы может спокойно ставить 5 и забыть про параметр.
Задан: 2013-03-09 17:50:26 +0400
Просмотрен: 610 раз
Обновлен: Mar 09 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.