【问题标题】:Can I "un-transfer" 2 existing channels with Asterisk?我可以用 Asterisk “取消转移” 2 个现有频道吗?
【发布时间】:2013-01-31 17:07:34
【问题描述】:

我在转移操作后连接了 2 部手机,现在我想将它们都“取消转移”并让它们暂停以听背景音乐。我试过停车、拨打虚拟号码等。但每次第二部电话(不执行操作的电话)都会挂断。

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

【问题讨论】:

    标签: asterisk transfer unlink disconnect


    【解决方案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一直等待听音乐,直到另一个桥接/挂断/其他动作完成。

    谢谢!

    【讨论】:

    • 我真的看不出与我发给你的最后一个链接有什么不同。但请确保您的代码对您自己来说看起来更简单。
    • @arheops extensions.conf 代码有很大的不同,因为它告诉我需要将两个呼叫转移到哪里。您的最后一个链接中没有代码。不过还是谢谢。再次...
    【解决方案2】:

    是的,你可以使用 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 变量。

    【讨论】:

    • 能再详细点吗?
    • 感谢@arheops 的帮助,我试过这个:我尝试将两个频道都发送到一个新的简单拨号计划:[onhold]exten =>s,1,BackGround(music)exten =>s,2,goto(onhold,s,1)exten =>h,1,HangUp() 但两个频道都挂断了。
    猜你喜欢
    • 2014-06-09
    • 2017-07-29
    • 2019-10-25
    • 2012-11-10
    • 2016-07-13
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多