Asterisk 拨号方案 AGI 脚本未执行(可能是 Asterisk 权限问题?)

Asterisk Dialplan AGI Script Not Executing (Possible Asterisk Permissions issue?)

我的 Asterisk 出现异常情况。

首先机器是FreePBX 14,运行ning Asterisk 15.4.0

我有一个拨号方案,它使用 IVR 获取卡的详细信息,即输入卡号,然后输入哈希键。

然后将整个字符串放在一起以执行单独的 Perl 脚本,该脚本将按请求的金额向客户卡收费。

如果我 运行 来自 CLI 的 perl 脚本,该脚本可以正常执行并为卡充电。

如果我通过拨号方案,提供相关卡的详细信息,当执行脚本结束时,一切似乎都有效,但在为卡充电方面没有任何反应。

为了查看 AGI 脚本 运行ning 并查看出了什么问题,我 运行 星号作为 'asterisk -vvvvvc' 作为 root,然后再次执行相同操作,付款成功通过,并且完全正常工作。

这让我相信,当 运行 将星号设置为 (asterisk -vvvc) 时,它 运行 具有提升的权限,允许脚本正确地 运行。

关于我如何让它正常工作或我需要修复什么权限的任何想法。

该脚本设置为 0777,因此应该可以由任何人执行,我还将脚本设置为 asterisk 和 root 拥有,这没有什么区别。

这是我在拨号方案中用来调用脚本的命令。

exten=>50000,n,AGI(MakePayment.agi,${CardVar},${ExpMonth},${ExpYear},${SecurityVar},${Value},${TransID})

尽管所做的只是将其传递给 perl 脚本。

如前所述,我不认为拨号方案或脚本有问题,而是两者之间的交互问题。

为了防止将来其他人遇到类似的问题,问题很可能是由于我使用的 Stripe(支付服务器)CLI 程序引起的,它不喜欢 运行在一个不在普通终端中的脚本中,解释了为什么它在两种情况下都有效,但在拨号方案中无效。