Верой правдой уведомления о пропущенных звонках в Телегу ходили, но некоторое время назад это перестало работать. И так как в компании был внедрен облачный Bitrix24 на днях было решено попробовать перенести функционал уведомлений в него, воспользовавшись статьей Уведомление в мессенджер о пропущенных | MikoPBX в частности через отправку curl запроса к Bitrix24 через диалплан. В extensions.conf был добавлен кусок кода (same => n,SHELL(curl -X POST -H “Content-Type: application/json” -H “Accept: application/json” -d ‘{“botId”:’${BOTID}‘’,“botToken”:‘${BOTTOKEN}’,“dialogId”:‘${DIALOGID}’,“fields”:{“message”:‘${TEXT}’}}) ${URL}), в модулях подключен func_shell (load => func_shell.so), АТС после была перезагружена. В логах получаю ошибку: [2026-05-27 12:43:10] WARNING[31870][C-00000005] pbx.c: No application ‘SHELL’ for extension (custom-hangup-handler, s, 7). Сам curl запрос рабочий - в консоли АТС он отрабатывает нормально - сообщения в чат от бота идет. В какую сторону смотреть?
В итоге я переписал отправку уведомлений через отдельный AGI-PHP скрипт (кому интересно могу выложить). Но хотелось бы понять - возможно ли работать через curl запросы в итоге? Работает ли модуль func_shell ?
Работет, если подгрузить модуль func_shell.so в конфиг файле modules.conf
Добавлено в конец modules.conf
load => func_global.so
load => func_shell.so
В extensions.conf в процедуре [custom-hangup-handler] добавлен вызов
same => n,SHELL(curl -X POST -H “Content-Type: application/json” -H “Accept: application/json” -d ‘{“botId”:${BOTID},“botToken”:“${BOTTOKEN}”,“dialogId”:“${DIALOGID}”,“fields”:{“message”:“${TEXT}”}}’ ${URL})
В логах при звонке
[2026-05-28 13:34:38] WARNING[18660][C-0000008a] pbx.c: No application ‘SHELL’ for extension (custom-hangup-handler, s, 9)
если работает - то оставьте как есть.
я не вижу смысла разбирать эту тему на форуме, подобных подход считается “плохой практикой”.
В идеале, эти запросы переписать на использование PHP-AGI скрипта и не подключать модули вроде func_shell или func_system.