Api IVR软件开发展望

Api IVR软件开发展望,api,telephony,ivr,jain-sip,jtapi,Api,Telephony,Ivr,Jain Sip,Jtapi,我工作的公司正在寻找与任何潜在的PBX/IVR或PBX组合高度兼容的IVR实现,或者提供我们自己的托管解决方案 因此,我们的想法是创建一个与任何潜在平台接口的应用程序,并为IVR提供呼叫控制和语音对话/交互 到目前为止,我所研究的技术(我们希望使用Java)是Java电话API(JTAPI)、JAIN-JCC(Java调用控制)API和其他技术。这些API的基本要点对我来说是有意义的,但我不能把它们放在一起的是,我将创建的用于呼叫控制和语音IVR/VXML的应用程序如何以独立于平台的方式与电话系

我工作的公司正在寻找与任何潜在的PBX/IVR或PBX组合高度兼容的IVR实现,或者提供我们自己的托管解决方案

因此,我们的想法是创建一个与任何潜在平台接口的应用程序,并为IVR提供呼叫控制和语音对话/交互

到目前为止,我所研究的技术(我们希望使用Java)是Java电话API(JTAPI)、JAIN-JCC(Java调用控制)API和其他技术。这些API的基本要点对我来说是有意义的,但我不能把它们放在一起的是,我将创建的用于呼叫控制和语音IVR/VXML的应用程序如何以独立于平台的方式与电话系统接口。我怎样才能从电话系统接到电话

这些API和库似乎没有回答这个问题,这让我相信不可能有一个独立于平台的解决方案,而且它总是特定于实现的。还有JAIN-SIP,如果我可以将所有调用转换为SIP,那么也许我可以通过这种方式创建一个通用的调用控制/IVR应用程序

如果我在这里说了任何无知或误解,请原谅我,我对任何类型的电信技术都是全新的-有谁想让我直说吗?我将非常感激,在这一点上,细节实现层面的联系非常模糊,有时我需要一点帮助。在正确的方向上的任何帮助或推动都是有帮助的

在过去的一周里,我一直在讨论规范和API。:)

编辑-我忘了提一下,如果可能的话,我们更喜欢在内部开发,而且在成本/收益方面也更聪明-如果可能的话,我们不想在集成平台上花钱-这是我的工作:)

我几年前工作过:他们制造了(我在这里使用过去时只是因为我不知道他们现在在做什么,而不是因为他们不再这么做)VoiceXML引擎,它:

  • 这是一个Linux盒子
  • 连接第三方语音到文本和文本到语音引擎(通过与特定于引擎的API接口)
  • 解释VoiceXML(使用自己的VoiceXML解析器),并通过驱动第三方语音到文本和文本到语音引擎来执行它
他们雇用我为他们的盒子连接呼叫控制系统:我为思科做的第一个系统(相反,我看到VoiceGenie现在归Genesys所有)。他们的引擎还支持非VoiceXML应用程序,例如,它公开了Java应用程序接口

总之:

  • 各种电话系统都有专有的呼叫控制API;和/或它们可能支持标准的呼叫控制协议(如SIP)和/或API(如JTAPI、TAPI、CCXML),如果它们支持,则可以或多或少地做到这一点
  • 您可能会发现第三方引擎(如、和其他),它们为您提供了一些统一的API,并处理和支持(或不支持)与其他组件的互操作
我不是这个领域的产品经理、系统工程师、网络架构师、领域专家


但它们通常都支持一些协议和API

有些仅支持专有标准,有些支持一个或多个标准

因此,我们的想法是与最受支持的API或协议进行接口

我会就此质疑商业案例,但我认为你应该找一位电话工程师,他具有特定领域的专业知识和产品/实施知识。我在上面发布的文章中是作为一名软件开发人员遇到的,但我没有该领域的专业知识

那是啜饮吗

SIP是一种协议,而不是API。这些东西是分层的,例如,作为您可能使用的应用程序:

  • 较低级别:具有自己API的SIP协议栈;您使用此API,了解SIP对话框的外观,并且(仅)与理解SIP的系统进行对话

  • 更高级别:VoiceXML/CCXML引擎(或TAPI或JTAPI引擎);编写XML(或使用TAPI和JTAPI);引擎(取决于它是哪个引擎)可能有一个内置的SIP堆栈,用于与使用SIP的组件进行通信,和/或可能有其他协议堆栈用于使用其他(非SIP)的组件协议

Cisco只有一个(专有)协议我可以使用,与他们的“智能联系人管理”(即呼叫中心)系统对话。Genesys我认为有一个封闭的专有API/协议

如果是这样的话,那么我的呼叫控制和IVR解决方案是否最好作为JTAPI应用程序或某个变体的SIP前端实现

我不知道你想做什么,你想在堆栈中的什么位置(如果我知道的话,我不会说任何有用的话)

我认为也许你应该和供应商谈谈:看看他们能为你做些什么(除非你试图完成他们的工作,这将很困难)


你能缩小“任何潜在的PBX/IVR或PBX组合”的含义吗?

作为我问题的另一个答案,我们偶然发现了一个开源项目,该项目使用JTAPI创建了一个接口,以支持多个电话系统(单板、PBX和IP电话)和平台。通过这种方式,我可以开发我刚才提到的应用程序,并使其适用于许多不同的系统,而不考虑系统。我确信也有例外,但这应该适用于大多数系统-考虑到TAPI是一种广泛接受的标准:

它被称为“通用JTAPI”:


为您节省一些痛苦和开发时间。基本上,他们处理PSTN/VOIP连接,您只需告诉他们如何使用XML/HTTP REST。他们有,包括Java。

我在这个领域工作了很多年。ChrisW的答案非常好。下面是一些可能对人们有用的附加信息在si中