TAPI軟電話通信系統(tǒng)的模塊化設(shè)計(jì)
首先分析了TAPI協(xié)議的結(jié)構(gòu)、通信編程原理和編程應(yīng)用環(huán)境,重點(diǎn)介紹了TAPI協(xié)議的層次化模型結(jié)構(gòu)及其模塊化設(shè)計(jì)方法,該方法可以對(duì)進(jìn)一步研究和開發(fā)TAPI軟電話應(yīng)用產(chǎn)品提供借鑒。
本文引用地址:http://m.butianyuan.cn/article/272752.htm1引言
TAPI:“電話應(yīng)用程序接口”的簡(jiǎn)稱( Te lephonyApplication Programm ing Interface )。它是微軟與INTEL共同開發(fā)的用于直接控制電話通信系統(tǒng)的函數(shù)集,是微軟計(jì)算機(jī)電話集成( CTI)計(jì)劃的核心,是微軟的w indow s開放式服務(wù)體系(WOSA )的一部分。它將電話、電話網(wǎng)和計(jì)算機(jī)的功能進(jìn)一步集成起來,現(xiàn)在的計(jì)算機(jī)技術(shù)不僅可以處理語音通信等低級(jí)應(yīng)用,還能處理視頻等高級(jí)應(yīng)用。
計(jì)算機(jī)技術(shù)使得電話有軟件化趨向,其優(yōu)勢(shì)是使電話可以變得靈活,方便地按具體要求實(shí)現(xiàn)電話的基本功能以及附加功能。軟電話需要和通信硬件設(shè)備交互,目前主要有兩種實(shí)現(xiàn)方法:一是利用電腦板卡和設(shè)備公司提供的DLL來實(shí)現(xiàn),但功能有一定的局限性;二是利用協(xié)議公開的標(biāo)準(zhǔn)編程接口,但難度大,參數(shù)復(fù)雜不易實(shí)現(xiàn)。本設(shè)計(jì)利用標(biāo)準(zhǔn)編程接口TAPI,為了便于系統(tǒng)的集成和開發(fā),重點(diǎn)介紹以統(tǒng)一短消息的形式實(shí)現(xiàn)應(yīng)用系統(tǒng)和通信設(shè)備之間交互的TAPI模塊化設(shè)計(jì)方法。該模塊化組件與系統(tǒng)集成度高,可以方便的實(shí)現(xiàn)各種電話與控制功能。
2 TAPI作用及結(jié)構(gòu)分析
2. 1 TAPI在軟電話系統(tǒng)中的作用
由于TAPI應(yīng)用是電訊應(yīng)用,需要連接PC電腦和通訊硬件設(shè)備,TAPI運(yùn)行在PC機(jī)上并監(jiān)控通訊硬件設(shè)備,所以首要任務(wù)是建立硬件環(huán)境。對(duì)于VOIP應(yīng)用通信系統(tǒng)來說,軟交換服務(wù)器是IP電話網(wǎng)的控制核心,同時(shí)落地接入PSTN (公共電話網(wǎng)),PC機(jī)與軟交換服務(wù)器處于同一網(wǎng)段,TAPI與硬件交互也將通過網(wǎng)絡(luò)使用TCP/ IP協(xié)議連接。本設(shè)計(jì)的開發(fā)平臺(tái)是基于如下軟交換系統(tǒng),系統(tǒng)如圖1所示。
圖1軟交換系統(tǒng)
與新硬件被安裝到PC機(jī)上相似,需要在PC機(jī)上安裝驅(qū)動(dòng)程序,但這個(gè)驅(qū)動(dòng)并不是軟交換服務(wù)器的驅(qū)動(dòng),而是這個(gè)軟交換服務(wù)器上TAPI的驅(qū)動(dòng),這個(gè)驅(qū)動(dòng)通常被稱為“TAPI客戶端”,目的是使PC機(jī)上的TAPIDLL能“找到”該軟交換機(jī)的TAPI,并能與之通訊。
2. 2 TAPI的結(jié)構(gòu)分析
TAPI實(shí)際上是由TAPI、TSPI( Telephony Serv iceProv ider In terface)電話服務(wù)提供者接口和MSPI(M edia Serv ice Prov ider Interface)媒體服務(wù)提供接口三個(gè)部分組成的。TAPI是一個(gè)為程序員提供的工具包,它和MSPI一起使微軟視窗環(huán)境下的用戶能夠開發(fā)電話應(yīng)用程序。TSPI也是一個(gè)為程序員提供的工具包,使他們能夠進(jìn)行后端服務(wù)的開發(fā),以操縱來自符合TAPI規(guī)范的應(yīng)用請(qǐng)求,也就是說,它提供了一種連接到某一特定設(shè)備的方法。服務(wù)守護(hù)程序( TAPI Server)就是基于TSPI接口設(shè)計(jì)的,它直接驅(qū)動(dòng)通信設(shè)備并通過與TAPI動(dòng)態(tài)連接庫(kù)進(jìn)行交互為應(yīng)用程序提供電話服務(wù),其總體結(jié)構(gòu)示意圖如圖2所示。
圖2 TAPI總體結(jié)構(gòu)示意圖
3 TAPI的模塊化設(shè)計(jì)
本設(shè)計(jì)主要以C++類的設(shè)計(jì)思想,在MFC (微軟基礎(chǔ)類)的框架下實(shí)現(xiàn)對(duì)TAPI的封裝。由于TAPI的函數(shù)調(diào)用非常復(fù)雜,參數(shù)個(gè)數(shù)和形式多種多樣,為了便于系統(tǒng)集成和應(yīng)用程序的開發(fā),設(shè)計(jì)了3個(gè)控制類: TAPI應(yīng)用控制類Tap iApp lication、TAPI線路控制類Tap iLine、TAPI通話控制類Tap iChannel.Tap iApplication是對(duì)整個(gè)TAPI的監(jiān)控,是應(yīng)用程序和通信設(shè)備的交互站; TapiL ine是對(duì)TAPI線路的管理,它根據(jù)應(yīng)用指令操作線路通話; Tap iChannel是對(duì)具體一路通話的管理,它根據(jù)線路指令操作對(duì)應(yīng)的通信設(shè)備并實(shí)時(shí)報(bào)告設(shè)備狀態(tài),這3個(gè)類的調(diào)用關(guān)系如圖3所示。
圖3 TAPI調(diào)用結(jié)構(gòu)
首先需要TAPI的定義文件。由于TAPI與W indow s集成,定義文件在安裝好W indow s操作系統(tǒng)后就可以被找到。以C語言方式提供的TAPI. H和TAPI32. dll文件,包含了所有TAPI結(jié)構(gòu)和功能的定義。如果使用C、VC或VB開發(fā)應(yīng)用,只要在相關(guān)的開發(fā)環(huán)境中設(shè)置,將文件引入所要開發(fā)的應(yīng)用項(xiàng)目即可;如果使用De lph i開發(fā),需要將TAPI. H轉(zhuǎn)化為Delphi中的頭文件,再將這個(gè)pas文件引入即可;如果使用Java開發(fā),需要TAPI的c lass文件。
該設(shè)計(jì)以VC的MFC為例對(duì)TAPI的功能進(jìn)行模塊化實(shí)現(xiàn),開發(fā)過程不需要通訊硬件的支持,調(diào)試和運(yùn)行需要與通訊硬件交互,且該組件能很好的向上向下兼容。
c++相關(guān)文章:c++教程
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
交換機(jī)相關(guān)文章:交換機(jī)工作原理
評(píng)論