下面是我从某个地方复制的一些星号拨号方案示例。
exten => s,1,Answer()
exten => s,n,Playback(hello-world)
exten => s,n,Hangup()第一行表示当新呼叫进入信道时,它转到与应用程序Answer()绑定的分机s(最高优先级)1。
在此之后,它转到PlayBack(hello-world),然后呼叫被挂断。
现在下一节
[incoming]
exten => 123,1,Answer()
exten => 123,n,Background(main-menu)
exten => 1,1,Playback(digits/1)
exten => 1,n,Goto(incoming,123,1)
exten => 2,1,Playback(digits/2)
exten => 2,n,Goto(incoming,123,1)有电话打到123分机。(这是新菜单吗??)或者是从分机“%s”转发的。我想我错过了这里的连接链接。
第二行写着
exten => 123,n,Background(main-menu).
这里的main-menu是什么?它在哪里定义的?
发布于 2012-10-11 19:31:04
声音类似于Playback应用程序,因为它播放文件(main-menu是音频文件,最有可能在/var/lib/asterisk/ Background /目录中找到)。
而Playback在返回控制之前播放整个文件。后台开始播放该文件并立即返回控制,以便您可以执行其他命令。
有关详细信息,请参阅:
Playback和Background
wiki.asterisk.org - Playback和Background
[incoming]
exten => 123,1,Answer()当asterisk收到通道上的来电时,asterisk会查看为该通道定义的上下文(incoming是该上下文的名称,通常是来电的默认上下文)。根据您拨打的分机,上下文具有不同的命令。
如果您已拨打123,它将开始播放某种自动菜单。
如果您已拨打1或2,它将播放该数字,并再次重定向到123并开始播放交互式菜单
发布于 2012-10-11 19:31:45
有电话打到123分机。(这是新菜单吗??)或者它是从分机“%s”转发的。
这是来自缺省上下文的扩展(可能缺省包括传入或按通道定义)。您可以使用catchall扩展进行调试,使用
exten => _X.,1,NoOp(${CALLERID(NUM)} - ${EXTEN})或
exten => 123,2,NoOp(${CALLERID(NUM)} - ${EXTEN})当您连接到星号CLI时,您会看到Noop。
$ asterisk -rvvv这里的主菜单是什么?它在哪里定义的?
主菜单是一个类似"main-menu.gsm“的音频文件(目录在asterisk.conf中定义)。Asterisk决定使用哪种格式/编解码器。
发布于 2012-10-11 22:20:18
另一件事是“下一节”
[incoming]..。是一个拨号方案“上下文”。上下文是对您的拨号方案进行分区的一种方式;它是一个包含自己的一组变量、扩展等的盒子。因此,在您的示例中,第一个上下文没有显式地"Goto“或"Gosub”调用“传入”上下文,因此第一个上下文中的调用不能到达那里。
至于呼叫如何进入“来电”上下文,这通常是由进入系统的电话干线定义的。因此,在适当的SIP、IAX2或PSTN干线中,您应该有一条线路,如:
context=incoming..。这将迫使调用转到那里。如果呼叫通过"DID“或"Direct Inwards”号码“寻址”到123分机,则呼叫将接通该分机,并且呼叫者将听到菜单问候语。
https://stackoverflow.com/questions/12835734
复制相似问题