CTI應用的多元開發(fā)模式
2003/12/04
概要:電信業(yè)的趨勢是網(wǎng)絡和運營的分離,包括電話會議、呼叫中心在內(nèi)的各種增值應用將是未來的業(yè)務亮點。本文將對各種CTI應用軟件開發(fā)的接口標準和協(xié)議進行一下簡單的介紹。
關(guān)鍵詞:VoiceXML、Parlay、TAPI、JTAPI、S.110、JAIN、CORBA、Web Service、SOAP
1. 概述
計算機與電話的集成對傳統(tǒng)的電信行業(yè)、計算機行業(yè)和互聯(lián)網(wǎng)都帶來了一次新的革命,使得運營商可以發(fā)展更多、更好的應用模式,提高自身的競爭力。采用CTI技術(shù),使得網(wǎng)絡運營商有可能將業(yè)務的開發(fā)和運營交給第三方廠商,以降低自身的風險,同時也給用戶提供更豐富的應用。
CTI關(guān)鍵的技術(shù)點就是業(yè)務與交換的分離,也就是說交換機廠商開放業(yè)務開發(fā)的接口,由SP在此之上開發(fā)各種各樣的業(yè)務。因此,屏蔽不同硬件平臺和軟件平臺的差異將是其中的重點。下面,我們重點介紹一下業(yè)界比較常用的一些軟件接口,并對他們的特點做一下簡單的比較。
2. 互聯(lián)網(wǎng)與電信行業(yè)的融合-VoiceXML
VoiceXML是一種基于XML的語言標準,主要是讓用戶可以通過語音或者電話來訪問互聯(lián)網(wǎng)的內(nèi)容。該語言由VoiceXML論壇提出,它的成員包括IBM、朗訊、AT&T、摩托羅拉等眾多公司。目前,該標準的1.0版本已經(jīng)發(fā)布,2.0草案正在提交W3C進行審批。
VoiceXML提供了一種創(chuàng)建音頻界面的手段,它綜合了話音、數(shù)字音頻、語言識別、DTMF輸入等各種技術(shù),目的是將互聯(lián)網(wǎng)豐富的內(nèi)容帶到語音交互的應用中去,同時使軟件開發(fā)人員從底層編程和資源管理中釋放出來。
VocieXML整體結(jié)構(gòu)模型如下:

文檔服務器(Document Server)主要是響應客戶應用程序的請求,相當于一個Web服務器,它返回VoiceXML文檔給VoiceXML環(huán)境,并交由VoiceXML解釋器進行解析,處理。VoiceXML解釋環(huán)境(VoiceXML
Interpreter Context)相當于一個瀏覽器,它內(nèi)置了VoiceXML解釋器。
實現(xiàn)平臺(Implementation Platfrom)受控于VoiceXML解釋環(huán)境和解釋器。舉例來說,在一個交互式語音應用程序中,VoiceXML解釋環(huán)境負責監(jiān)測新的呼叫,獲取初始化頁面,同時給呼叫方應答,而VoiceXML解釋器則在應答后創(chuàng)建對話界面。實現(xiàn)平臺則針對用戶的操作(如按鍵、掛機)產(chǎn)生不同的用戶事件,以及一些系統(tǒng)事件(如超時)。這些事件有些是給VoiceXML解釋環(huán)境,有些是給VoiceXML解釋器的。
VoiceXML的優(yōu)勢在于,它使軟件人員不需要考慮不同廠商、不同設備之間的差異,他們可以在不知道實現(xiàn)平臺的細節(jié)的情況下就可以開發(fā)出優(yōu)秀的業(yè)務軟件;提升了業(yè)務在交叉平臺中的可移植性,VoiceXML是一種給內(nèi)容提供商、工具提供商和平臺提供商的通用標準。
由于VoiceXMl采用了XML語言來描述語音應用,所以簡化了開發(fā)人員學習的難度,使互聯(lián)網(wǎng)服務提供商可以很方便的將互聯(lián)網(wǎng)應用和電信應用結(jié)合起來。不過,VoiceXML的重點是"內(nèi)容",所以它不適和用來描述一些業(yè)務流程。
3. 面向下一代網(wǎng)絡(NGN)的開放式業(yè)務接口(OSA)-Parlay
Parlay是一個由軟件廠商(如微軟、IBM)、設備制造商(如西門子、北電、愛立信)共同指定的API規(guī)范。由于Parlay鑒于PaylayAPI的廣泛應用和它在業(yè)界的重大影響,許多著名的標準化組織和業(yè)界組織相繼宣布在自己制定的標準或規(guī)范中已經(jīng)采用了或者即將采用Parlay
API規(guī)范。這些組織主要包括ITU-T、ETSI、IEEE、IETF、3GPP、OMG、TINA-C、Softswitch論壇、JAIN等。目前,Parlay工作組、ETSI和3GPP已經(jīng)聯(lián)合起來,共同發(fā)展Parlay協(xié)議。
Parlay的網(wǎng)絡結(jié)構(gòu)模型如下:

Parlay網(wǎng)關(guān)即Parlay服務器,它為Parlay客戶提供各種基本業(yè)務能力的支持,使Parlay客戶的業(yè)務能夠有控制的、安全的進入到各通信網(wǎng)內(nèi)。這些Parlay客戶包括:內(nèi)容提供商、應用服務提供商、其他網(wǎng)絡運營商等。
Parlay采用UML來對功能和接口進行描述,具有很好的可讀性,并且很方便的轉(zhuǎn)換為其他語言的接口,Parlay已經(jīng)將WSDL和CORBA IDL作為兩個基本承載語言。因此,Parlay客戶端和Parlay服務端的通信可以采用IIOP/CORBA、SOAP/WebService等協(xié)議;Parlay
API到底層網(wǎng)絡之間的映射可以采用內(nèi)部通信協(xié)議(如JAIN、INAP、SIP等)。
同時,Parlay也是公認的下一代網(wǎng)絡的應用開發(fā)標準。
4. 通用開發(fā)平臺(SUN ONE)的最佳選擇-JAIN
JAIN(Java API for Advanced Intelligent Network)意思是針對高級智能網(wǎng)的JavaAPI,它是一套基于Java平臺的應用程序接口。它針對下一代電信產(chǎn)品和業(yè)務提供了一種快速的解決方案,JAIN
APIs提供了一種安全便捷的訪問電信網(wǎng)和數(shù)據(jù)網(wǎng)的功能。

JAIN集成了有線(如PSTN)、無線(GSM、CDMA)和包交換(IP、ATM)網(wǎng)絡,如上圖所示。
Java倡導的是"一次編寫,到處運行",JAIN API將Java的這一特點帶到了電信業(yè)務的開發(fā)應用中來,大大減輕了開發(fā)的工作量。
5. VOIP與PSTN的結(jié)合-TAPI、JTAPI
TAPI是Telephony Application Programming Interface的縮寫。它是微軟推出的產(chǎn)品,其1.0版本最初在1993年發(fā)布,提供一組用于編程的API函數(shù),支持Windows平臺上的CTI應用。它的優(yōu)點是能在基于Windows的應用系統(tǒng)和電話系統(tǒng)之間建立連接。例如:可以連接一臺PC機和一路電話進行通話,從而把PC機變成了一部"電話"。

(看詳細大圖請點擊下載WORD文件)
最新的TAPI 3.0基于微軟的COM標準,它允許TAPI應用程序采用包括JAVA?、Visual Basic?、Visual C++?在內(nèi)的各種語言進行編寫,同時還可以方便的通過ActiveX技術(shù)將其移植到互聯(lián)網(wǎng)中去。TAPI除了支持傳統(tǒng)的電話應用,還支持標準的H.323會議和IP多點會議,良好的QoS支持使得它增強了會議的質(zhì)量和網(wǎng)絡的可管理性。TAPI采用了統(tǒng)一的媒體流接口-DirectShowTM,TAPI媒體流提供商(MSP)只要針對不同的電話提供商(TSP)來實現(xiàn)DirectShowTM接口就可以被應用程序使用。
JTAPI實際上是TAPI到Java的移植。
6. 靈活的底層應用接口-S.100
S.110是ECTF組織提出的一個開發(fā)CTI應用的API集。它采用C/S模式,客戶端通過一套標準的服務集去分配、操縱、配置硬件資源。他對呼叫硬件進行了一種比較底層的抽象,使得應用程序具有一定的移植性。
下圖顯示了S.100應用程序和服務器的交互關(guān)系:

會話(Session)是服務器和客戶機之間的一個關(guān)聯(lián),它在客戶端的應用程序適配器(AIA)中有一個端點,客戶程序通過該端點與服務器交互。
會話事件隊列(Session Event Queue)是服務器給客戶發(fā)送的消息,等待客戶進行處理。
S.110 API的API采用C語言進行描述,在面向?qū)ο蠹夹g(shù)大量采用的今日,S.110在開發(fā)語言和架構(gòu)上上明顯弱于其他對手。
7. 專用開發(fā)平臺-MPS2000、TSAPI
上述幾種規(guī)范要么是由幾家廠商發(fā)起,提交給一些標準化組織進行審批通過的標準;或者是由一些軟件平臺廠商提出(如TAPI、JAIN),由于他們的平臺的通用性,這些標準也被廣泛采用。下面介紹幾個不太常用,但是具有很大參考價值的廠商自定義的標準:
TSAPI是Telephony Service Application Programming Interface的縮寫。它是由NOVELL和AT&T共同創(chuàng)造的。正因為有AT&T的參與,TSAPI可以與現(xiàn)有的電話交換機很好地兼容。它是從NetWare中文件服務器的角度,來提供PBX與CTI服務器間的連接,借助了計算機領域的客戶機-服務器結(jié)構(gòu)。
MPS2000 Service API是由杭州邁可行通信技術(shù)有限公司開發(fā)的一套基于下一代網(wǎng)絡(NGN)設計思想的業(yè)務交換平臺。它采用了業(yè)務驅(qū)動的設計模式,將交換和業(yè)務分離。MPS2000業(yè)務交換平臺采用了CORBA分布式架構(gòu),采用IDL對業(yè)務接口進行描述,已成功的在不同軟件平臺上開發(fā)出了多種業(yè)務(如會議、調(diào)度等),具有很大的商業(yè)應用價值。
MPS2000的軟件架構(gòu)如圖所示:

MPS2000業(yè)務控制接口包括呼叫控制接口、自動語言(IVR)接口、多方通話接口、回音消除接口等。MPS2000業(yè)務交換平臺支持多種信令協(xié)議,如No.7、No.1、Q.931、以及H.323等,呼叫控制接口屏蔽了底層信令協(xié)議的差異,提供了統(tǒng)一的呼叫控制接口;自動語音接口則提供了語音資源的訪問接口,多方通話接口提供了會議控制功能,回音消除主要對多方通話中的回音進行抵消、抑止。
8. 各種CTI開發(fā)接口的比較
上述幾種電信業(yè)務的開發(fā)接口實際應用場合可能并不相同,都有各自的優(yōu)點和缺點,而且,互相之間也可以結(jié)合起來。軟件開發(fā)商和電話提供商可以根據(jù)自身的特點(如技術(shù)積累、開發(fā)周期等因素)和需要來遵從不同的標準。
下面是對各種標準進行一個簡單的比較:
|
Voice
XML
|
Parlay |
JAIN、JTAPI |
TAPI |
S.100 |
MPS2000等專用API |
硬件平臺獨立性 |
是 |
是 |
是 |
是 |
是 |
否 |
軟件平臺 |
ALL |
ALL |
JAVA |
Win32 |
ALL |
ALL |
多語言支持 |
否 |
是 |
否 |
是 |
否 |
是 |
業(yè)務描述能力 |
差 |
強 |
強 |
中 |
強 |
強 |
接口描述 |
DTD |
UML |
JAVA |
MIDL |
C |
IDL |
應用協(xié)議 |
HTTP |
IIOP、SOAP |
RMI |
RPC |
TCP/IP |
IIOP |
杭州邁可行供稿 CTI論壇編輯
相關(guān)鏈接: