Страница 1 из 1
Asterisk 18 Функции CURL и SHELL
Добавлено: 26 окт 2022, 15:43
AlexeyFatnev
Здравствуйте, все.
Не могу запустить функции CURL и SHELL.
Запускаю из диалплана:
same => n,Set(CALLERID(name)=${curl(
http://192.169.0.23/telbook/${CALLERID(name)})})
same => n,Set(CALLERID(name)=${shell(curl '
http://192.169.0.23/telbook/${CALLERID(name)}')})
Пробовал и заглавными и строчными.
Ошибка на обеих:
[Oct 26 15:35:15] ERROR[97377][C-00000001]: pbx_functions.c:608 ast_func_read: Function shell not registered
[Oct 26 15:35:15] ERROR[97377][C-00000001]: pbx_functions.c:608 ast_func_read: Function SHELL not registered
В menuselect обе установлены, модуль res_curl.so загружен вручную, без ошибок.
ubuntu02*CLI> module load res_curl.so
Loaded res_curl.so
Loaded res_curl.so => (cURL Resource Module)
ubuntu02*CLI>
В списке функций ни одна не показывается.
live_dangerously=yes
Пробовал, но он не должен влиять.
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 26 окт 2022, 18:27
ded
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 27 окт 2022, 11:18
AlexeyFatnev
Здравствуйте, Ded.
В системе функции отсутствуют:
ubuntu02*CLI> core show functions like curl
Matching Custom Functions:
--------------------------------------------------------------------------------
0 matching custom functions installed.
ubuntu02*CLI> core show functions like shell
Matching Custom Functions:
--------------------------------------------------------------------------------
0 matching custom functions installed.
По присланным Вами ссылкам нет информации о моей проблеме.
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 27 окт 2022, 12:28
Wapo
Должно быть так:
Код: Выделить всё
webserver*CLI> module show like curl
Module Description Use Count
func_curl.so Load external URL 0
res_config_curl.so Realtime Curl configuration 0
res_curl.so cURL Resource Module 0
3 modules loaded
webserver*CLI> module show like shell
Module Description Use Count
func_shell.so Collects the output generated by a comma 0
1 modules loaded
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 27 окт 2022, 13:40
ded
AlexeyFatnev, вы не поверите, но регистр букв функций имеет громадное значение!
Код: Выделить всё
*CLI> core show functions like CURL
Matching Custom Functions:
--------------------------------------------------------------------------------
CURL CURL(url[,post-data]) Retrieves the contents of a URL
CURLOPT CURLOPT(<option>) Set options for use with the CURL() function
2 matching custom functions installed.
*CLI>
*CLI>
*CLI> core show functions like curl
Matching Custom Functions:
--------------------------------------------------------------------------------
0 matching custom functions installed.
По присланным мною ссылкам полная информация по первоначальной проблеме. Только проблема теперь чуть по другому формулируется:
"Не вижу разницы между curl и CURL."
Можно было выполнить команду
*CLI> core show function CURL
и увидеть синтаксис.
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 28 окт 2022, 13:34
AlexeyFatnev
Здравствуйте, Ded, Wapo.
Разницу в заглавных и строчных буквах понимаю, пробовал по разному.
Проблема решилась. У меня был загружен (вручную) только модуль res_curl.so, а модуль func_curl.so не был загружен.
Мой коллега выяснил это вчера (я не знаю как он нашел ссылку, где этот модуль упоминается). Сегодня увидел этот модуль в листинге в сообщении Wapo.
https://wiki.asterisk.org/wiki/display/AST/cURL
В ранних версиях Астериск эти модули загружались автоматически.
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 31 окт 2022, 12:44
ded
Во всех версиях модули загружаются автоматически, параметр
autoload=yes
до тех пор, пока кто-нибудь из ваших коллег не начнёт это менеджировать,
autoload=no
и указывая ему понятную последовательность загрузки модулей.
Re: Asterisk 18 Функции CURL и SHELL
Добавлено: 10 ноя 2022, 11:49
AlexeyFatnev
Здравствутйе, Ded.
Во всех версиях модули загружаются автоматически, параметр
autoload=yes
Это ценное замечание, у меня (из коробки) стояло "autoload=no".
Благодарю, учту на будущее.