2015-08-03 33 views
2

弥合星号2调用下面是AGI如何去:从AParty土地使用星号v0.3.1 Java库

  1. 呼吁AGI,说firstAGI.agi
  2. AGI提示用户输入
  3. 在按下1时,我需要将此呼叫置于保持状态,然后拨打使用呼叫(callfile)的BParty,然后登录到另一个AGI,称为第二个AGI.agi
  4. SecondAGI也提示用户输入BParty。
  5. 按1时需要桥接AParty和此BParty的保留呼叫。

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

    1. 如何使保留第一个电话? (一个忙碌的while循环可以完成这项工作吗?)
    2. 如何桥接两个通道?
    3. 第一个电话(分家)如何知道其他用户(bparty)按下的键不是1?

回答

0

为你使用这个库的文档是here

这听起来像你正在建立某种类型的队列,并带有选项。

  1. 为了模拟保持,只是play musicplayMusicOnHold,然后用waitForDigit()与while循环的最后一组超时(比如2秒)。如果在while循环中没有任何“等待逻辑”,则可以跳过循环并使用exec(拨号)。如果您正在等待某些业务逻辑(例如对代理数据库的调用)返回值(例如代理扩展到拨号),则只会使用循环。
  2. 您不需要使用呼叫文件来拨打第二方。只需使用exec()与命令"Dial"。使用"m"选项,以便主叫方不会听到振铃,而是继续听到保持音乐。
  3. 使用通告(拨号()选项A())根据您拨打waitForDigit()的呼叫结果播放音频文件,以便被叫方在连接之前听到诸如“用户按3进行记帐”的消息呼叫者,召集者。
+0

当我使用拨号命令而不是创建callfile时,它直接与aparty连接。我的意思是这两个电话直接桥接既不aparty设置保持,也不可以从bparty选项 – viki

+0

您可以发布您目前使用的AGI,并且我可以建议将其与我的答案对齐吗? - 如果您愿意,可以使用像pastebin这样的网站,并将其链接到您的原始问题中。 – QuickDanger