5

我有一个 C++ 程序,它使用 Microsoft TAPI 接口从 Cisco Call Manager PBX 收集呼叫事件。为了获得 Cisco 事件,我从呼叫管理器下载了 TSP,然后我的 TAPI 代码就可以工作了。

我可以用 Avaya AES 服务器做同样的事情吗?我看到 Avaya 使用 TSAPI 而不是 TAPI,但我看不出这会对我的程序产生什么影响。

4

2 回答 2

19

TAPI 是 Microsoft 开发的电话 API,TSAPI 是最终成为 Avaya(AT&T -> Lucent -> Avaya)的公司开发的电话 API。TAPI 的设计面向第一方呼叫控制(即电话),而TSAPI 面向第三方呼叫控制(即PBX 和中心局交换机)。TAPI 确实对处理呼叫音频有一些有限的支持,TSAPI 没有。如果您能找到适用于 Avaya AES 的 TAPI TSP,我会感到非常惊讶,如果您这样做了,您将不会从 Avaya 获得它。

如果您只对调用事件感兴趣,那么您可以使用两个 API 执行相同的操作,但代码将完全不同。大多数拥有必须与 Avaya AES 和 Cisco Call Manager 通信的产品的公司都为其产品创建了通用 CTI 接口,然后编写代码模块(也称为驱动程序),将 TSAPI 和 TAPI 呼叫事件转换为其通用事件格式。在您的情况下,根据您的操作系统,您可以将 TAPI 代码移动到单独的 DLL/共享库中,然后创建一个单独的 DLL/共享库来实现相同的功能,但使用 TSAPI 而不是 TAPI。

不幸的是,许多较小的 PBX 制造商将基于 TAPI 或 TSAPI 的 API 用于其 CTI 接口,因此如果您必须连接到第三个 PBX,则很有可能重用这两个模块中的一个。

于 2009-05-08T17:06:42.900 回答
5

一种只是“电话”,另一种是“电话服务”。区别类似于办公桌上的电话 (TAPI) 和公司通讯柜 (TSAPI) 中的 PBX 之间的区别,不同之处在于,由于它们都是软件,因此您可以使用 TAPI 编写程序来完成 PBX 的大部分功能. 但我认为您会发现使用 TSAPI 会更容易。

于 2009-05-08T13:48:28.773 回答