我将使用Java(不使用PBX)开发在线IVR应用程序。 在软件需求中,我更喜欢在Java端实现一些数学计算和数据库通信。
如您所知,不同的技术已经准备好与Java集成,例如JTAPI,Zanzibar OpenIVR,Moho,VoiceXML,CCXML,Jive,Prophecy,Voicent,Voxeo等。
现在的问题是:什么是最好的解决方案?哪一个最容易达到?哪一个效率最高?你推荐开源框架吗?是否有用于处理IVR系统的Windows API?
答案 0 :(得分:3)
如果你打算用Java做VoiceXML,你应该看看Rivr,一个开源的VoiceXML对话引擎。
Rivr允许您自然地使用Java语言编写调用流。因此,您可以重用所有可用的Java工具(例如调试器,单元测试框架,覆盖测试工具)来开发调用流程。您也可以从所有IDE功能中受益(重构,源代码导航,版本控制等)。
API非常简单。您可以使用单个方法对完整的调用流进行编码。无需定义“状态”或操纵模板或XML文件。
与服务器端逻辑的集成是微不足道的,因为您只是为服务器端编码。
答案 1 :(得分:1)
这里提供直接答案的信息太少,但我会尝试给你一些基础知识。
IVR应用程序开发的标准是用于对话(Voiceler interaction)的VoiceXML和用于呼叫控制的CCXML。后者并不常见。还有许多专有解决方案。您选择的开放标准与专有解决方案应该更多地关注供应商/解决方案的锁定。即使采用开放标准,您也可能会使用自定义增强功能并锁定一些,但可移植性会更容易。您可以直接对电话板进行编码(如果您是电话新手,则具有挑战性且通常记录不佳)或使用提供端到端功能的解决方案。我发现移植IVR应用程序的人很少,所以我会专注于您的应用程序的可支持性,功能和易用性。
平台选择运行频谱。您有前提(现场)和托管解决方案。您主要拥有高端企业解决方案和低端解决方案。中间地面解决方案很少。功能(电话和集成功能)变化很大。
从电话角度来看,不要理所当然。特别是转账。转接呼叫的方法有很多种。如何完成将受到您的连接的限制。 CO(电话公司)的模拟线路可以有多种机制,而现有的机制通常由您决定。并非所有的电话平台都能满足您的需求。挂起检测,至少在模拟线路上,也可以抓住新手。托管解决方案通常允许您避免大多数这些问题。由于设备之间的兼容性,VoIP解决方案更加复杂(是的,有标准,很多,有很多可选部件,然后有定制口味)。
对于Windows而言,您可以使用Lync,但它很复杂......虽然您将探索的许多解决方案都很复杂。
简而言之,没有最佳解决方案。您对技术,要求和预算的了解将推动决策。我一般在企业IVR中使用内部部署和托管配置,这些配置通常面向大型呼叫中心。我接触过许多开源解决方案。由于系统和电话配置,任何内部部署都可能很复杂。托管解决方案通常会为您完成大部分工作。
答案 2 :(得分:1)
我知道那些是“法律上的标准”。但是你也应该把Asterisk(带AGI / AMI)作为你项目的考虑因素。如果您决定尝试使用Asterisk和Java,请查看astivetoolkit.org它可能会非常有用。