Asterisk队列agi脚本设置变量问题

Asterisk队列agi脚本设置变量问题

我已经设置了带有队列的星号(agent.conf sip.confqueues.conf)一切运行良好。

我需要将呼叫者的 ID 从队列发送到代理的机器(或网站)。

类似这样的

.... 扩展 => _200,n,队列(qtest,t,,,10,"test.pl,${MEMBERNAME},${QUEUENAME}")

MEMBERNAME 和 QUEUENAME 由queues.conf 中的setinterfacevar=yes 启用,但这不起作用:(。而且我无法在 agi 脚本中获取该变量。

我应该怎么办?

答案1

这很奇怪。我检查了 1.4.x、1.6.x 和 1.8.x 版本,只有一个解决方案在所有地方都有效,那就是使用宏。

像这样:

extensions.conf
[macro-mymacro]
exten => s,1,NoOp(${MEMBERINTERFACE})

[queue]
exten => s,1,Queue(queue)

queues.conf
setinterfacevar=yes
membermacro=mymacro

此宏将在代理接到呼叫后立即执行。这帮助我解决了问题。我也可以从宏中执行 agi

相关内容