1 | изначальная версия редактировать | |
Добрый день. Есть система на настроенным 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
Не могу понять, в чем может быть ошибка и почему не запускается модуль. Подскажите, пожалуйста
2 | No.2 Revision редактировать |
Добрый день. Есть система на настроенным frePBX 14. ODBC настроен и работает. логи пишутся. При попытке создать функцию в func_odbc.conf, увидел, что такого файла нет. Создал его вручную, прописал туда функцию в формате
[SETCALLED]
[SET_CALLED]
dsn=MySQL-asterisk
writesql=UPDATE После чего попытался презагрузить модуль. Появилась ошибка о том, что модуль не загружен
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.