这在 Asterisk 1.8.32.3 中运行良好 - 我正在以 root 身份运行的 Centos 7 上使用 Asterisk 13.22.0 进行测试(已经 - 如下所示):
same=>n,System(/usr/src/bash/setData.sh ${CHANNEL(accountcode)})
脚本的权限:
[root@localhost bash]# ls -l
-rwxr-xr-x 1 root root 1493 Jan 20 2016 setData.sh
[root@localhost bash]# pwd
/usr/src/bash
[root@localhost bash]#
我已经升级到 Asterisk 13,Asterisk 现在无法执行 setData.sh 脚本:
[Jul 25 10:33:21] WARNING[30982][C-00000238] app_system.c: Unable to execute '/usr/src/bash/setData.sh'
我看过很多关于这个的帖子,但没有一个是适用的,或者是盲目的,没有解决方案。
我试过以 root 身份运行星号,但没有运气 - 见上文。
我已将脚本的权限设置为每个人都可以执行,但不起作用。
我已将拨号方案代码更改为
same=>n,System(/bin/bash /usr/src/bash/setData.sh ${CHANNEL(accountcode)})
也没有效果。
我还尝试在 Centos 7 中完全禁用/停用 SELinux - 没有效果,错误仍然存在。
如果从 shell / xterm 运行脚本,它可以正常工作。
如何让 Asterisk 13 像以前的 Asterisk 版本(如 1.6 和 1.8)那样通过 System() dialplan 应用程序执行简单的 BASH 脚本?
谢谢!
斯特凡