微軟的TAPI3.0共有四個組件:
TAPI3.0 COM API、TAPI Server、Telephony Service Providers、Media Stream Providers
與TAPI 2.1相比,微軟的TAPI3.0是按COM對象方式來實現(xiàn)的。從TAPI轉向COM組件模式使得組件能夠升級TAPI的特性,并允許開發(fā)者能夠以任何一種語言來編寫TAPI應用程序。
TAPI Server從微軟的TAPI3.0和TAPI2.1中抽象出來TSPI(Telephony Service Providers Interface),從而使得TAPI2.1 Telephony Service Providers能夠與TAPI 3.0一起使用,保持TAPI的內部狀態(tài)。
Telephony Service Providers(TSPs)負責獨立于低層協(xié)議的呼叫模型并解釋為特定協(xié)議的呼叫控制機制。TAPI3.0對TAPI 2.1 TSPs提供可靠的后向兼容性,兩個IP TSPs缺省地與微軟的TAPI3.0相匹配:一個是H.323 TSPs,另一個是IP廣播會議的TSP。
微軟的TAPI3.0為訪問在一個呼叫中的媒體層提供了一個統(tǒng)一的方式。TAPI Media Stream Providers(MSPs)為指定的TSP提供DirectShow的接口。
微軟的TAPI3.0中有五個呼叫控制模型:
TAPI、Address、Call、CallHub、Terminal
TAPI對象是應用程序訪問TAPI3.0接入點。該對象代表了本地計算機訪問的所有計算機資源,允許一個應用程序解析所有的本地和遠程地址。
Address對象表示一個呼叫的源地址或目標地址。媒體層和中斷所支持的地址的容量可以從這個對象中獲取。一個應用程序可以在一個地址等待呼叫,同樣也可以向一個目標地址呼出。
Call對象代表一個本地地址和一個或多個的其他地址的連接。Call對象可以想象成電話的主控模式。所有的呼叫控制都要通過Call對象。在CallHub中的每一個成員就是一個Call對象。
CallHub對象代表了一系列相關呼叫的集合。CallHub對象不能直接由應用程序創(chuàng)建。它是當有呼叫通過TAPI3.0接入時間接建立的。通過CallHub對象用戶可以解析出在一個呼叫或會議中的其他參與者,可以對其他相關的遠程Call對象進行呼叫控制。
三、如何使用TAPI對象
用TAPI能夠比較方便地執(zhí)行一個呼叫和作一個呼叫應答,它對電話的操作方便快捷,給編程者帶來了很大的方便。下面是執(zhí)行一個呼叫和呼叫應答的大體過程。
執(zhí)行一個呼叫
1. 創(chuàng)建和初始化一個TAPI對象
2. 用TAPI對象解析在一個計算機上的可用地址
3. 解析每一個地址對象所支持的地址類型
4. 選擇一個地址對象
5. 用Address對象中的CreateCall方法創(chuàng)建一個Call對象
6. 選擇Call對象的適當終端
7. 用Call對象的Connect方法執(zhí)行一次呼叫
呼叫應答
1. 創(chuàng)建和初始化一個TAPI對象
2. 用TAPI對象解析在一個計算機上的可用地址
3. 解析每一個地址對象所支持的地址類型
4. 選擇一個地址對象
5. 根據(jù)不同的媒體類型用適當?shù)腁ddress對象來登記
6. 用一個Address對象登記呼叫事件句柄
7. TAPI通過ITCallNotification通知一個呼叫,并創(chuàng)建一個Call對象
8. 選擇Call對象的適當終端
9. 用Call對象的Connect方法執(zhí)行呼叫
10. 用Call對象的Answer方法執(zhí)行應答
將TAPI 3.0應用到呼叫中心的開發(fā)中將會為改變傳統(tǒng)呼叫中心的結構起到一個非常大的促進作用,不僅給開發(fā)人員帶來極大的方便,同時降低了成本,也為呼叫中心運營商的管理和維護帶來極大的方便。
四、結束語
隨著Windows 2000的發(fā)布日益臨近,整個CTI產業(yè)將會為TAPI 3.0的時代到來而作好準備,基于TAPI 3.0所開發(fā)的Call Center將以其優(yōu)異的性能價格比和幾乎無限的擴展空間,得到越來越多用戶的青睞。