什么是JTAPI,什么是CTI,什么是Cisco统一呼叫管理器?如何将SIP呼叫或VoIP呼叫与此案例集成?
最佳答案
这是一个非常开放的大问题,在你准备好进行这项研究之前,你会有很多基础研究要做。开始:CTI代表“计算机电话集成”,是使用API控制或监视电话系统(如PBX)的通用术语。CTI Descrption at Wikipedia。Cisco Unified Call Manager是Cisco目前所称的PBX产品。基本上,它是一个看起来有点像路由器的盒子,你可以通过一个以太网端口将基于voip的电话连接到它,它可以向电话发送sip或skinny(思科的专有信令协议)以及rtp。如果使用的是思科技术,那么cucm是企业电话系统的核心组件。
CTI有两种基本类型:第一方呼叫控制和第三方呼叫控制。第一方是应用程序的行为类似于或与单个电话分机关联的地方,它可以发送命令来获取有关该电话的信息并控制该电话正在执行的操作。例如,您的程序可以判断电话是否在响,将电话从挂钩上取下,拨一个号码,等等。这通常用于通讯簿集成之类的事情,用户可以使用程序单击屏幕上的联系人,并让他们的电话拨出该联系人。第一方呼叫控制最常用的两个协议是tapi和jtapi。(JTAPI还支持一些第三方调用控制特性,尽管许多提供JTAPI的系统不提供这些特性)
cisco cucm同时提供tapi和jtapi,尽管我经常听说它们的tapi实现被描述为古怪和不受欢迎的,所以jtapi更常被使用。jtapi提供了一个api,用于通过java程序与电话系统进行交互。JTAPI Description and Links。第三方呼叫控制的一个更全面的api是tsapi,但是cisco cucm不提供tsapi风格的api,除非您还拥有价格昂贵的可选统一联系中心模块,即使这样,api也相当粗糙(基本上只是一个socket上的二进制io规范和一个提供tsapi风格的呼叫状态模型的api)。
至于如何使用jtapi集成sip或voip调用,这取决于您希望做什么。例如,可以在最新一代Cisco电话集上使用名为“内置网桥”的功能,提供一个SIP中继,终止于您的程序,并将每个电话集或由您控制的电话子集的每个呼叫的SIP传输实时发送到您的程序。这样,每次对话都会收到2个rtp提要——本地端和远端。这对于被动应用(如监视或录制)非常有用。
对于更活跃的应用程序,您可以使用Cisco的JTAPI和其他API远程监视甚至控制系统上的物理IP电话或软电话,甚至将您的应用程序注册为虚拟扩展并接听电话、加入会议、强制向第三方传输电话等。
有关详细信息,请参见:http://developer.cisco.com/web/jtapi