使用星号v0.3.1 java库桥接2个星号调用

时间:2015-08-03 11:20:32

标签: java asterisk agi

以下是AGI如何:

  1. 来自AParty的呼吁登陆AGI,先说一下AGI.agi
  2. AGI提示用户输入
  3. 按下1我需要暂停此呼叫并使用呼叫(callfile)拨打BParty,该呼叫登陆另一个AGI说secondAGI.agi
  4. SecondAGI也提示BParty用户输入。
  5. 按下1需要弥合AParty和此BParty的暂停通话。

    现在我需要关于以下问题的帮助:

    1. 如何暂停第一次通话? (繁忙的while循环可以完成这项工作吗?)
    2. 如何桥接两个频道?
    3. 第一个电话(aparty)如何知道其他用户(bparty)已按下1以外的其他用户?

1 个答案:

答案 0 :(得分:0)

您正在使用的图书馆的文档是here

听起来你正在构建某种类型的队列,并附带选项。

  1. 要模拟保持,只需play music playMusicOnHold,然后在while循环结束时使用waitForDigit()设置超时(比如2秒)。如果你没有任何等待逻辑"在while循环中,您可以跳过循环并使用exec(拨号)代替。如果您正在等待某些业务逻辑(例如对代理数据库的调用)以返回值(例如要拨打的代理扩展),则您只使用循环。
  2. 您不需要使用呼叫文件来呼叫第二方。只需使用exec()命令"Dial"即可。使用"m"选项,以便主叫方听不到响铃,而是继续听到保持音乐。
  3. 使用announces(拨号()选项A())根据您对waitForDigit()的调用结果播放音频文件,以便被叫方听到诸如"用户按下的消息3用于计费"在他/她连接到来电者之前。