基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)研究與設(shè)計
劉薇,陳可新
(福州職業(yè)技術(shù)學(xué)院 計算機系,福建 福州 350108)
摘要:簡要介紹了軟交換技術(shù)的功能與應(yīng)用,闡述了基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)工作原理,設(shè)計了基于Asterisk軟交換的智能化小區(qū)網(wǎng)絡(luò)廣播對講系統(tǒng),并給出系統(tǒng)的運行測試詳細(xì)方法.該系統(tǒng)除具備傳統(tǒng)的模擬對講系統(tǒng)的語音廣播對講功能外,還可以實現(xiàn)更多的語音增值功能,為智能化小區(qū)的安保、保潔、維修等物業(yè)服務(wù)提供強有力的語音廣播對講平臺.
關(guān)鍵詞:軟交換;智能化小區(qū);網(wǎng)絡(luò);廣播對講系統(tǒng)
DOI:10.13877/j.cnki.cn22-1284.2015.10.002
收稿日期:2015-08-11
基金項目:福建省教育廳科研項目“基于Asterisk的云計算呼叫中心應(yīng)用研究”(JA13422)
作者簡介:劉薇,女,滿族,遼寧撫順人,副教授.
中圖分類號:TP393文獻(xiàn)標(biāo)志碼:A
隨著社會科技的進(jìn)步和經(jīng)濟的迅猛發(fā)展,住宅小區(qū)在滿足場所和空間要求的同時,居住安全、信息互動、人文與科技共融共生的智能化小區(qū)時代已經(jīng)到來.智能化小區(qū)融合網(wǎng)絡(luò)技術(shù)、電子技術(shù)、計算機技術(shù)、自動控制技術(shù)等先進(jìn)的技術(shù)手段,提高了小區(qū)的安全防范和物業(yè)管理等方面的自動化程度和綜合服務(wù)水平,語音廣播對講系統(tǒng)為智能化小區(qū)各項管理與服務(wù)提供了重要保障.
當(dāng)前,多數(shù)住宅小區(qū)采用模擬對講系統(tǒng),由于模擬系統(tǒng)音視頻信號共用線路,存在抗干擾能力差,因干擾可能導(dǎo)致圖像、聲音不清晰;信號傳輸距離受限,容易衰減和失真;系統(tǒng)僅支持簡單的通話、開鎖等功能;由于技術(shù)上的原因,系統(tǒng)升級或擴充有較大的局限性,不能很好融入小區(qū)現(xiàn)有的計算機網(wǎng)絡(luò)等缺陷.隨著移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展和WIFI信號的廣泛覆蓋,如何基于智能化小區(qū)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施設(shè)計具有實時廣播及對講功能的網(wǎng)絡(luò)廣播對講系統(tǒng),對于智能化小區(qū)的安保、保潔等服務(wù)的高效提供有著重要的意義[1].本文對智能化小區(qū)的網(wǎng)絡(luò)廣播對講系統(tǒng)原理及設(shè)計方法進(jìn)行了闡述.
1軟交換技術(shù)及網(wǎng)絡(luò)廣播對講系統(tǒng)工作原理
1.1軟交換及Asterisk簡介
軟交換技術(shù)為下一代網(wǎng)絡(luò)中具有實時性要求的業(yè)務(wù)提供呼叫控制和連接控制功能,它主要完成呼叫控制、資源分配、協(xié)議處理、路由、認(rèn)證、計費等功能,同時可以向用戶提供現(xiàn)有電路交換機所能提供的所有業(yè)務(wù),并向第三方提供可編程能力.相對于傳統(tǒng)的模擬對講系統(tǒng),基于軟交換技術(shù)搭建的網(wǎng)絡(luò)廣播對講系統(tǒng)能充分利用智能化小區(qū)網(wǎng)絡(luò)基礎(chǔ)設(shè)施,具有傳輸距離遠(yuǎn),可擴充性好,維護(hù)成本低,較好克服了傳統(tǒng)模擬對講系統(tǒng)的缺點,為提升智能化小區(qū)物業(yè)管理和服務(wù)水平提供強有力的保障[2].
Asterisk是一個廣泛應(yīng)用的開源軟交換系統(tǒng),它支持主流的軟交換協(xié)議,如:SIP、H.323、IAX等.通過Asterisk系統(tǒng)AGI(Asterisk Gateway Interface)網(wǎng)關(guān)編程接口,可以快速開發(fā)語音應(yīng)用功能模塊,實現(xiàn)網(wǎng)絡(luò)廣播對講系統(tǒng)的快速部署和應(yīng)用.Asterisk在一個特定通道上執(zhí)行AGI接口程序,可以讓用其他語言編寫的程序控制電話通道,開發(fā)人員可以采用多種編程語言(Perl、PHP、C、Java等)編寫腳本程序與Asterisk交互[3].基于Asterisk軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng),終端用戶在系統(tǒng)中注冊和登錄后,用戶就可以通過電話會議方式實現(xiàn)語音廣播及對講功能,并能及時對語音通話情況進(jìn)行記錄或重聽.基于Asterisk軟交換網(wǎng)絡(luò)廣播對講系統(tǒng),有效改進(jìn)了傳統(tǒng)模擬對講系統(tǒng)的局限性,突破地域限制,實現(xiàn)語音廣播、遠(yuǎn)程對講、通話記錄等功能,極大方便了智能化小區(qū)物業(yè)服務(wù)的提供,將大大提升物業(yè)服務(wù)水平和能力.
1.2網(wǎng)絡(luò)廣播對講系統(tǒng)工作原理
基于智能化小區(qū)IP網(wǎng)絡(luò)的網(wǎng)絡(luò)廣播對講系統(tǒng)和傳統(tǒng)模擬對講系統(tǒng)的對講機一樣,可以實現(xiàn)一人發(fā)言多人收聽的功能.軟交換服務(wù)器是整個網(wǎng)絡(luò)廣播對講系統(tǒng)的樞紐環(huán)節(jié),負(fù)責(zé)提供語音廣播及呼叫對講等系統(tǒng)核心功能.基于目前廣泛使用的Asterisk開源軟交換搭建軟交換服務(wù)器,可以為系統(tǒng)的語音廣播對講提供較好的功能和性能.在小區(qū)現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)設(shè)施中搭建好語音軟交換服務(wù)器后,用戶可以通過將安裝SIP軟電話的移動終端注冊到服務(wù)器,實現(xiàn)基于IP網(wǎng)絡(luò)的語音廣播對講功能.同時系統(tǒng)還能提供多種語音增值服務(wù)功能,如語音信箱,實時錄音等.同時,為方便系統(tǒng)運行管理,還可以對軟交換進(jìn)行二次開發(fā),實現(xiàn)系統(tǒng)管理功能,包括用戶管理、分組管理和對講管理等.
2基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)設(shè)計
2.1基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)體系架構(gòu)
智能化小區(qū)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施是網(wǎng)絡(luò)廣播對講系統(tǒng)運行的基礎(chǔ),廣播對講系統(tǒng)的網(wǎng)絡(luò)搭建可通過結(jié)合小區(qū)網(wǎng)絡(luò)基礎(chǔ)設(shè)施建設(shè)來實施.項目實施中可使用光纖連接小區(qū)網(wǎng)絡(luò)中心與各建筑物路由器之間的骨干網(wǎng)絡(luò),通過在室內(nèi)和室外的合適位置配置無線控制器和無線路由,實現(xiàn)多點連接,提高了系統(tǒng)語音信息傳輸速率和可靠性,實現(xiàn)高速傳輸.基于Asterisk軟交換的智能化小區(qū)網(wǎng)絡(luò)廣播對講系統(tǒng),由Asterisk軟交換服務(wù)器、WEB管理服務(wù)器、定制的通用移動智能終端三部分構(gòu)成.
Asterisk軟交換服務(wù)器主要實現(xiàn)語音文件描述信息傳遞和發(fā)布,WEB管理服務(wù)器實現(xiàn)系統(tǒng)賬號數(shù)據(jù)管理、終端注冊登錄、語音文件存儲、語音信息下載傳送等功能,移動對講終端基于通用移動智能終端,通過綁定SIP軟電話并進(jìn)行初始化配置,實現(xiàn)語音信息的采集與編碼、語音上傳、數(shù)據(jù)更新請求的發(fā)送,用戶交互界面呈現(xiàn)等功能.管理用戶可以通過PC終端訪問WEB管理服務(wù)器,對數(shù)據(jù)進(jìn)行管理、維護(hù)和調(diào)度等,遠(yuǎn)程管理員可以通過PSTN或Internet網(wǎng)絡(luò)實現(xiàn)對系統(tǒng)管理和調(diào)度[4].基于Asterisk軟交換的智能化小區(qū)網(wǎng)絡(luò)廣播對講系統(tǒng)的體系結(jié)構(gòu)如圖1所示.
圖1 智能化小區(qū)網(wǎng)絡(luò)廣播對講系統(tǒng)體系結(jié)構(gòu)
2.2基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)設(shè)計實現(xiàn)
通過在Linux服務(wù)器中編譯安裝Asterisk軟件,并在系統(tǒng)中配置網(wǎng)絡(luò)廣播對講系統(tǒng)撥號方案,服務(wù)器運行期間將自動讀取并加載后臺數(shù)據(jù)庫中的終端賬戶信息,實現(xiàn)終端用戶語音呼叫和廣播對講功能.系統(tǒng)中的WEB管理服務(wù)器允許管理用戶通過WEB方式進(jìn)行連接和訪問,可以完成用戶手持終端的注冊,并實時查看終端用戶的在線狀態(tài),管理用戶可以通過該服務(wù)器實施系統(tǒng)配置和管理,上傳語音通告信息,并根據(jù)需要對終端用戶進(jìn)行調(diào)度或廣播呼叫.
為了實現(xiàn)終端用戶的廣播對講功能,需要為終端用戶設(shè)置廣播對講的撥號方案.Asterisk軟交換的撥號方案設(shè)置在extension.conf文件,終端用戶在系統(tǒng)中注冊后,可以通過該撥號方案實現(xiàn)終端用戶的廣播及對講功能[5].
[sip-page]
exten => _X.,1,Macro(paging,${EXTEN}) //與特定終端用戶對講
exten => _[*#]X,1,Macro(paging,${EXTEN}) //對指定組或所有用戶廣播
[macro-paging]
exten => s,1,NoOp(${ARG1})
same => n,SIPAddHeader(Call-Info: ;answer-after=0)
same => n,SIPAddHeader(Call-Info: answer-after=0)
same => n,SIPAddHeader(Alert-Info: Ring Answer)
same => n,AGI(getPageUri.php,${CALLERID(ani)},${ARG1})
same => n,NoOp(${PAGE_URI})
same => n,Page(${PAGE_URI})
exten => h,1,Hangup()
在上述撥號方案中系統(tǒng)通過Asterisk軟交換的AGI編程接口調(diào)用getPageUri.php腳本程序,腳本運行時從數(shù)據(jù)庫中讀取主叫及被叫用戶信息,并根據(jù)相關(guān)用戶類型及按鍵實現(xiàn)對指定用戶或用戶組的對講或廣播,具體見以下getPageUri.php腳本程序.
#!/usr/bin/php -q
$caller=$argv[1]; //主叫方賬戶信息
$called=$argv[2]; //被叫方信息
$pdo = new PDO('mysql:host=localhost;dbname=asterisk','root','123456');
$statement = $pdo -> query(“select g.type,s.group_id from sip_peers s,groups g where s.group_id=g.id and s.name='$caller'");
$row = $statement->fetch(PDO::FETCH_ASSOC);//訪問數(shù)據(jù)庫獲取用戶類型及部門ID
if(!empty($row)){ //主叫用戶已在系統(tǒng)中注冊
$type=$row['type'];
$groupId=$row['group_id'];
$firstCode=substr($called,0,1);
$uri='';
$uriCondition="";
if($called=='*0'){ //根據(jù)用戶終端按鍵判斷本次廣播呼叫對象范圍
$uriCondition="group_id='$groupId'"; }
elseif($type=="1" && $firstCode=='#'){
$calledGroupId=substr($called,1);
if($calledGroupId==="0"){ $uriCondition='1'; }
else{ $uriCondition="group_id='$calledGroupId'"; } }
elseif(is_numeric($called)){ $uri="SIP/$called"; }
if($uriCondition){
$statement = $pdo -> query("select name from sip_peers where $uriCondition and name !='$caller' "); //根據(jù)需要訪問數(shù)據(jù)庫獲取被叫用戶信息
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
$uri.="SIP/{$row['name']}&"; }
$uri=substr($uri,0,-1); }
if(!empty($uri)){echo "SET VARIABLE PAGE_URI $uri "; } }
?>
3基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)運行測試
基于Asterisk軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)將為對講系統(tǒng)終端用戶接入、用戶語音廣播對講及用戶通話信息記錄等提供強大的平臺支持.在對系統(tǒng)運行測試中,終端用戶開機后將自動連接小區(qū)WIFI網(wǎng)絡(luò),如該終端在系統(tǒng)中已注冊,則終端將直接登錄系統(tǒng),系統(tǒng)服務(wù)器端顯示終端狀態(tài)在線,未注冊的手持終端需要事先在系統(tǒng)的管理服務(wù)器中注冊后才能使用.
手持終端用戶需要語音廣播或?qū)χv時,可以通過手持終端上的按鍵呼叫系統(tǒng)中的指定用戶,所有在線的被叫用戶將自動收到廣播或?qū)χv的語音信號,并可進(jìn)行實時語音對講,未在線用戶的語音信箱中將收到本次呼叫的語音郵件;管理端用戶可以根據(jù)需要通過PC端或IP電話對手持終端用戶進(jìn)行呼叫和調(diào)度;同時系統(tǒng)將根據(jù)事先配置的系統(tǒng)錄音策略自動記錄相關(guān)用戶語音通話信息.用戶在系統(tǒng)中注冊后,通過在用戶終端上按下指定按鍵,如:管理用戶通過按下*0鍵可以實現(xiàn)向本部門所有用戶的語音廣播;通過按下特定分組或用戶編號和#鍵,可以實現(xiàn)向指定部門用戶的語音廣播.
4結(jié)語
本文闡述的基于軟交換的網(wǎng)絡(luò)廣播對講系統(tǒng)設(shè)計,采用開源軟交換平臺 Asterisk作為廣播對講系統(tǒng)中心服務(wù)器,搭建基于小區(qū)WIFI網(wǎng)絡(luò)的網(wǎng)絡(luò)廣播對講系統(tǒng),實現(xiàn)在小區(qū)不同區(qū)域員工的統(tǒng)一內(nèi)部語音通信和具有調(diào)度功能的協(xié)調(diào)通訊,這個平臺投資運行費用較低,具有較好的應(yīng)用價值.基于軟交換的智能化小區(qū)網(wǎng)絡(luò)廣播對講系統(tǒng),所用的終端設(shè)備為通用移動終端,設(shè)備操作簡單,安裝和維護(hù)方便,每一個接入點不需要單獨逐一布線,可以達(dá)到小區(qū)計算機網(wǎng)絡(luò)、小區(qū)廣播對講、數(shù)字視頻監(jiān)控等系統(tǒng)的多網(wǎng)合一.雖然基于智能化小區(qū)計算機網(wǎng)絡(luò)的網(wǎng)絡(luò)廣播系統(tǒng)目前還不能完全取代傳統(tǒng)模擬廣播系統(tǒng),相信隨著智能化小區(qū)及移動互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,它將是未來小區(qū)廣播對講系統(tǒng)發(fā)展的趨勢,甚至未來在其他領(lǐng)域也將具有較好的應(yīng)用和推廣價值.
參考文獻(xiàn):
[1]尹文剛,楊斌.Android平臺下基于WiFi的可視化VoIP通話系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2012(08):70-72.
[2]陳順祥.基于Android平臺多方通話軟件的研究與實現(xiàn)[J].電子世界,2014(12):111-112.
[3]劉志偉,余金山.基于Trixbox電話語音通知系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機與數(shù)字工程,2010(02):148-151.
[4]陳可新,黃偉民.基于Asterisk的語音識別技術(shù)研究和實現(xiàn)[J].長春師范大學(xué)學(xué)報,2015(06):44-46.
[5]Leif Madsen,Jim Van Meggelen,Russell Bryant. Asterisk:The Definitive Guide,Third Edition [M].O'Reilly,2011.
(責(zé)任編輯:王前)