0
[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)

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

4

3 回答 3

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 中包含一些原始语句。

于 2017-11-19T09:17:03.420 回答
0

当你这样做

 Confbridge

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

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

于 2017-11-18T16:29:35.933 回答
0

我将 Originate 放在 ConfBridge 之前,但它没有按我的预期工作。

[CONFERENCE-ADMIN]
exten => 1111,1,Progress()
exten => 1111,2,Wait(1)
same => n,Originate(SIP/7002,app,ConfBridge,1)
same => n,Originate(SIP/7003,app,ConfBridge,1)
same => n,ConfBridge(1,default_bridge,admin_user)
I tried above things . Few things are not as per my expectation

我想开始第一次会议,然后想同时拨打 7002 和 7003 这里首先拨打 7002,播放铃声,然后拨打 7003。这不符合我的需要。

于 2021-06-11T12:32:33.887 回答