星号如何在没有主叫方的情况下播放通知

时间:2015-07-21 03:52:01

标签: asterisk asteriskami

我有星号的以下任务,我不知道如何解决它。

我有一个带有自己默认扩展名的上下文

[my-context]
exten => s,1,Answer()
        same => n,Dial(SIP/817,10,tTwWA(demo-congrats))
        same => n,Hangup()

我在CLI中使用originate命令运行它,或者通过telnet在AMI中运行它。

originate SIP/814 extension s@my-context

它很简单,按顺序工作:

  1. SIP / 814响铃
  2. 我回答SIP / 814
  3. SIP / 817响铃
  4. 另一个人回答SIP / 817
  5. 在SIP / 817播放公告
  6. 挂断
  7. 但它还不符合我的要求,我不希望主叫方(在这种情况下为SIP / 814)加入序列,我只是想给被叫方(SIP / 817)宣布就是这样,但我不知道该怎么做。

    顺便说一句,当被叫方来自DAHDI来源(例如DAHDI / 1 / $ {my-cellphone-number})时,在我接听电话之前播放了通知,所以我只能听到公告的结尾部分。我该如何解决这个问题?

    任何帮助将不胜感激 最好的问候 Loi Dang

2 个答案:

答案 0 :(得分:1)

您应该使用呼叫文件或其他技术触发另一个呼叫

在该通话中,您应该将一条腿连接到SIP / 817,另一条腿连接到拨号方案扩展,以便播放您的信息。

http://www.voip-info.org/wiki/view/Asterisk+auto-dial+out

您可以触发通过系统命令调用的外部脚本或创建deamon,它将在某些条件下侦听事件/场所调用(使用AMI /事件)

答案 1 :(得分:1)

请勿在您的上下文中使用拨号,而是使用“播放”,然后拨打您打算接收通知的扩展程序。

[my-context]
exten => s,1,Answer()
same => n,Wait(2)
same => n,Playback(demo-congrats)
same => n,Hangup()

然后解雇你的原始

originate SIP/817 extension s@my-context