拨号计划执行之前设置了星号通道变量吗?

拨号计划执行之前设置了星号通道变量吗?

背景是,我正在尝试调试我目前遇到的 FreePBX 问题。通道变量REC_STATUS被设置为RECORDING不应该设置为的值。

经过大量的故障排除,在拨号方案中没有发现任何可能导致这种情况的迹象后,我决定插入一个NoOp(${REC_STATUS})作为拨号方案代码的第一行,以便在新来电时执行。猜猜怎么着?REC_STATUS已经设置RECORDING为这些新呼叫的拨号方案执行的第一行。

我的问题是:在拨号计划开始执行之前,这个通道变量是如何设置的?

答案1

事实证明,有一种方法可以在 Asterisk 中设置全局变量,当您去请求某个通道的变量时,如果该通道上尚未设置该变量,则会显示全局值。

我通过在拨号计划上执行以下操作解决了我的问题:

Set(GLOBAL(REC_STATUS)=)

使用以下任何选项均不起作用:

Set(REC_STATUS=)
Set(_REC_STATUS=)
Set(__REC_STATUS=)

相关内容