1引言
在艦船等一些應用領(lǐng)域,通常配置有諸如指揮調(diào)度、自動電話等功能定位不同的電話系統(tǒng),指揮調(diào)度系統(tǒng)因傳輸實時控制信息的需要一般采用ISDN電路交換體制,自動電話系統(tǒng)因經(jīng)濟性考量一般采用基于SIP協(xié)議的VoIP體制。由于這些系統(tǒng)內(nèi)用戶眾多、等級不一、需求復雜和手段多樣等特點,現(xiàn)有電話轉(zhuǎn)接設備已無法滿足應用需求,亟需設計一套綜合話務臺,實現(xiàn)跨異構(gòu)電話系統(tǒng)轉(zhuǎn)接,依據(jù)用戶等級實現(xiàn)定制服務,具備話路接續(xù)、話路監(jiān)視、代理呼叫和秘書服務等功能。
2硬件設計
綜合話務臺硬件結(jié)構(gòu)依據(jù)模塊化的設計思路,以具備CPCI接口的工控機為基礎,設計相應的CPCI功能板卡。為了給話務員提供統(tǒng)一、靈活的話音通信功能,系統(tǒng)采用軟電話設計模式,通過綜合話務臺的操作界面發(fā)送信令分別控制ISDN交換設備、VoIP交換設備實現(xiàn)對話路的接通、掛斷、呼叫等操作,從而替代傳統(tǒng)話機的摘機、掛機、撥號等操作,綜合話務臺僅需提供一個送/受話器作為話音通信工具,即可實現(xiàn)分別與ISDN、VoIP用戶通話。綜合話務臺硬件主要由工控機、音頻控制卡、ISDN接口卡、VoIP接口卡和送受話器組成,其硬件結(jié)構(gòu)如圖1所示。
ISDN接口卡用于實現(xiàn)與ISDN交換設備連接,實現(xiàn)B信道與D信道的分離,將B信道的語音轉(zhuǎn)換成四線音頻信號送入音頻控制卡,將D信道信息封裝成以太網(wǎng)數(shù)據(jù)包通過CPCI接口送入主機以太網(wǎng)接口進行處理;同時提供二線PTT信號接到音頻控制卡。
VoIP接口卡與VoIP交換設備以以太網(wǎng)形式連接,控制信息通過CPCI接口送入主機CPU進行處理,四線音頻信號送入音頻控制卡。
音頻控制卡用于實現(xiàn)與送/受話器的連接,并控制ISDN接口卡、VoIP接口卡輸入的四線音頻信號與送/受話器的連接;當ISDN音頻通路選通時,可提供PTT信號通路。
3軟件設計
綜合話務臺軟件基于分層、模塊化的設計方法,其體系結(jié)構(gòu)分為四層,自下而上依次為:傳輸接口層、協(xié)議層、控制層、業(yè)務層,實現(xiàn)控制與業(yè)務分離;各層根據(jù)要完成的功能又可劃分為多個功能模塊。其軟件結(jié)構(gòu)模型如圖2所示。
總體上,綜合話務臺軟件主要由話務處理模塊、數(shù)據(jù)庫操作維護模塊、通信控制模塊和人機交互模塊組成。
3.1話務處理模塊
話務處理模塊主要處理ISDN指揮調(diào)度電話和自動電話用戶以及外線電話用戶的查詢、轉(zhuǎn)接業(yè)務等請求,以實現(xiàn)話務轉(zhuǎn)接、查詢、呼叫等話務調(diào)度功能。
指揮調(diào)度電話呼叫綜合話務臺時,信令通過D通道傳輸;自動電話呼叫綜合話務臺時,信令通過以太網(wǎng)控制信息傳輸;來話話務在綜合話務臺上將指揮調(diào)度電話與自動電話進行統(tǒng)一排隊。
3.2數(shù)據(jù)庫操作維護模塊
數(shù)據(jù)庫操作維護模塊基于Oracle,采用ADO作為數(shù)據(jù)庫訪問接口,提供基于話務數(shù)據(jù)庫的登陸、話務查詢、以及數(shù)據(jù)庫的添加、刪除和修改等功能。
系統(tǒng)在運行過程中需要與數(shù)據(jù)庫連接,獲取電話信息,從而實現(xiàn)排隊、呼叫等功能。為便于系統(tǒng)移植和二次開發(fā),設計將數(shù)據(jù)庫接口與功能分離,分別在傳輸接口層和業(yè)務層中設計了數(shù)據(jù)庫接口單元和數(shù)據(jù)庫管理單元。
數(shù)據(jù)庫接口單元為數(shù)據(jù)庫管理模塊提供了連接數(shù)據(jù)庫的接口,選擇了ADO作為數(shù)據(jù)庫訪問接口。
數(shù)據(jù)庫管理單元將數(shù)據(jù)庫查詢、修改、刪除等功能進行封裝,并提供了相應的接口函數(shù),方便其它模塊調(diào)用。
3.3通信控制模塊
通信控制模塊主要完成消息的封裝、解析處理,保證消息按照停等機制、超時重傳機制進行傳輸。通信控制模塊主要包括消息封裝/解封裝單元、傳輸控制單元。
消息封裝/解封裝單元主要根據(jù)呼叫控制協(xié)議中消息格式的定義完成對要發(fā)送的消息進行封裝,對接收到的消息進行解封裝處理。
傳輸控制單元主要完成消息輸出過程中的停等機制和超時重傳機制的控制。
3.4人機交互模塊
人機交互模塊主要用于為話務員提供一個信息顯示直觀,操作簡單方便的人機交互界面,界面分為四個功能區(qū):呼入電話排隊區(qū)、當前處理電話區(qū)、呼入電話狀態(tài)區(qū)和電話查詢區(qū)。在軟件實現(xiàn)上主要包括錄音控制、音量控制、數(shù)據(jù)庫查詢修改、呼入電話排隊顯示、呼入電話控制和指定來電狀態(tài)顯示等單元,各單元功能如下:
(1)錄音控制單元為用戶提供控制錄音功能,包括控制錄音開始、結(jié)束及回放。
(2)音量控制單元為用戶提供控制話音大小功能。
(3)數(shù)據(jù)庫查詢修改單元為用戶提供查詢、修改數(shù)據(jù)庫功能。
(4)呼入電話排隊顯示單元用于顯示呼入電話的個數(shù)及各電話的號碼、狀態(tài)信息。
(5)呼入電話控制單元為用戶提供處理呼入電話的功能,用戶可執(zhí)行的操作包括保持、轉(zhuǎn)接、斷開等操作。
(6)指定來電狀態(tài)顯示單元用于顯示用戶從呼入電話隊列中指定的呼入來電狀態(tài),包括:呼入來電與話務臺接通、保持、呼入來電與被叫電話接通等狀態(tài)。
3.5呼叫控制協(xié)議
呼叫控制協(xié)議主要用于實現(xiàn)話務客戶端與ISDN接口卡、VoIP接口卡間的呼叫控制信息的傳輸與解析。信息采用UDP Socket協(xié)議進行傳輸,話務臺軟件通過ISDN接口卡和VoIP接口卡實現(xiàn)對指揮調(diào)度電話和自動電話的話務控制,考慮到功能與協(xié)議上的一致性,在協(xié)議中,將ISDN接口卡與VoIP接口卡的控制信息處理實體統(tǒng)稱為話務服務器,將話務臺軟件的控制信息處理實體稱之為話務客戶端,話務客戶端僅靠控制信息中的類型識別話務服務器的類型。
呼叫控制協(xié)議基于消息機制實現(xiàn)。話務服務器在實現(xiàn)呼叫控制操作的同時,向話務客戶端發(fā)送各類呼叫控制響應消息,響應消息中包含了與呼叫控制事件相關(guān)的許多重要參數(shù),如電話號碼、設備類型、操作結(jié)果等信息。話務客戶端通過分析消息內(nèi)容,就可以對服務端中處理的電話狀態(tài)有一個全面的了解,并可以對消息中參數(shù)進行存儲。需要進行呼叫控制時,客戶端讀取需要的電話參數(shù)向服務端發(fā)送相應的呼叫控制消息,從而達到呼叫控制的目的。
從消息類型上看,消息分為四類:
(1)請求消息。請求消息由話務客戶端向話務服務端發(fā)送,請求某種控制操作。
(2)響應消息。響應消息由話務服務器向話務客戶端發(fā)送,響應話務客戶端請求結(jié)果。
(3)確認消息。表示已收到對端消息,話務客戶端與話務服務器均可發(fā)出。
(4)心跳消息。心跳消息由話務客戶端向話務服務器發(fā)送,表示客戶端在線。
話務臺軟件發(fā)送的消息包括心跳消息、請求消息和確認消息,其中確認消息是為實現(xiàn)停等機制而發(fā)送的,心跳消息是當系統(tǒng)工作時定時發(fā)送而無需回復的消息。為了簡化上層的處理,將確認消息和心跳消息的處理在呼叫控制協(xié)議內(nèi)部實現(xiàn),無需向上層提供相應的消息處理接口函數(shù)。而對于請求消息類型,呼叫控制協(xié)議模塊向上層提供了相應的消息處理接口函數(shù),用于提供相應類型的消息格式封裝,并根據(jù)目的設備類型調(diào)用ISDN接口卡或者VoIP接口卡提供的傳輸接口函數(shù)進行發(fā)送。
綜合話務臺接收的消息包括響應消息和確認消息。響應消息中包含了相關(guān)呼叫控制信息,需要交由上層呼叫控制處理,若收到確認消息則表明可以進行下一消息的發(fā)送。為了避免消息的處理與接收發(fā)生沖突,系統(tǒng)為通信控制模塊中的消息處理創(chuàng)建了一個線程,并且設置了接收緩沖區(qū)用于存放網(wǎng)絡傳輸模塊接收到的消息。當消息接收處理線程接收到網(wǎng)絡傳輸模塊中的消息接收線程發(fā)送來的有消息排隊的消息時,就去接收緩沖區(qū)中取出消息進行解析處理,并根據(jù)消息類型進行相應處理,直到緩沖區(qū)為空。
在消息收發(fā)過程中采用了發(fā)送/確認和請求/響應的會話模式,也就是當客戶端向服務端發(fā)送請求消息時,服務端將處理結(jié)果以響應消息的形式回復客戶端。并且,在服務端接收請求消息和客戶端接收響應消息的同時,會對應的向?qū)Χ税l(fā)送確認消息,形成一個握手會話,保證了消息的一致性和可靠性。需要說明的是心跳消息和確認消息本身無需回復確認消息。
4小結(jié)
該系統(tǒng)通過運行驗證后,可方便實現(xiàn)不同系統(tǒng)間的話務查詢、話務轉(zhuǎn)接及代理呼叫功能,可實現(xiàn)話務錄音、播放功能,已應用于相關(guān)系統(tǒng)中。