0

我正在努力解决这个问题。在 Asterisk 中,我需要在留下语音邮件消息后执行外部脚本。为此,我在 voicemail.conf 中启用了 externnotify,但它不起作用。所以我在C代码中搜索并找到了相关代码。执行外部脚本的命令是:

execl("/bin/sh", "/bin/sh", "-c", s, (char *) NULL);

其中s/usr/bin/myscript.sh default 2000 12 8 0 &。excel在子进程中成功运行,但脚本myscript.sh是:

#!/bin/sh
CONTEXT=$1
EXTEN=$2
NUMVMS=$3
echo "$CONTEXT $EXTEN $NUMVMS" > /home/testfile 

不执行。奇怪的是我写了另一个 C 文件并将 execl 命令放入其中,它成功执行了我的脚本。我execlsystem命令替换但再次没有成功。我做错了哪一部分?

4

1 回答 1

0

首先我要说的是,语音信箱已经有通知功能,而且工作正常。

关于为什么您的脚本不起作用 - 很可能您在 root 用户下测试了它,而大多数星号在星号用户下运行,因此您在写入日志文件时遇到权限问题。

于 2018-01-25T14:50:00.133 回答