美国Music Telecom公司技术支持部王宏
TAPI出现已经有很长时间,从1993年公布的TAPI 1.0版,经过1.3、1.4、2.0、2.1直到Windows2000推出,TAPI也更新到3.0版。事实上,2.x以前的TAPI,虽然也有其独到之处,如开放结构(WOSA),设备无关等,但并没有引起更大关注。随着CTI产业的发展和Internet狂潮席卷,内建于Windows2000中的TAPI 3.0终于调起了人们的胃口。
CTI应用程序接口
在CTI应用中涉及到计算机应用中的各个方面,而电话语音技术是其中的核心。因此就必须利用各种应用程序接口(API)来构建自己的应用系统。虽然各个设备供应商都提供自己的API,但对用户来说,更希望使用一种标准的API,从硬件层中抽象出来,可以不再为每种不同的硬件专门写代码,而利用系统设备无关特性无须重复编写代码,给开发带来极大的方便。另一方面,从决策者来说,运用设备无关的标准API,使系统升级和更新时能避免重复投资,降低费用,保留现有资源。
因此API的选择就显得非常重要。目前各种应用程序接口也正在发展之中,也尚未形成CTI业界的认同标准。当前得到认可的API有三种:微软公司TAPI、Novell和AT&T的TSAPI以及Sun公司的JTAPI
TSAPI由Novell和AT&T共同开发,实现把电话系统与Netware网络集成在一起。TSAPI是出现最早的语音应用程序接口,在市场方面也取得过一些成绩。但由于公司的经营策略和昂贵的客户许可费用的羁绊,加之,Netware在网络操作系统的竞争中已经失去领先地位,因此它已经失去了发展的动力。
JTAPI是由Sun公司提出的基于Java语言的应用程序接口。由于JTAPI是基于Java的应用接口,使得JTAPI的对象独立于操作系统和硬件平台,支持跨平台的应用。JTAPI定义了一套类库,包含电话功能和扩充功能。JTAPI结合了传统的电话服务和Web处理能力,具有较强的功能。但是,基于Java的特性,使得JTAPI在拥有强大功能的同时,也失去了普及和推广的基础。
TAPI 3.0特性
TAPI由微软提供,并且已内建于微软操作系统之中。在TAPI中定义了设备(LINE和PHONE)和媒体流。通过LINE可操纵交换机、语音卡、MODEM等,通过PHONE可操纵电话机、麦克风等设备。而通过媒体流则可以区分不同的媒体,如数据、语音、传真等,从而触发不同的处理进程。TAPI是Windows开放服务结构(WOSA)的一部分。可以与其他Windows API有机的结合起来,建造灵活、强大的应用。
但是,虽然倚着强大的微软,借着Windows广泛用户基础,TAPI2.x以前的版本并没有表现出超出其他电话编程接口的、更突出的特性。正是随着Windows 2000的发布,随着CTI产业的蓬勃发展,拥有了更出色特性的TAPI3.0终于引起了广泛注目。
TAPI 3.0(The Microsoft®Windows®Telephony Application ProgrammingInterface)是一个改进的TAPI,同时支持传统的公众交换电话网(PSTN)和IP网络。IP电话技术使得声音、数据和视频在现有的基于IP的局域网(LAN)、广域网(WAN)和Internet上统一起来。因为使用开放的IETF(Internet Engineering Task Force)和ITU(InternationalTelecommunicationsUnion)标准,使多媒体传输能够在任何支持IP的网络上进行,提供一种适应多种媒介(POTS、ADSL、ISDN、同轴电缆、双绞线、卫星线路等)的、不受位置限制的应用。因此,无所不在的网络能提供给人们Web、e-mail、data等多种应用,把遍布世界的个体、商务、学校、政府等连接起来。
跟以前的版本相比,TAPI 3.0带来新的震撼,提供了新特性。
1、基于COM体系的TAPI3.0把传统的电话技术和IP电话技术结合起来,把应用从简单的电话语音呼叫一直扩充到了包含有质量保证(QOS)的多媒体多点IP会议系统。TAPI3.0提供了增强的开发工具,帮助开发者创建现代全球通信系统。TAPI 3.0API采用了流行的COM实现方式,使开发者能够用多种语言来生成应用系统,如Java、VisualBasic、C/C++都能很好地发挥其特长。基于COM的体系也使得应用系统的开发和升级变得简单。TAPI3.0提供对ActiveX控件的支持。可以利用上千种可重复利用的ActiveX控件,避免编写大量代码,只专注于自己的系统逻辑设计,快速和高效地创建大型的应用。
2、在TAPI 3.0中,扩充了对IP电话技术的支持。在这里,“打电话”可能并没有实际的电话机参与,而只是视频信息在IP网络上传输。IP电话技术使CTI的领地从传统的电信网络迅速扩张到Internet。当构建TAPI3.0的应用时,已经不必考虑到底是连接到公用电话网或是IP网络上了。
3、TAPI 3.0增强了对创建呼叫中心的支持。TAPI 3.0的呼叫中心控制(Call CenterControl)增加了自动呼叫分配(ACD)对象,通过五个主要的ACD对象来实现对呼叫的自动管理。这五个对象是:代理处理(AgentHandler),队列(Queue),ACD组(ACD Group),代理(Agent),和代理事务(AgentSession)。利用这些对象,可以完成预拨号、呼叫队列的维护、呼叫路由的管理等事务,再加上对座席的控制和座席状态的全面监测,使建造呼叫中心变得非常简单。
4、TAPI 3.0增加了多点IP会议的支持,可以协助开发者创建多媒体多点IP会议系统。与呼叫中心控制结合起来,能够方便地建设网上呼叫中心。
TAPI 3.0结构
TAPI 3.0结构如下:
从上面可以看到,TAPI 3.0由四个主要构件组成:
TAPI 3.0 COM API
TAPI Server
Telephony Service Providers(TSP)
Media Stream Providers (MSP)
TAPI Server是从TAPI 3.0和TAPI 2.1中把TSPI(TelephonyService Providers Interface)抽取出来,是为了使TAPI 3.0能够使用TAPI 2.1 的TSP。
TSP和MSP构成Service Providers。它们当然要一起出现,TSP为呼叫控制(CallControl)服务,而MSP为媒体控制(Media Control)服务。
Telephony Service Providers(TSP)接受来自TAPI的与协议无关的呼叫,并把它们转换为相关协议的呼叫。在TAPI3.0中绑定了两个IP相关的TSP:H.323 TSP,和IP Multicast Conferencing TSP(IP多点传送会议TSP)。
Media Service Providers(MSP)提供了一个一致的接口来处理呼叫中的各种媒体流。
TAPI 3.0编程
TAPI 3.0包含三个控制接口,提供给开发者使用:
Call and Media Controls(呼叫和媒体)
Call Center Controls(呼叫中心)
IP Multicast Conferencing(多点会议)
Call and Media Controls由一系列COM对象、接口和方法构成,用以建立两台或多台计算机之间的呼叫。其中包括五个主要的对象TAPI、Address、Terminal、Call、和CallHub。
TAPI对象代表了所有Telephony资源。TAPI3.0应用必须首先创建一个TAPI对象的实例,然后对它初始化。
Address对象定义了一个能建立和接受呼叫的实体。通过这个实体,应用程序可以查询指定的地址是否支持某种特定的媒体类型;可以列举当前与某地址关联的呼叫;可以创建一个转移呼叫等等。
Terminal对象定义了一个媒体流的发起者或接受者,比如麦克风或扬声器。应用程序选择适当的Terminal来开始媒体流的传送。
Call对象定义了两个或多个地址之间的连接。
CallHub对象定义了一个在多方呼叫中的集合体。如果拥有必须的权限,通过CallHub对象可以控制呼叫中的其他参与者。
Call Center Controls提供一组对象,帮助开发者建立呼叫中心。利用CallCenter Controls可以实现预拨号、呼叫队列和路有管理、排队机、座席控制等呼叫中心的核心功能。
IP Multicast Conferencing Controls允许开发者创建多媒体多点IP会议系统,它由三个主要部分来实现:DirectoryControls操纵服务器会议列表;Conference Blob Controls控制指定会议;Multicast COM Interfaces允许应用程序从服务器上获得多点传送地址。
结束
TAPI 3.0自从开始露面就引起人们的广泛关注,而设备供应商也表现出极大的兴趣。美国MusicTelecom公司所生产语音板卡支持从TAPI 1.0到TAPI 2.2,并首先宣布全面支持Windows 2000和TAPI 3.0。在CTI应用中,基于微软的操作系统的架构依然占有主导地位。同时,TAPI3.0对CTI领域的热点--IP网络和呼叫中心给予了强劲的支持,因此,随着CTI产业的进一步发展和Internet的深入人心,随着Windows2000的流行,会有越来越多的人追随TAPI 3.0,而TAPI 3.0将会成为CTI领域标准API的第一选择。
联系客服