呼叫应答前发送脉冲

Send pulse before call answer

问题: 我买了一个本地 DID,当我调用它时,phone 是静音的,直到在 Asterisk 中执行连接,然后立即开始合成语音。

应该如何: 我想让客户的phone(打电话的人)听到几次脉冲声。当我拨打一个普通号码时,甚至在其他 phone 响铃之前,它就开始听到脉冲声。 PS:在我的 DID 服务器上,您没有任何配置选项。

我是怎么做到的: 我买了一个本地 phone 号码 (DID),它会自动从同一服务重定向到 SIP。所以我设置了我的 Asterisk 服务器来连接到这个 SIP 帐户,拨号规则试图在应答中加入一个等待值,但是没有成功。

我试图为"Answer(5)"命令输入一个值,但结果是:呼叫被接听,静默5秒,然后执行下一个命令。当我想在显示已接听的电话之前发出脉冲时。 (在接听电话之前,我的拨号方案需要 2 秒才能打开必要的设置)

您应该使用 pulse+needed silence 创建音乐保持文件。

之后你就开始使用 AGI 动作设置音乐了,就像这里描述的那样

发送 Progress() 然后 Ringing()PlayTones(ring)

我看到一些供应商需要通过 early media 来表示响铃,例如:

exten => 500,1,Progress()
exten => 500,n,Wait(1)
exten => 500,n,Dial(PJSIP/121)
exten => 500,n,Hangup()

exten => 500,1,Progress()
exten => 500,n,PlayTones(ring) <-- OR USE MAYBE Ringing() HERE INSTEAD?
exten => 500,n,Dial(PJSIP/121)
exten => 500,n,Hangup()

等…

另见

https://wiki.asterisk.org/wiki/display/AST/Asterisk+16+Dialplan+Applications: