【问题标题】:Asterisk - Dial between two local phonesAsterisk - 在两个本地电话之间拨号
【发布时间】:2015-08-04 21:14:03
【问题描述】:

在软件电话上,我连接了两个帐户 tom 和 paul 作为测试目的。在 tom 设备上,我拨了分机 100,它在 paul 设备上响了。当我接听电话时,我可以听到背景音乐,但它没有执行 same => n,Playback(demo-moreinfo)

这是什么原因造成的?

我在 sip.conf 文件中有两个 sip 中继:

[office-phone](!)
type=friend
context=LocalSets
host=dynamic
nat=yes
secret=password
dtmfmode=auto
disallow=all
allow=ulaw
allow=alaw

[tom](office-phone)
[paul](office-phone)

在 extension.conf 文件中:

[LocalSets]
exten =>   100,1,Dial(SIP/paul)
same  =>   n,Playback(demo-moreinfo)
same  =>   n,Hangup()

【问题讨论】:

  • 请以详细模式提供星号 CLI 输出。 (即asterisk -rvvvvv

标签: asterisk pbx


【解决方案1】:
[LocalSets]
; Dial connets the callee and caller channels.
exten =>   100,1,Dial(SIP/paul)
; Otherwise Playback is executed (after a Dial timeout occurs)
same  =>   n,Playback(demo-moreinfo)
same  =>   n,Hangup()

如本例所示,当呼叫无人接听时,播放 vm-nobodyavail 声音。

exten => 123,1,Dial(SIP/100,10,m)
;; if the the call is answered, the next priority is never executed
exten => 123,n,Playback(vm-nobodyavail)
exten => 123,n,Hangup()

如果您想播放声音文件,Answer 应用程序会确保通道已连接,并且下一个优先级可以执行 Playback

exten => 100,1,Answer()
exten => 100,n,Playback(demo-moreinfo)

在本例中,当有人拨打 100 时,应答应用程序将接听电话。然后调用者将听到声音文件。

exten => 100,1,Answer()
 same => n,Noop("100 answered")
 same => n,Playback(demo-moreinfo)
 ; same => n,Noop("heard the info, dial 200")
 ; same => Dial(SIP/200);
 same => n,Hangup()

您可以在Playback 之后执行Dial

【讨论】:

  • 来电者接听电话时,希望来电者听到demo-moreinfo的声音
  • 是的,Answer 确保两个通道已连接,并且播放发生。你试过这个例子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多