Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

спросил 2018-01-15 15:41:41 +0400

A66aT Gravatar A66aT

FreePBX 14. Не загружается модуль func_odbc.so

Добрый день. Есть система на настроенным frePBX 14. ODBC настроен и работает. логи пишутся. При попытке создать функцию в func_odbc.conf, увидел, что такого файла нет. Создал его вручную, прописал туда функцию в формате

[SETCALLED] dsn=MySQL-asterisk writesql=UPDATE queuelog set called='1' where id='${ARG1}'

После чего попытался презагрузить модуль. Появилась ошибка о том, что модуль не загружен

pbx*CLI> module reload func_odbc.so
The module 'func_odbc.so' was not properly initialized. Before reloading the module, you must run "module load func_odbc.so" and fix whatever is preventing the module from being initialized.

После попытки загрузить модуль получил ошибку

pbx*CLI> module load func_odbc.so
Unable to load module func_odbc.so
Command 'module load func_odbc.so' failed.
[2018-01-15 13:33:28] ERROR[19284]: pbx_functions.c:394 __ast_custom_function_register: Function ODBC_FETCH already registered.
[2018-01-15 13:33:28] WARNING[19284]: pbx_app.c:117 ast_register_application2: Already have an application 'ODBCFinish'
  == Parsing '/etc/asterisk/func_odbc.conf': Found
  == Registered custom function 'ODBC_SET_CALLED'
[2018-01-15 13:33:28] ERROR[19284]: pbx_functions.c:394 __ast_custom_function_register: Function SQL_ESC already registered.
[2018-01-15 13:33:28] WARNING[19284]: cli.c:2263 __ast_cli_register: Command 'odbc write' already registered (the same ast_cli_entry)
[2018-01-15 13:33:28] WARNING[19284]: cli.c:2263 __ast_cli_register: Command 'odbc read' already registered (the same ast_cli_entry)

После чего такая функция в системе появляется

pbx*CLI> core show function ODBC_SET_CALLED 

  -= Info about function 'ODBC_SET_CALLED' =- 

[Synopsis]
Runs the referenced query with the specified arguments

[Description]
Runs the following query, as defined in func_odbc.conf, performing
substitution of the arguments into the query as specified by ${ARG1},
${ARG2}, ... ${ARGn}.  The values are provided either in whole as
${VALUE} or parsed as ${VAL1}, ${VAL2}, ... ${VALn}.
This function may only be set.

SQL:
UPDATE `queue_log` SET `called`='1' WHERE `id`='${ARG1}'

[Syntax]
ODBC_SET_CALLED(<arg1>[...[,<argN>]])

[Arguments]
Not available

[See Also]
Not available

Но при её вызове в диалплане появляется ошибка о том, что невозможно вызвать данныую функцию. При этом сам модуль func_odbc не запущен

pbx*CLI> module show like func_odbc.so
Module                         Description                              Use Count  Status      Support Level
func_odbc.so                   ODBC lookups                             0          Not Running          core
1 modules loaded

Не могу понять, в чем может быть ошибка и почему не запускается модуль. Подскажите, пожалуйста

FreePBX 14. Не загружается модуль func_odbc.so

Добрый день. Есть система на настроенным frePBX 14. ODBC настроен и работает. логи пишутся. При попытке создать функцию в func_odbc.conf, увидел, что такого файла нет. Создал его вручную, прописал туда функцию в формате

[SETCALLED]

[SET_CALLED]
dsn=MySQL-asterisk
writesql=UPDATE queuelog queue_log set called='1' where id='${ARG1}'

id='${ARG1}'

После чего попытался презагрузить модуль. Появилась ошибка о том, что модуль не загружен

pbx*CLI> module reload func_odbc.so
The module 'func_odbc.so' was not properly initialized. Before reloading the module, you must run "module load func_odbc.so" and fix whatever is preventing the module from being initialized.

После попытки загрузить модуль получил ошибку

pbx*CLI> module load func_odbc.so
Unable to load module func_odbc.so
Command 'module load func_odbc.so' failed.
[2018-01-15 13:33:28] ERROR[19284]: pbx_functions.c:394 __ast_custom_function_register: Function ODBC_FETCH already registered.
[2018-01-15 13:33:28] WARNING[19284]: pbx_app.c:117 ast_register_application2: Already have an application 'ODBCFinish'
  == Parsing '/etc/asterisk/func_odbc.conf': Found
  == Registered custom function 'ODBC_SET_CALLED'
[2018-01-15 13:33:28] ERROR[19284]: pbx_functions.c:394 __ast_custom_function_register: Function SQL_ESC already registered.
[2018-01-15 13:33:28] WARNING[19284]: cli.c:2263 __ast_cli_register: Command 'odbc write' already registered (the same ast_cli_entry)
[2018-01-15 13:33:28] WARNING[19284]: cli.c:2263 __ast_cli_register: Command 'odbc read' already registered (the same ast_cli_entry)

После чего такая функция в системе появляется

pbx*CLI> core show function ODBC_SET_CALLED 

  -= Info about function 'ODBC_SET_CALLED' =- 

[Synopsis]
Runs the referenced query with the specified arguments

[Description]
Runs the following query, as defined in func_odbc.conf, performing
substitution of the arguments into the query as specified by ${ARG1},
${ARG2}, ... ${ARGn}.  The values are provided either in whole as
${VALUE} or parsed as ${VAL1}, ${VAL2}, ... ${VALn}.
This function may only be set.

SQL:
UPDATE `queue_log` SET `called`='1' WHERE `id`='${ARG1}'

[Syntax]
ODBC_SET_CALLED(<arg1>[...[,<argN>]])

[Arguments]
Not available

[See Also]
Not available

Но при её вызове в диалплане появляется ошибка о том, что невозможно вызвать данныую функцию. При этом сам модуль func_odbc не запущен

pbx*CLI> module show like func_odbc.so
Module                         Description                              Use Count  Status      Support Level
func_odbc.so                   ODBC lookups                             0          Not Running          core
1 modules loaded

Не могу понять, в чем может быть ошибка и почему не запускается модуль. Подскажите, пожалуйста

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.