【发布时间】:2015-04-14 04:12:04
【问题描述】:
我是星号的新手,我在使用 include 语句时遇到了问题。
我有一个来自 FreePBX 的名为“app-calltrace-perform”的上下文,当人们按 *69 来跟踪他们的呼叫时使用。
[应用程序调用跟踪执行]
包括 => 应用程序调用跟踪执行自定义
exten => s,1,答案
...
exten => t,n,宏(hangupcall,)
extensions_additional.conf 中编写的“app-calltrace-perform”将在用户在 Web gui 上提交有关拨号方案的内容时被覆盖。所以我必须在另一个名为 extensions_custom.conf
[app-calltrace-perform-custom]
exten => s,1,Answer()
相同 => n,VERBOSE("这里有东西")
相同 => n,播放(hello-world)
相同 => n,Hangup()
请注意,extensions_additional.conf 和 extensions_custom.conf 已包含在 中extensions.conf
然后我 dialplan reload 再试一次,但拨号方案根本不播放我的上下文(不冗长,不播放 hello-world)。
我在https://wiki.asterisk.org/wiki/display/AST/Include+Statements+Basics 中发现了一些有用的东西
Asterisk 总是会首先尝试在当前上下文中找到匹配的扩展,并且只有在当前上下文中没有任何匹配的内容时才会跟随包含语句到新上下文。
所以现在我不知道如何将我的自定义上下文用于此类内容。对不起,如果这是一个愚蠢的问题,但如果你有任何想法,请指导我。
编辑
这是 app-calltrace-perform 调用的地方
[app-calltrace]
include => app-calltrace-custom
exten => *69,1,Goto(app-calltrace-perform,s,1)
现在我正在使用在上下文 app-calltrace-custom 中定义的另一个扩展名 (*12345),它运行良好,但经过硬编码,因此无法被 Web Gui 修改
结束编辑
提前致谢
来当
【问题讨论】: