您现在的位置: 通信界 >> 数据通信 >> 技术正文  
 
构建基于TAPI3.0的Office CTI(数字办公平台)(图)
[ 通信界 / 杨宗长 / www.cntxj.net / 2004/6/18 ]
 

杨宗长

(武汉大学电信学院,湖北,武汉,430072)

  摘要: TAPI 3.0(The Microsoft® Windows® Telephony Application Programming Interface)是一个改进的TAPI,是传统的公众交换电话网(PSTN)和IP网络技术的融合。基于TAPI 3.0的IP电话技术使得声音、数据和视频在现有的基于IP的局域网(LAN)、广域网(WAN)和Internet上统一起来;TAPI3.0为建立Office CTI(数字办公平台)提供了一个便捷而强大的方法。
  关键词:TAPI3.0 ; Microsoft;公众交换电话网; IP;数字办公平台
  中图分类号:TN915.9 文献标识: A



The Development of Office CTI with TAPI 3.0
YANG Zong-chang


  (College of Electronic Information , Wuhan University, Wuhan 430072, China)
  Abstract: Telephony Application Program Interface (TAPI) 3.0 is an evolutionary API providing convergence of both traditional PSTN telephony and IP telephony. IP telephony is an emerging set of technologies that enables voice, data, and video collaboration over existing LANs, WANs, and the Internet. TAPI 3.0 enables IP telephony on Microsoft® Windows® operating systems by providing simple and generic methods for building an Office CTI.
  Key words: TAPI3.0; Microsoft; PSTN ; IP;Office CTI

  在以IP技术为基础的局域网、广域网以及互联网上的IP电话能够将语音、数据和视频集成在一起,这是一项正在逐步发展并走向成熟的技术。IP电话使用开放的IETF(Internet Engineering Task Force)和ITU(International Telecommunications Union)的标准,使得多媒体能够在任何使用IP的链路上传输,在物理介质和物理位置上都给用户提供了很大的灵活性。例如,用户可以选择使用ADSL、ISDN、卫星或双绞线就可以作为传输媒体,同时用户的位置也可以随意地选取,通过Web、E-mail和数据网将全世界的个人、商业、学校和政府联在了一起。

一、CTI(Computer Telephony Integration)简介
  CTI (Computer Telephony Integration,计算机电话集成),俗称呼叫中心,是传统的公众交换电话网(PSTN)和计算机通信技术的融合。CTI应用中涉及到计算机应用中的各个方面,而电话语音技术是其中的核心。因此就必须利用各种应用程序接口(API)来构建自己的应用系统。虽然各个设备供应商都提供自己的API,但对用户来说,更希望使用一种标准的API,从硬件层中抽象出来,可以不再为每种不同的硬件专门写代码,而利用系统设备无关特性无须重复编写代码,给开发带来极大的方便。另一方面,从决策者来说,运用设备无关的标准API,使系统升级和更新时能避免重复投资,降低费用,保留现有资源。因此API的选择就显得非常重要。目前各种应用程序接口也正在发展之中,也尚未形成CTI业界的认同标准。
  当前得到认可的API有三种:微软公司TAPI、Novell和AT&T的TSAPI以及Sun公司的JTAP。TSAPI由Novell和AT&T共同开发,实现把电话系统与Netware网络集成在一起。TSAPI是出现最早的语音应用程序接口,在市场方面也取得过一些成绩。但由于公司的经营策略和昂贵的客户许可费用的羁绊,加之,Netware在网络操作系统的竞争中已经失去领先地位,因此它已经失去了发展的动力。JTAPI是由Sun公司提出的基于Java语言的应用程序接口。由于JTAPI是基于Java的应用接口,使得JTAPI的对象独立于操作系统和硬件平台,支持跨平台的应用。JTAPI定义了一套类库,包含电话功能和扩充功能。JTAPI结合了传统的电话服务和Web处理能力,具有较强的功能。但是,基于Java的特性,使得JTAPI在拥有强大功能的同时,也失去了普及和推广的基础。
  TAPI由微软提供,并且已内建于微软操作系统之中。在TAPI中定义了设备(LINE和PHONE)和媒体流。通过LINE可操纵交换机、语音卡、MODEM等,通过PHONE可操纵电话机、麦克风等设备。而通过媒体流则可以区分不同的媒体,如数据、语音、传真等,从而触发不同的处理进程。TAPI是Windows开放服务结构(WOSA)的一部分。可以与其他Windows API有机的结合起来,建造灵活、强大的应用。但是,虽然倚着强大的微软,借着Windows广泛用户基础,TAPI 2.x以前的版本并没有表现出超出其他电话编程接口的、更突出的特性。正是随着Windows 2000的发布,随着CTI产业的蓬勃发展,拥有了更出色特性的TAPI 3.0终于引起了广泛注目。

图-1微软TAPI

二、微软TAPI3.0 特性
  微软的TAPI3.0(The Microsoft® Windows® Telephony Application Programming Interface)正是一种适应IP技术发展而出现的一种接口函数,它能够支持传统的PSTN电话和IP电话两种电话,为用户提供了一个良好的开发环境。TAPI 将传统电话与 IP 电话合并于单一的公用接口中。TAPI 不仅提供传统的电话服务提供程序,而且还提供 H.323 会议和 IP 多播会议。这可以在网络上提供多媒体交流(例如语音、视频和数据)并允许各组之间进行高效率地交流。
  微软的TAPI3.0提供了一个简单和基本的方法,来完成两台或多台计算机连接的建立和传输媒体的访问。它将呼叫控制的功能抽象出来,以屏蔽不同的、不兼容的通讯协议,为应用程序提供一个统一的接口TAPI,目前它的第三版本:TAPI3.0。
IP电话保持稳步增长,许多企业和组织开始从昂贵的、不灵活的、电路交换的公用电话网向智能的、灵活的、廉价的IP网络转变。微软预期到该趋势,因此建立起强大的计算机电话体系结构 3.0适合于快速方便地IP电话应用程序的开发。

图-2 TAPI 应用体系结构
 
三、TAPI 3.0开发设计
  微软的TAPI3.0集成了传统电话的媒体流控制功能。另外,将原来的TAPI2.1发展为COM组件模式,允许TAPI应用程序以任何一种语言来写,如C/C++或微软的VB。
  除了支持传统电话的功能外,微软的TAPI3.0还支持标准的H.323会议和IP广播会议,微软的TAPI3.0还提供Qos质量保证,从而提高会议质量和网络的管理能力。

1.基于COM组件模型的TAPI3 的开发设计结构
  TAPI3.0 设计开发示意结构如下:从上面可以看到,TAPI 3.0由四个主要构件组成:

图-3 TAPI3 设计开发示意结构

■TAPI 3.0 COM API
■TAPI Server
■Telephony Service Providers (TSP)
■Media Stream Providers (MSP)

  TAPI Server是从TAPI 3.0和TAPI 2.1中把TSPI(Telephony Service Providers Interface)抽取出来,是为了使TAPI 3.0能够使用TAPI 2.1 的TSP。
  TSP和MSP构成Service Providers。它们当然要一起出现,TSP为呼叫控制(Call Control)服务,而MSP为媒体控制(Media Control)服务。
  Telephony Service Providers(TSP)接受来自TAPI的与协议无关的呼叫,并把它们转换为相关协议的呼叫。在TAPI 3.0中绑定了两个IP相关的TSP:H.323 TSP,和IP Multicast Conferencing TSP(IP多点传送会议TSP)。
  Media Service Providers(MSP)提供了一个一致的接口来处理呼叫中的各种媒体流。
  TAPI 3.0包含三个控制接口,提供给开发者使用:
  ■Call and Media Controls(呼叫和媒体)
  ■Call Center Controls(呼叫中心)
  ■Multicast Conferencing(多点会议)
  Call and Media Controls由一系列COM对象、接口和方法构成,用以建立两台或多台计算机之间的呼叫。其中包括五个主要的对象TAPI、Address、Terminal、Call、和CallHub。
TAPI对象代表了所有Telephony资源。TAPI 3.0应用必须首先创建一个TAPI对象的实例,然后对它初始化。
  Address对象定义了一个能建立和接受呼叫的实体。通过这个实体,应用程序可以查询指定的地址是否支持某种特定的媒体类型;可以列举当前与某地址关联的呼叫;可以创建一个转移呼叫等等。
Terminal对象定义了一个媒体流的发起者或接受者,比如麦克风或扬声器。应用程序选择适当的Terminal来开始媒体流的传送。
Call对象定义了两个或多个地址之间的连接。Call对象可以想象成电话的主控模式。所有的呼叫控制都要通过Call对象。在CallHub中的每一个成员就是一个Call对象。
  CallHub对象定义了一个在多方呼叫中的集合体。如果拥有必须的权限,通过CallHub对象可以控制呼叫中的其他参与者。CallHub对象不能直接由应用程序创建。它是当有呼叫通过TAPI3.0接入时间接建立的。通过CallHub对象用户可以解析出在一个呼叫或会议中的其他参与者,可以对其他相关的远程Call对象进行呼叫控制。
  Call Center Controls提供一组对象,帮助开发者建立呼叫中心。利用Call Center Controls可以实现预拨号、呼叫队列和路有管理、排队机、座席控制等呼叫中心的核心功能。
  IP Multicast Conferencing Controls允许开发者创建多媒体多点IP会议系统,它由三个主要部分来实现:Directory Controls操纵服务器会议列表;Conference Blob Controls控制指定会议;Multicast COM Interfaces允许应用程序从服务器上获得多点传送地址。

2、如何使用TAPI对象
  用TAPI能够比较方便地执行一个呼叫和作一个呼叫应答,它给编程者带来了很大的方便。下面是执行一个呼叫和呼叫应答的大体过程。

2.1执行一个呼叫
(1) 创建和初始化一个TAPI对象
(2) 用TAPI对象解析在一个计算机上的可用地址
(3) 解析每一个地址对象所支持的地址类型
(4) 选择一个地址对象
(5) 用Address对象中的CreateCall方法创建一个Call对象
(6) 选择Call对象的适当终端
(7) 用Call对象的Connect方法执行一次呼叫

2.2呼叫应答
(1) 创建和初始化一个TAPI对象
(2) 用TAPI对象解析在一个计算机上的可用地址
(3) 解析每一个地址对象所支持的地址类型
(4) 选择一个地址对象
(5) 根据不同的媒体类型用适当的Address对象来登记
(6) 用一个Address对象登记呼叫事件句柄
(7) TAPI通过ITCallNotification通知一个呼叫,并创建一个Call对象
(8) 选择Call对象的适当终端
(9) 用Call对象的Connect方法执行呼叫
(10)用Call对象的Answer方法执行应答

四、 Office CTI 设计
  不少的企业或组织常常需要配置不同的网络来满足不同的需要,例如语音、数据和视频传输都采用不同的网络结构。每一个都有不同的要求,这些网络从安装、维护到配置,费用都很昂贵。而且由于这些网络物理上的不同,集成也很困难,同时限制了它们的很多潜在用途。因此很有必要建立“Office CTI”,即数字办公平台。
  微软的TAPI3.0将呼叫控制的功能抽象出来,以屏蔽不同的、不兼容的通讯协议,为应用程序提供一个统一的接口,因此构建基于TAPI3.0的Office CTI,它通过IP 传输方式将语音、视频和数据集成在一起,有效地将三网合一,降低了费用,提高了管理效率和工作效率。可见Office CTI将是一个能提供包括电话、实时文档征集、远程教育、员工培训和视频会议,以及视频邮件等综合服务的数字办公平台。

图-4 Office CTI (企业数字办公平台)示例

五、 结束语
  TAPI 3.0自从开始露面就引起人们的广泛关注,而设备供应商也表现出极大的兴趣;随着Win2K、XP系列的广泛应用,CTI产业为拥有了更出色特性的TAPI 3.0终于引起了广泛注目,基于TAPI 3.0所开发的数字服务平台将以其优异的性能价格比和极大的扩展空间,得到越来越多用户的青睐。

参考文献:
  [1]Microsoft.MSDN 2004. Microsoft Corporation,2004.
  [2] [美]Anthony Jones, Jim Ohlund 编著.杨合庆 译.Microsoft Windows 网络编程(第二版).北京:清华大学出版社,2002.
  [3] [美] Nabajgoti Barkakati.Visual C++ 开发指南. 北京:电子工业出版社,2002.

 

作者:杨宗长 合作媒体:中国电力通信网 编辑:顾北

 

 

 
 热点技术
普通技术 “5G”,真的来了!牛在哪里?
普通技术 5G,是伪命题吗?
普通技术 云视频会议关键技术浅析
普通技术 运营商语音能力开放集中管理方案分析
普通技术 5G网络商用需要“无忧”心
普通技术 面向5G应运而生的边缘计算
普通技术 简析5G时代四大关键趋势
普通技术 国家网信办就《数据安全管理办法》公开征求意见
普通技术 《车联网(智能网联汽车)直连通信使用5905-5925MHz频段管理规定(
普通技术 中兴通讯混合云解决方案,满足5G多元业务需求
普通技术 大规模MIMO将带来更多无线信道,但也使无线信道易受攻击
普通技术 蜂窝车联网的标准及关键技术及网络架构的研究
普通技术 4G与5G融合组网及互操作技术研究
普通技术 5G中CU-DU架构、设备实现及应用探讨
普通技术 无源光网络承载5G前传信号可行性的研究概述
普通技术 面向5G中传和回传网络承载解决方案
普通技术 数据中心布线系统可靠性探讨
普通技术 家庭互联网终端价值研究
普通技术 鎏信科技CEO刘舟:从连接层构建IoT云生态,聚焦CMP是关键
普通技术 SCEF引入需求分析及部署应用
  版权与免责声明: ① 凡本网注明“合作媒体:通信界”的所有作品,版权均属于通信界,未经本网授权不得转载、摘编或利用其它方式使用。已经本网授权使用作品的,应在授权范围内使用,并注明“来源:通信界”。违反上述声明者,本网将追究其相关法律责任。 ② 凡本网注明“合作媒体:XXX(非通信界)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。 ③ 如因作品内容、版权和其它问题需要同本网联系的,请在一月内进行。
通信视界
华为余承东:Mate30总体销量将会超过两千万部
赵随意:媒体融合需积极求变
普通对话 苗圩:建设新一代信息基础设施 加快制造业数字
普通对话 华为余承东:Mate30总体销量将会超过两千万部
普通对话 赵随意:媒体融合需积极求变
普通对话 韦乐平:5G给光纤、光模块、WDM光器件带来新机
普通对话 安筱鹏:工业互联网——通向知识分工2.0之路
普通对话 库克:苹果不是垄断者
普通对话 华为何刚:挑战越大,成就越大
普通对话 华为董事长梁华:尽管遇到外部压力,5G在商业
普通对话 网易董事局主席丁磊:中国正在引领全球消费趋
普通对话 李彦宏:无人乘用车时代即将到来 智能交通前景
普通对话 中国联通研究院院长张云勇:双轮驱动下,工业
普通对话 “段子手”杨元庆:人工智能金句频出,他能否
普通对话 高通任命克里斯蒂安诺·阿蒙为公司总裁
普通对话 保利威视谢晓昉:深耕视频技术 助力在线教育
普通对话 九州云副总裁李开:帮助客户构建自己的云平台
通信前瞻
杨元庆:中国制造高质量发展的未来是智能制造
对话亚信科技CTO欧阳晔博士:甘为桥梁,携"电
普通对话 杨元庆:中国制造高质量发展的未来是智能制造
普通对话 对话亚信科技CTO欧阳晔博士:甘为桥梁,携"电
普通对话 对话倪光南:“中国芯”突围要发挥综合优势
普通对话 黄宇红:5G给运营商带来新价值
普通对话 雷军:小米所有OLED屏幕手机均已支持息屏显示
普通对话 马云:我挑战失败心服口服,他们才是双11背后
普通对话 2018年大数据产业发展试点示范项目名单出炉 2
普通对话 陈志刚:提速又降费,中国移动的两面精彩
普通对话 专访华为终端何刚:第三代nova已成为争夺全球
普通对话 中国普天陶雄强:物联网等新经济是最大机遇
普通对话 人人车李健:今年发力金融 拓展汽车后市场
普通对话 华为万飚:三代出贵族,PC产品已走在正确道路
普通对话 共享退潮单车入冬 智享单车却走向盈利
普通对话 Achronix发布新品单元块 推动eFPGA升级
普通对话 金柚网COO邱燕:天吴系统2.0真正形成了社保管