CTI应用的多元开发模式
2003/12/04
概要:电信业的趋势是网络和运营的分离,包括电话会议、呼叫中心在内的各种增值应用将是未来的业务亮点。本文将对各种CTI应用软件开发的接口标准和协议进行一下简单的介绍。
关键词:VoiceXML、Parlay、TAPI、JTAPI、S.110、JAIN、CORBA、Web Service、SOAP
1. 概述
计算机与电话的集成对传统的电信行业、计算机行业和互联网都带来了一次新的革命,使得运营商可以发展更多、更好的应用模式,提高自身的竞争力。采用CTI技术,使得网络运营商有可能将业务的开发和运营交给第三方厂商,以降低自身的风险,同时也给用户提供更丰富的应用。
CTI关键的技术点就是业务与交换的分离,也就是说交换机厂商开放业务开发的接口,由SP在此之上开发各种各样的业务。因此,屏蔽不同硬件平台和软件平台的差异将是其中的重点。下面,我们重点介绍一下业界比较常用的一些软件接口,并对他们的特点做一下简单的比较。
2. 互联网与电信行业的融合-VoiceXML
VoiceXML是一种基于XML的语言标准,主要是让用户可以通过语音或者电话来访问互联网的内容。该语言由VoiceXML论坛提出,它的成员包括IBM、朗讯、AT&T、摩托罗拉等众多公司。目前,该标准的1.0版本已经发布,2.0草案正在提交W3C进行审批。
VoiceXML提供了一种创建音频界面的手段,它综合了话音、数字音频、语言识别、DTMF输入等各种技术,目的是将互联网丰富的内容带到语音交互的应用中去,同时使软件开发人员从底层编程和资源管理中释放出来。
VocieXML整体结构模型如下:

文档服务器(Document Server)主要是响应客户应用程序的请求,相当于一个Web服务器,它返回VoiceXML文档给VoiceXML环境,并交由VoiceXML解释器进行解析,处理。VoiceXML解释环境(VoiceXML
Interpreter Context)相当于一个浏览器,它内置了VoiceXML解释器。
实现平台(Implementation Platfrom)受控于VoiceXML解释环境和解释器。举例来说,在一个交互式语音应用程序中,VoiceXML解释环境负责监测新的呼叫,获取初始化页面,同时给呼叫方应答,而VoiceXML解释器则在应答后创建对话界面。实现平台则针对用户的操作(如按键、挂机)产生不同的用户事件,以及一些系统事件(如超时)。这些事件有些是给VoiceXML解释环境,有些是给VoiceXML解释器的。
VoiceXML的优势在于,它使软件人员不需要考虑不同厂商、不同设备之间的差异,他们可以在不知道实现平台的细节的情况下就可以开发出优秀的业务软件;提升了业务在交叉平台中的可移植性,VoiceXML是一种给内容提供商、工具提供商和平台提供商的通用标准。
由于VoiceXMl采用了XML语言来描述语音应用,所以简化了开发人员学习的难度,使互联网服务提供商可以很方便的将互联网应用和电信应用结合起来。不过,VoiceXML的重点是"内容",所以它不适和用来描述一些业务流程。
3. 面向下一代网络(NGN)的开放式业务接口(OSA)-Parlay
Parlay是一个由软件厂商(如微软、IBM)、设备制造商(如西门子、北电、爱立信)共同指定的API规范。由于Parlay鉴于PaylayAPI的广泛应用和它在业界的重大影响,许多著名的标准化组织和业界组织相继宣布在自己制定的标准或规范中已经采用了或者即将采用Parlay
API规范。这些组织主要包括ITU-T、ETSI、IEEE、IETF、3GPP、OMG、TINA-C、Softswitch论坛、JAIN等。目前,Parlay工作组、ETSI和3GPP已经联合起来,共同发展Parlay协议。
Parlay的网络结构模型如下:

Parlay网关即Parlay服务器,它为Parlay客户提供各种基本业务能力的支持,使Parlay客户的业务能够有控制的、安全的进入到各通信网内。这些Parlay客户包括:内容提供商、应用服务提供商、其他网络运营商等。
Parlay采用UML来对功能和接口进行描述,具有很好的可读性,并且很方便的转换为其他语言的接口,Parlay已经将WSDL和CORBA IDL作为两个基本承载语言。因此,Parlay客户端和Parlay服务端的通信可以采用IIOP/CORBA、SOAP/WebService等协议;Parlay
API到底层网络之间的映射可以采用内部通信协议(如JAIN、INAP、SIP等)。
同时,Parlay也是公认的下一代网络的应用开发标准。
4. 通用开发平台(SUN ONE)的最佳选择-JAIN
JAIN(Java API for Advanced Intelligent Network)意思是针对高级智能网的JavaAPI,它是一套基于Java平台的应用程序接口。它针对下一代电信产品和业务提供了一种快速的解决方案,JAIN
APIs提供了一种安全便捷的访问电信网和数据网的功能。

JAIN集成了有线(如PSTN)、无线(GSM、CDMA)和包交换(IP、ATM)网络,如上图所示。
Java倡导的是"一次编写,到处运行",JAIN API将Java的这一特点带到了电信业务的开发应用中来,大大减轻了开发的工作量。
5. VOIP与PSTN的结合-TAPI、JTAPI
TAPI是Telephony Application Programming Interface的缩写。它是微软推出的产品,其1.0版本最初在1993年发布,提供一组用于编程的API函数,支持Windows平台上的CTI应用。它的优点是能在基于Windows的应用系统和电话系统之间建立连接。例如:可以连接一台PC机和一路电话进行通话,从而把PC机变成了一部"电话"。

(看详细大图请点击下载WORD文件)
最新的TAPI 3.0基于微软的COM标准,它允许TAPI应用程序采用包括JAVA?、Visual Basic?、Visual C++?在内的各种语言进行编写,同时还可以方便的通过ActiveX技术将其移植到互联网中去。TAPI除了支持传统的电话应用,还支持标准的H.323会议和IP多点会议,良好的QoS支持使得它增强了会议的质量和网络的可管理性。TAPI采用了统一的媒体流接口-DirectShowTM,TAPI媒体流提供商(MSP)只要针对不同的电话提供商(TSP)来实现DirectShowTM接口就可以被应用程序使用。
JTAPI实际上是TAPI到Java的移植。
6. 灵活的底层应用接口-S.100
S.110是ECTF组织提出的一个开发CTI应用的API集。它采用C/S模式,客户端通过一套标准的服务集去分配、操纵、配置硬件资源。他对呼叫硬件进行了一种比较底层的抽象,使得应用程序具有一定的移植性。
下图显示了S.100应用程序和服务器的交互关系:

会话(Session)是服务器和客户机之间的一个关联,它在客户端的应用程序适配器(AIA)中有一个端点,客户程序通过该端点与服务器交互。
会话事件队列(Session Event Queue)是服务器给客户发送的消息,等待客户进行处理。
S.110 API的API采用C语言进行描述,在面向对象技术大量采用的今日,S.110在开发语言和架构上上明显弱于其他对手。
7. 专用开发平台-MPS2000、TSAPI
上述几种规范要么是由几家厂商发起,提交给一些标准化组织进行审批通过的标准;或者是由一些软件平台厂商提出(如TAPI、JAIN),由于他们的平台的通用性,这些标准也被广泛采用。下面介绍几个不太常用,但是具有很大参考价值的厂商自定义的标准:
TSAPI是Telephony Service Application Programming Interface的缩写。它是由NOVELL和AT&T共同创造的。正因为有AT&T的参与,TSAPI可以与现有的电话交换机很好地兼容。它是从NetWare中文件服务器的角度,来提供PBX与CTI服务器间的连接,借助了计算机领域的客户机-服务器结构。
MPS2000 Service API是由杭州迈可行通信技术有限公司开发的一套基于下一代网络(NGN)设计思想的业务交换平台。它采用了业务驱动的设计模式,将交换和业务分离。MPS2000业务交换平台采用了CORBA分布式架构,采用IDL对业务接口进行描述,已成功的在不同软件平台上开发出了多种业务(如会议、调度等),具有很大的商业应用价值。
MPS2000的软件架构如图所示:

MPS2000业务控制接口包括呼叫控制接口、自动语言(IVR)接口、多方通话接口、回音消除接口等。MPS2000业务交换平台支持多种信令协议,如No.7、No.1、Q.931、以及H.323等,呼叫控制接口屏蔽了底层信令协议的差异,提供了统一的呼叫控制接口;自动语音接口则提供了语音资源的访问接口,多方通话接口提供了会议控制功能,回音消除主要对多方通话中的回音进行抵消、抑止。
8. 各种CTI开发接口的比较
上述几种电信业务的开发接口实际应用场合可能并不相同,都有各自的优点和缺点,而且,互相之间也可以结合起来。软件开发商和电话提供商可以根据自身的特点(如技术积累、开发周期等因素)和需要来遵从不同的标准。
下面是对各种标准进行一个简单的比较:
|
Voice
XML
|
Parlay |
JAIN、JTAPI |
TAPI |
S.100 |
MPS2000等专用API |
硬件平台独立性 |
是 |
是 |
是 |
是 |
是 |
否 |
软件平台 |
ALL |
ALL |
JAVA |
Win32 |
ALL |
ALL |
多语言支持 |
否 |
是 |
否 |
是 |
否 |
是 |
业务描述能力 |
差 |
强 |
强 |
中 |
强 |
强 |
接口描述 |
DTD |
UML |
JAVA |
MIDL |
C |
IDL |
应用协议 |
HTTP |
IIOP、SOAP |
RMI |
RPC |
TCP/IP |
IIOP |
杭州迈可行供稿 CTI论坛编辑
相关链接: