【问题标题】:How to automatically add users to confbridge asterisk from dialplan?如何从拨号计划自动将用户添加到 confbridge 星号?
【发布时间】:2017-11-18 10:11:29
【问题描述】:
[play-context]
exten => _X.,1,Answer()
exten => _X.,n,NoOp('Exten:')
exten => _X.,n,NoOp(${EXTEN})
exten => _X.,n,ConfBridge(dconf-${EXTEN}-${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)})
exten => _X.,n,Originate(SIP/5678,exten,conferences,100,1)

[conferences]
exten => _X.,1,NoOp(${EXTEN})
exten => _X.,n,ConfBridge(dconf-${EXTEN}-${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)})

当我创建一个新的 confBridge 会议时,我想加入一些用户。我怎样才能自动完成?我尝试了这个配置,但它不起作用。在这行之前

exten => _X.,n,Originate(SIP/5678,exten,conferences,100,1)

只是没有达到。我不明白为什么。 请帮忙。

【问题讨论】:

    标签: asterisk sip conference


    【解决方案1】:

    当涉及到拨号方案中的 Confbridge 语句时,您的频道(您拨打会议号码时的音频)将进入会议。 Confbridge 的问题在于,一旦拨号方案到达 Confbridge 语句,您将一直呆在那里,直到您退出它。如果你想在那里找到一些朋友,你应该做一些以前的任务

    • 检查会议是否已建立(如果其中已经有其他方,请参见函数 CONFBRIDGE_INFO),如果是,只需将自己添加到其中
    • 如果没有,请建立会议,邀请您想加入的人并将自己添加到会议中

    因此,会议的拨号方案通常不是微不足道的。让我们假设您不想进行第一次检查。所以,当你建立会议时,你包括一个人。为了简化和避免一些令人头疼的问题,我将为会议使用一个不依赖于读取拨号方案的秒数的名称(取决于您如何维护拨号方案,您的会议可能与在您邀请您的伙伴),让我们假设会议的名称仅取决于所拨打的 EXTEN。你应该做类似的事情:

    exten => _X,1,Answer()
    ...
    same => n,Originate(SIP/5678,app,ConfBridge,"${EXTEN},rest-of-parameters-for-5678")
    ... (Check ORIGINATE_STATUS if you do really need your friend)
    same => n,ConfBridge(${EXTEN},rest-of-parameters-for-youself)
    

    这里我使用了参数app的起源。当然,您可以按照 @arheops 的提示,将 exten 与本地频道一起使用。但如果你这样做,要小心秒数;)。

    如果您想在星号开始时自动建立会议,请考虑在 cli.conf 中包含一些原始语句。

    【讨论】:

      【解决方案2】:

      当你这样做时

       Confbridge
      

      它现在在桥中,直到您退出桥后才进入下一个扩展。

      因此,您必须在此之前进行 Originate,或者在其他线程(通过本地通道)中并行进行。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多