0

我想在两个人之间拨打电话,这意味着我想给第一个人打电话,如果他接听了,就拨打第二个人的号码。第一个人有多个号码,它应该一个接一个地拨打每个号码,直到其中一个人回答。

我正在使用呼叫文件并为第一人称使用“通道”(预计它应该在开始时呼叫第一人然后呼叫第二人)并且它使用“拨号”应用程序与第二人呼叫文件进行呼叫:
Channel:SIP/313
Context:ext-local
Application:Dial
Data:SIP/300
Priority:1
Archive:yes
Account:888000

是否可以在“频道”中拨打多个电话,然后一个接一个地拨打电话?如果是这样,我怎样才能做到这一点?

请记住,我不希望此功能用于目的地号码,并且我知道如何与多个目的地拨打电话(数据:SIP/300&SIP/400)

提前谢谢你,任何建议都会很棒:)
4

2 回答 2

1

如果我理解正确,请在313@ext_local...中执行此操作

exten => 313,1,dial(SIP/first_extension,15)
; if dial was timed out (15s) or answered and hanguped then next priority will executed
; so next should check ${DIALSTATUS} and only if not answered dial another extension
; for example...
exten => 313,2,execif($["${DIALSTATUS}"="ANSWERED"]?hangup(16):dial(SIP/second_extension,20))
; If first dial was answered the second priority only makes a hangup (sign ?) else (sign :) second extension will be dialed
于 2021-01-04T13:59:37.190 回答
1

You can do whatever you want via dialplan and use Local type channel. Ringgroups, followme, anything.

For freepbx it will be like this

Channel:Local/313@from-internal/n
Context:ext-local
Application:Dial
Data:SIP/300
Priority:1
Archive:yes
Account:888000

https://www.voip-info.org/asterisk-local-channels/

PS I highly not recommend do your own dialling core, there WILL be more issues. Use already known projects like vicidial.org

于 2021-01-04T13:56:53.773 回答