Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SIP替代TAPI?_Java_Sip_Telephony_Pbx_Tapi - Fatal编程技术网

Java SIP替代TAPI?

Java SIP替代TAPI?,java,sip,telephony,pbx,tapi,Java,Sip,Telephony,Pbx,Tapi,我们在基于java的客户端中使用TAPI技术连接到PBX硬件,以使用CTI操作(启动呼叫、处理接听呼叫等)。 要连接到TAPI,我们使用gjtapi项目。我们从客户端gui启动一个调用,我们可以监视事件,并在连接到客户端的电话设备上看到事件 作为替代方案,我尝试了SIP协议,我们也可以开始通话,但是当我们使用SIP协议连接时,电话设备被绕过,我们在设备上看不到任何东西。例如,当使用TAPI时,我们接到一个电话,我们会在手机和gui上看到来电,它们是同步工作的。但是,当我使用SIP连接并接收呼叫时

我们在基于java的客户端中使用TAPI技术连接到PBX硬件,以使用CTI操作(启动呼叫、处理接听呼叫等)。 要连接到TAPI,我们使用gjtapi项目。我们从客户端gui启动一个调用,我们可以监视事件,并在连接到客户端的电话设备上看到事件


作为替代方案,我尝试了SIP协议,我们也可以开始通话,但是当我们使用SIP协议连接时,电话设备被绕过,我们在设备上看不到任何东西。例如,当使用TAPI时,我们接到一个电话,我们会在手机和gui上看到来电,它们是同步工作的。但是,当我使用SIP连接并接收呼叫时,电话设备上什么也没有发生。这是一个错误的设置/实现还是SIP的行为,它提供了某种软电话?

TAPI是一种第三方技术:意味着你的应用程序不做“工作”,它向PBX发送命令,代表你做“工作”

在SIP中,你必须自己做每件事:你可以打电话到某个地方,但你在告诉其他事情该做什么方面非常有限

您可以从SIP获得与TAPI类似的功能,但它涉及的内容要多得多。你需要把自己定位为“中间人”。例如,您希望从设备呼叫外部:

  • 首先(从应用程序)呼叫设备
  • 然后(从你的应用程序)打电话给外部用户
  • 第三,连接两端
但是,如果您希望在这之后使用类似TAPI的控件,则需要将应用程序保持在“循环中”。SIP只能控制您直接参与的内容。这意味着您需要:

  • 长号呼叫(音频通过应用程序)
  • 使用媒体旁路(音频在两方之间传输),但您保留信号
这也可能是危险的,因为这意味着你的应用程序处于所有呼叫之间:这意味着如果它崩溃,所有呼叫都将丢失


我建议你不要低估让这样的东西正常工作所需要的工作量。还有其他替代方案,如CSTA和许多PBX支持自己的专有接口,用于此类控制。但在我看来,对于第三方呼叫控制来说,TAPI可能是更好的选择(特别是如果您想支持超过一家PBX供应商)

您可以将SIP和TAPI结合起来,而不必更改任何代码。例如,您可以像现在这样为您的PBX使用TSP(电话服务提供商),并且很可能处理您需要的一切。但是,您也可以通过SIP连接到PBX。控制通话的方式在技术上有所不同,但最终结果基本相同。您还可以绕过PBX,使用任何SIP中继或PBX暴露的SIP中继。要使用SIP,您可以使用类似于我们的SIP通信服务器软件的东西,它是TAPI和SIP之间的桥梁。这是一个允许您使用所有现有TAPI代码来处理SIP的选项。免责声明:我为制造和销售TAPI/SIP组件和解决方案的ExceleTel工作。

使用SIP将始终绕过您的设备,因为它将尝试使用网卡上的IP堆栈连接到另一方。要使用您的硬件,您应该具有一些特定的绑定(用于Windows TAPI的gjtapi或一些专有的绑定)。SIP能够管理呼叫会话并促进IP/RTP信道的SDP协商,但不知道硬件设备(调制解调器、CTI卡),因此将绕过它们