我使用ARI调用2个端点并将它们桥接。我想保持或播放媒体或播放MOH呼叫1,直到端点2接听呼叫,然后Bridget他们。
我尝试过这个计划,但PlayBack、BackGround、MusicOnHold都会阻塞线程,直到播放结束,然后调用endpoint2。
exten => 107,1,NoOp()
same => n,Answer()
same => n,MusicOnHold(default,10)
#same => n,BackGround(silence/2&hello-world)
same => n,Dial(Local/***@from_internal_testing,U(default^postAnswer^1)) same => n,Hangup()
您真的在使用ARI(即Asterisk REST API)吗?我看不出您正在从拨号计划中调用Stasis应用程序。但是,在将通道控制权移交给ARI之前,应调用此操作。
ARI在"通道"中支持上述所有方法。此处提供相关规范:https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+频道+REST+API
您尝试做的事情不需要这样的东西,只需使用app_queue
https://wiki.asterisk.org/wiki/display/AST/Building+排队
如果出于某种原因,你仍然想自己做所有的事情,你可以使用TIMEOUT(),通过本地、会议等进行拨号。