用Java开发IVR系统

5
我将开发一款在线IVR应用程序,使用Java进行开发(无需PBX)。 在软件需求中,有一些数学计算和数据库通信需要我在Java端实现。
正如您所知,不同的技术都可以与Java集成,例如JTAPI、Zanzibar OpenIVR、Moho、VoiceXML、CCXML、Jive、Prophecy、Voicent、Voxeo等。
现在的问题是:哪种方案最佳?哪一个最容易实现?哪一个效率最高?您是否推荐开源框架?是否有Windows API来处理IVR系统?

那是5个问题。你应该只问一个问题,因为你必须选择最佳答案。 - gawi
4个回答

3
如果您想使用Java进行VoiceXML开发,您应该看一下Rivr,这是一个开源的VoiceXML对话引擎。
Rivr让您可以使用Java语言自然地编写您的呼叫流程。因此,您可以重复使用所有可用的Java工具(例如调试器、单元测试框架、覆盖测试工具)来开发呼叫流程。您还可以从IDE功能中受益(重构、源代码导航、版本控制等)。
API非常简单。您可以使用一个方法编写完整的呼叫流程。无需定义“状态”或操作模板或XML文件。
与服务器端逻辑的集成非常简单,因为您只需要为服务器端编码即可。

2

我知道那些是“法定标准”。但是在你的项目中,你也应该考虑使用Asterisk(带有AGI / AMI)。如果你决定尝试Asterisk和Java,请看看astivetoolkit.org,它可能非常有帮助。


2
这里提供的信息太少了,无法直接回答你的问题,但我会尽力给你一些基本知识。IVR应用程序开发的标准是VoiceXML(对话者交互)和CCXML(呼叫控制)。后者并不常见,也有许多专有解决方案。选择开放标准还是专有解决方案更应该考虑厂商/解决方案锁定。即使使用开放标准,您可能也需要使用自定义增强功能,并具有某种程度的锁定,但可移植性将更容易。您可以直接编写电信板卡代码(如果您是电信新手,则很有挑战性且通常文档不全),或者使用提供端到端功能的解决方案。我发现很少有人转移IVR应用程序,因此我会关注您的应用程序的支持性、功能和易用性。平台选择范围广泛。您可以选择本地和托管解决方案,高端企业解决方案和低端解决方案。从电话角度来看,不要抱有任何期望。特别是转移。有许多转移呼叫的方法。如何完成将受到您连接的限制。模拟线路到CO(电话公司)可以有多种机制,通常会向您规定一种机制。并非所有电话平台都支持您所需的功能。至少在模拟线路上,挂断检测也可能会让新手感到困惑。托管解决方案通常允许您避免大多数这些问题。由于设备之间的兼容性(是的,有很多标准,有很多可选部分,然后有定制版本),VoIP解决方案甚至更加复杂。对于Windows,您可以使用Lync,但它很复杂...尽管您将探索的许多解决方案都很复杂。简而言之,没有最佳解决方案。您对技术、要求和预算的了解将推动决策。我通常与企业IVR在本地和托管配置中一起使用,这些IVR通常面向大型呼叫中心。我接触过许多开源解决方案。任何本地解决方案都可能因系统和电信配置而变得复杂。托管解决方案通常已经为您完成了大部分工作。

0

来自 Twilio 的 Ricky。

对我来说,为特定问题选择最佳工具是开发人员最喜欢的任务之一。找出这个问题的一个技巧是安排一天时间,每个潜在选项花费一两个小时。我通常会探索以下几个问题:

  • 哪个工具最容易入门?
  • 哪个工具有最好的文档?
  • 哪个工具有一个积极的社区,我可以从中学习?

我相信根据您的情况,还有很多更多的问题需要探讨(它是否适合我的预算?我能否将其与我已经了解和熟悉的技术一起使用?)。

如果您正在考虑构建 IVR,我们有一个 API 可以帮助您。我们刚刚发布了一些新教程,包括使用 Java 构建 非平凡的、生产就绪的 IVR 应用程序


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接