我已经设置了带有队列的星号(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