CTI應(yīng)用程序接口分析與比較
杜 煜 王 杰
----為了使數(shù)據(jù) 與話音網(wǎng)絡(luò)協(xié)同工作,就需要用到語音應(yīng)用程序接口(API)。利用這些接口建
立應(yīng)用程序,可 以在應(yīng)用層連接不同的系統(tǒng)。API的特點(diǎn)在于它從硬件層中抽象出來,開發(fā)人
員可以不用再為 每種不同的硬件寫專用的代碼,而且可以利用系統(tǒng)獨(dú)特的能力而無須編寫功能
重復(fù)的代碼, 因此給開發(fā)人員帶來極大的方便。另外,并非只有開發(fā)人員重視API,管理者也
同樣如此。因?yàn)椋?利用適當(dāng)?shù)腁PI,可以使用升級的、性能改善后的應(yīng)用程序而無須更換硬件。
有哪一個(gè)管理者 不想保留現(xiàn)有的硬件投資呢?
---然而,語音應(yīng)用程序接口正處在逐步發(fā)展的過程中,所以并非十分完善,也尚未在CTI業(yè)界
得到廣泛的使用。但是,開發(fā)者又必須選擇一種功能強(qiáng)大而且穩(wěn)定持久的API才能保證CTI設(shè)備
應(yīng)有的功能,這的確 是個(gè)矛盾;谶@種情況,我們就需要正視一些問題,例如各種API彼此
有什么不 同?它們之間是否能夠互相兼容?目前使用哪一種API更能發(fā)揮CTI的最大優(yōu)勢 ?對
于那些正在開發(fā)CTI應(yīng)用、溝通數(shù)據(jù)與語音通信的人來說,目前回答這個(gè)問題 可能還為時(shí)過早。
不過有一點(diǎn)很清楚,那就是基于技術(shù)不能持久穩(wěn)定的API進(jìn)行產(chǎn) 品開發(fā)只能是浪費(fèi)時(shí)間,很可
能會錯(cuò)失良機(jī)。以下是我們對目前API的一些分析, 供開發(fā)者參考。
當(dāng) 前 流 行 的API
---- 計(jì)算機(jī)語音集成系統(tǒng)中有三種流行的應(yīng)用 程序接口:微軟公司的語音應(yīng)用程序接口TAPI、
Novell和AT&T的語音服務(wù)器應(yīng)用 程序接口(TSAPI)和Sun公司的Java語音應(yīng)用程序接口。
TSAPI是首先成功的API。而TAPI 出現(xiàn)的較晚,已經(jīng)經(jīng)過了兩次修正。盡管很多人抱怨這些修
正版的出現(xiàn)不夠及時(shí),但 是我們應(yīng)該看到,每一次修正都是極大的改善。盡管JTAPI的出現(xiàn)比
TAPI還要晚,但 在某些方面比TAPI更加穩(wěn)定,而且在很多CTI產(chǎn)品中已使用這種API,F(xiàn)在,
我們就來 詳細(xì)地了解這些API。
----· TAPI
----目前,TAPI已嵌入到微軟的各種操作系 統(tǒng)之中。在WindowsNT4.0和Workstation4.0中內(nèi)
嵌了對TAPI2.0版的支持。TAPI 2.1版性能又有所提高,而且糾正了很多錯(cuò)誤。該版API可以在
微軟的Web站點(diǎn)上 獲得。另外,所有運(yùn)行Windows95操作系統(tǒng)的計(jì)算機(jī)都支持TAPI1.4的應(yīng)用,
它與TAPI 2.0是完全兼容的。微軟的TAPI3.0目前仍在測試過程中,所以開發(fā)人員既可以 使用
TAPI2.0,也可以使用TAPI2.1。在WindowsNT5.0Beta中包括了TAPI3.0, 不過要得到該測試版,
你就必須是微軟開發(fā)者陣營的成員。
----TAPI目前的版本可以區(qū)分不同的媒體流( 如數(shù)據(jù)、語音和傳真)和發(fā)送到某些應(yīng)用和設(shè)
備的呼叫。例如,可將傳真來話轉(zhuǎn)到 傳真應(yīng)用或傳真機(jī)上。
---TAPI是視窗開放服務(wù)結(jié)構(gòu)(WOSA)的一部 分。與其他WOSA服務(wù)一樣,TAPI有兩種接口:第
一種是為開發(fā)人員編寫軟件的應(yīng)用 程序接口;第二種是服務(wù)提供者接口,它提供了一種連接
到某一特定設(shè)備的方法。
---- 在TAPI3.0中,服務(wù)提供者接口擴(kuò)充了 連接到IP電話的功能。也就是說,TAPI3.0從連接
層上抽象出來,因此開發(fā)應(yīng)用時(shí) 無須考慮是否連接到了公用交換電話網(wǎng)(PSTN)、ISDN網(wǎng)絡(luò)、
程控交換機(jī)或是IP網(wǎng) 絡(luò)上。
----TAPI3.0呈現(xiàn)的其他特性還包括對Unicode 的支持以及對通用串行總線(USB)和ActiveX
控件的支持。利用這些ActiveX控件, 開發(fā)者能夠利用基于組件的圖形環(huán)境,避免了大量煩瑣
的編程。特別是開發(fā)者可 以結(jié)合一些小的專用程序來創(chuàng)建大型應(yīng)用。由于很多組件是可重復(fù)
使用的(目前, 開發(fā)人員可使用微軟的1000多個(gè)可重用ActiveX控件),因此開發(fā)者的工作主
要集 中在開發(fā)那些特定的應(yīng)用程序。在這種方式下,編制程序變得越來越快而且允許 更高層
次的定制化。
----TAPI3.0也將支持ActiveX目錄集成、統(tǒng) 一呼叫控制和媒體流,而且提供了一個(gè)面向?qū)ο?/p>
的與編程語言無關(guān)的API,以及與WIN3.2 驅(qū)動模型(WDM)一致的流式結(jié)構(gòu)?傊,TAPI3.0可
以讓開發(fā)者創(chuàng)建可升級的語 音服務(wù)器應(yīng)用。
---- 然而應(yīng)當(dāng)指出的是,有很多應(yīng)用已經(jīng)是TAPI 力所不能及的,例如僅僅使用TAPI1.4和
TAPI2.0對呼叫中心的應(yīng)用還不夠。而TAPI 2.1中有很多需要完善的地方,這些最終將在
TAPI3.0中得到解決,同時(shí)給開發(fā) 人員提供了建立CTI應(yīng)用所需的所有工具。TAPI3.0對ACD
(自動呼叫分配)、代理、 群組和路由的支持使它完全能夠勝任呼叫中心應(yīng)用的創(chuàng)建。
----· TSAPI
----Novell和AT&T公司開發(fā)的TSAPI,其主 要任務(wù)是將程控交換機(jī)或中央電話系統(tǒng)與Netware
網(wǎng)絡(luò)集成在一起。TSAPI是最早 的語音應(yīng)用程序接口,而且在市場方面也獲得過一些成功,與
后期出現(xiàn)的TAPI和JTAPI 相比略顯優(yōu)勢。然而,雖然TSAPI早期比較成功,但卻因?yàn)楣静惶P(guān)
注市場策略, 加上昂貴的客戶許可證費(fèi)用使得它失去了發(fā)展的動力。Novell公司的早期合作伙
伴朗訊目前繼續(xù)對TSAPI進(jìn)行開發(fā)。
----TSAPI的安裝通常需要將Netware文件服 務(wù)器放置在電話室中或較近電話室的地方,并與
程控交換機(jī)有物理的連接。在客 戶端,市場上的一些第三方TSAPI應(yīng)用程序可以執(zhí)行一些呼叫
控制功能。當(dāng)TSAPI 應(yīng)用程序運(yùn)行在PC上時(shí),來話呼叫能夠執(zhí)行一個(gè)wav文件,通過多媒體計(jì)算
機(jī)的音 箱發(fā)出振鈴信號。
---- 用TSAPI建立的應(yīng)用在計(jì)算機(jī)和桌面之 間有一個(gè)邏輯的連接,因此TSAPI傾向于成為一個(gè)
完全呼叫控制API。通過這些連 接在任一端的TSAPI應(yīng)用就可以完成呼叫控制。另外,呼叫控制
也能委派給第三方 來完成(TSAPI提供對第三方的支持)。
---- 與TAPI不一樣的是,TSAPI支持所有主要 的操作系統(tǒng),包括Windows各種版本、OS/2和Unix。
很明顯,TSAPI這種支持多平臺 的特性吸引了越來越多的公司,因此運(yùn)行在異種環(huán)境下的應(yīng)用
是值得重視的。由 于采用客戶/服務(wù)器結(jié)構(gòu)的設(shè)計(jì),TSAPI能夠在計(jì)算機(jī)與電話之間沒有物理連
接 的情況下依然工作。也就是說,沒有必要在每臺計(jì)算機(jī)上都要有硬件連接的電話。 顯然,
這種特性能夠節(jié)省大量投資。但是由于計(jì)算機(jī)與電話之間是非物理的連接, 也使得TSAPI應(yīng)用
不能識別媒體流。例如,使用TSAPI不能自動將傳真轉(zhuǎn)接到傳真 應(yīng)用,而這種能力正是TAPI的
特點(diǎn)。
----· JTAPI
---JTAPI是Sun公司提供的Java語言應(yīng)用程 序接口。SUN與其他諸如Intel、Lucent、Nortel和
Novell一起開發(fā)了JTAPI的規(guī)范。JTAPI 本質(zhì)上是一套可重用的語音呼叫控制對象,它能在一些
基于Java的電話應(yīng)用中使 用,而這些電話應(yīng)用能夠運(yùn)行在任何帶有Java虛擬機(jī)和JTAPI電話子
系統(tǒng)的計(jì)算 機(jī)上。正是由于JTAPI基于Java的特性,使得JTAPI對象獨(dú)立于任何操作系統(tǒng)和硬
件平臺,從而支持跨平臺的應(yīng)用。JTAPI定義了一套類庫,包含一套電話功能和擴(kuò) 充功能。開
發(fā)者可使用它開發(fā)一些個(gè)人應(yīng)用,例如一套擴(kuò)充處理任務(wù),包括呼叫路 由、在多組呼叫者之間
建立電話會議等。
----JTAPI正朝著混合型電話的方向發(fā)展,結(jié) 合了傳統(tǒng)的電話服務(wù)和Web處理能力,如瀏覽、
收發(fā)電子郵件等。Sun公司與Nortel 目前正在合作使用JTAPI開發(fā)一種互連網(wǎng)絡(luò)的通信設(shè)備,
它能夠通過Internet連 接到任何一部電話、桌面計(jì)算機(jī)和網(wǎng)絡(luò)計(jì)算機(jī)。JTAPI能與其他的API,
諸如TAPI、TSAPI 等一起工作來處理語音,而且由于JTAPI的開放性,將來很可能會成為ECTF
所認(rèn)可 的標(biāo)準(zhǔn)。
分 析 比 較
----綜上所述,TAPI是目前電話應(yīng)用中較為流行 的API。如果你有一個(gè)基于NT的網(wǎng)絡(luò),而且考
慮基于服務(wù)器的電話,就可以選擇TAPI。TAPI 也適合于一些小型企業(yè),可能這些企業(yè)更希望
在計(jì)算機(jī)與電話之間建立直接的連接, 利用網(wǎng)絡(luò)和TAPI的媒體處理能力在整個(gè)網(wǎng)絡(luò)中傳送語音。
----TSAPI比較適合于運(yùn)行在各種各樣的Netware 網(wǎng)絡(luò)環(huán)境中。盡管其費(fèi)用較高,但與其他非
WindowsNT環(huán)境中實(shí)現(xiàn)的應(yīng)用相比,其 費(fèi)用還是較為廉價(jià)的?扇〈鶷SAPI的是基于客戶模式
的TAPI1.3,它需要在每臺 計(jì)算機(jī)中加入一塊語音板卡。
----JTAPI的優(yōu)越性勝過TAPI和TSAPI。JTAPI 主要集中在應(yīng)用軟件,而TAPI和TSAPI主要集中
在與計(jì)算機(jī)連接的電話網(wǎng)絡(luò)中。JTAPI 提供給開發(fā)者一種方法,用面向?qū)ο蟮木幊棠J蕉x
CTI函數(shù),而這種模式允許編 程人員建立由公共的CTI函數(shù)組構(gòu)成的對象庫。例如,IBM引入
了JavaBeans,開發(fā) 者可使用這種可重用的軟件對象創(chuàng)建呼叫中心應(yīng)用,其中包括傳輸對象、
應(yīng)答對 象和電話會議對象,并且將數(shù)據(jù)與主叫用戶聯(lián)系在一起。微軟的TAPI目前缺乏這 些
能力。
---- 很多開發(fā)人員目前正在考慮另外一種API, 那就是S.100規(guī)范。S.100規(guī)范由ECTF開發(fā),
目前主要是提供一種方式,滿足TAPI中 所不具備的開發(fā)需要。然而,自從S.100定義以來,
TAPI發(fā)生了很大的變化,而且 將來TAPI功能也會變得越來越強(qiáng)大。TAPI3.0不但提供了S.100
中所有的功能,而 且還有S.100所缺乏的一些增強(qiáng)特性。
摘自《中國計(jì)算機(jī)報(bào)》