【发布时间】:2013-01-31 17:07:34
【问题描述】:
我在转移操作后连接了 2 部手机,现在我想将它们都“取消转移”并让它们暂停以听背景音乐。我试过停车、拨打虚拟号码等。但每次第二部电话(不执行操作的电话)都会挂断。
我可以在没有电话会议的情况下做到这一点吗?提前致谢!
【问题讨论】:
标签: asterisk transfer unlink disconnect
我在转移操作后连接了 2 部手机,现在我想将它们都“取消转移”并让它们暂停以听背景音乐。我试过停车、拨打虚拟号码等。但每次第二部电话(不执行操作的电话)都会挂断。
我可以在没有电话会议的情况下做到这一点吗?提前致谢!
【问题讨论】:
标签: asterisk transfer unlink disconnect
我终于做到了! @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一直等待听音乐,直到另一个桥接/挂断/其他动作完成。
谢谢!
【讨论】:
是的,你可以使用 ami 动作“Transfer”,它不会将第二个转移到 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 变量。
【讨论】:
[onhold]exten =>s,1,BackGround(music)exten =>s,2,goto(onhold,s,1)exten =>h,1,HangUp() 但两个频道都挂断了。