TAPI軟電話通信系統的模塊化設計
首先分析了TAPI協議的結構、通信編程原理和編程應用環(huán)境,重點介紹了TAPI協議的層次化模型結構及其模塊化設計方法,該方法可以對進一步研究和開發(fā)TAPI軟電話應用產品提供借鑒。
本文引用地址:http://www.104case.com/article/272752.htm1引言
TAPI:“電話應用程序接口”的簡稱( Te lephonyApplication Programm ing Interface )。它是微軟與INTEL共同開發(fā)的用于直接控制電話通信系統的函數集,是微軟計算機電話集成( CTI)計劃的核心,是微軟的w indow s開放式服務體系(WOSA )的一部分。它將電話、電話網和計算機的功能進一步集成起來,現在的計算機技術不僅可以處理語音通信等低級應用,還能處理視頻等高級應用。
計算機技術使得電話有軟件化趨向,其優(yōu)勢是使電話可以變得靈活,方便地按具體要求實現電話的基本功能以及附加功能。軟電話需要和通信硬件設備交互,目前主要有兩種實現方法:一是利用電腦板卡和設備公司提供的DLL來實現,但功能有一定的局限性;二是利用協議公開的標準編程接口,但難度大,參數復雜不易實現。本設計利用標準編程接口TAPI,為了便于系統的集成和開發(fā),重點介紹以統一短消息的形式實現應用系統和通信設備之間交互的TAPI模塊化設計方法。該模塊化組件與系統集成度高,可以方便的實現各種電話與控制功能。
2 TAPI作用及結構分析
2. 1 TAPI在軟電話系統中的作用
由于TAPI應用是電訊應用,需要連接PC電腦和通訊硬件設備,TAPI運行在PC機上并監(jiān)控通訊硬件設備,所以首要任務是建立硬件環(huán)境。對于VOIP應用通信系統來說,軟交換服務器是IP電話網的控制核心,同時落地接入PSTN (公共電話網),PC機與軟交換服務器處于同一網段,TAPI與硬件交互也將通過網絡使用TCP/ IP協議連接。本設計的開發(fā)平臺是基于如下軟交換系統,系統如圖1所示。

圖1軟交換系統
與新硬件被安裝到PC機上相似,需要在PC機上安裝驅動程序,但這個驅動并不是軟交換服務器的驅動,而是這個軟交換服務器上TAPI的驅動,這個驅動通常被稱為“TAPI客戶端”,目的是使PC機上的TAPIDLL能“找到”該軟交換機的TAPI,并能與之通訊。
2. 2 TAPI的結構分析
TAPI實際上是由TAPI、TSPI( Telephony Serv iceProv ider In terface)電話服務提供者接口和MSPI(M edia Serv ice Prov ider Interface)媒體服務提供接口三個部分組成的。TAPI是一個為程序員提供的工具包,它和MSPI一起使微軟視窗環(huán)境下的用戶能夠開發(fā)電話應用程序。TSPI也是一個為程序員提供的工具包,使他們能夠進行后端服務的開發(fā),以操縱來自符合TAPI規(guī)范的應用請求,也就是說,它提供了一種連接到某一特定設備的方法。服務守護程序( TAPI Server)就是基于TSPI接口設計的,它直接驅動通信設備并通過與TAPI動態(tài)連接庫進行交互為應用程序提供電話服務,其總體結構示意圖如圖2所示。

圖2 TAPI總體結構示意圖
3 TAPI的模塊化設計
本設計主要以C++類的設計思想,在MFC (微軟基礎類)的框架下實現對TAPI的封裝。由于TAPI的函數調用非常復雜,參數個數和形式多種多樣,為了便于系統集成和應用程序的開發(fā),設計了3個控制類: TAPI應用控制類Tap iApp lication、TAPI線路控制類Tap iLine、TAPI通話控制類Tap iChannel.Tap iApplication是對整個TAPI的監(jiān)控,是應用程序和通信設備的交互站; TapiL ine是對TAPI線路的管理,它根據應用指令操作線路通話; Tap iChannel是對具體一路通話的管理,它根據線路指令操作對應的通信設備并實時報告設備狀態(tài),這3個類的調用關系如圖3所示。

圖3 TAPI調用結構
首先需要TAPI的定義文件。由于TAPI與W indow s集成,定義文件在安裝好W indow s操作系統后就可以被找到。以C語言方式提供的TAPI. H和TAPI32. dll文件,包含了所有TAPI結構和功能的定義。如果使用C、VC或VB開發(fā)應用,只要在相關的開發(fā)環(huán)境中設置,將文件引入所要開發(fā)的應用項目即可;如果使用De lph i開發(fā),需要將TAPI. H轉化為Delphi中的頭文件,再將這個pas文件引入即可;如果使用Java開發(fā),需要TAPI的c lass文件。
該設計以VC的MFC為例對TAPI的功能進行模塊化實現,開發(fā)過程不需要通訊硬件的支持,調試和運行需要與通訊硬件交互,且該組件能很好的向上向下兼容。
c++相關文章:c++教程
數字通信相關文章:數字通信原理
通信相關文章:通信原理
交換機相關文章:交換機工作原理
評論