我可以用Asterisk“取消”2个现有频道吗?

时间:2013-01-31 17:07:34

标签: asterisk transfer unlink disconnect

我在传输动作后连接了2部手机,现在我想“取消”他们两个并暂停听背景音乐。我试图停车,拨打幻象号等等。但每次第二部手机(不执行动作的手机)都会挂机。

我可以在没有电话会议的情况下这样做吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

是的,您可以使用ami动作“转移”,而不是将第二个转移到n + 1 prio,因此您可以创建特殊的上下文。

首先阅读此内容 http://www.voip-info.org/wiki/view/Asterisk+manager+API

之后请咨询:

http://www.voip-info.org/wiki/view/Asterisk+manager+Example:+Transfer

http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Redirect

注意,要在1.6+中同时进行2个频道,您必须使用ExtraChannel变量。

答案 1 :(得分:1)

最后我做到了! @arheops用他的笔记给了我钥匙。我必须这样做: 用A和B说话 将两个频道重定向到等待:

Action: Redirect    
ActionID: 1234  
Channel: Channel1  
ExtraChannel: Channel2  
Exten: 000000001  
ExtraExten: 000000001  
Context: default  
ExtraContext: default  
Priority: 1  
ExtraPriority: 1

在extensions.conf中,我写了一个名为“on_hold”扩展名的“等待”:

[on_hold]  
exten =>s,1,Answer()  
exten =>s,2,BackGround(onholdmusic)  
exten =>s,3,goto(on_hold,s,2)  
exten =>h,1,HangUp()  

现在A和B正在听音乐(onholdmusic),然后你可以用C调用C和B桥.A等待听音乐,直到另一个桥/挂机/其他动作完成。

谢谢!