吳健雄
(公安部第一研究所,北京100048)
基于SIP的動(dòng)態(tài)重組服務(wù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
吳健雄
(公安部第一研究所,北京100048)
基于會(huì)話初始協(xié)議SIP(Session Initiation Protocol)設(shè)計(jì)并實(shí)現(xiàn)警用數(shù)字集群(PDT)動(dòng)態(tài)重組服務(wù)系統(tǒng),提出采用SIP協(xié)議與PDT數(shù)字集群廠商通信,實(shí)現(xiàn)對(duì)講機(jī)的動(dòng)態(tài)重組、呼叫和發(fā)送短信等功能。通過(guò)分析、設(shè)計(jì)系統(tǒng)軟硬件架構(gòu)和系統(tǒng)基本功能,保證實(shí)驗(yàn)測(cè)試環(huán)境驗(yàn)證系統(tǒng)功能的完備性,為公安指揮調(diào)度系統(tǒng)實(shí)現(xiàn)快速、穩(wěn)定的一鍵呼叫多個(gè)對(duì)講機(jī)終端提供解決方案。
SIP;動(dòng)態(tài)重組;數(shù)字集群;Web Service
警用數(shù)字集群系統(tǒng)[1],是我國(guó)在吸收國(guó)際主流數(shù)字無(wú)線通信標(biāo)準(zhǔn)優(yōu)點(diǎn)的基礎(chǔ)上,結(jié)合國(guó)內(nèi)實(shí)際情況,自主創(chuàng)新,擁有自主知識(shí)產(chǎn)權(quán)的數(shù)字集群通信體制。隨著科技信息化的快速發(fā)展,公安通信指揮調(diào)度業(yè)務(wù)對(duì)警用數(shù)字集群通信提出了更高的要求。
在實(shí)戰(zhàn)應(yīng)用中,指揮員需實(shí)現(xiàn)一鍵呼叫,指導(dǎo)案發(fā)地周邊警力。然而,受限于PDT數(shù)字集群窄帶通信中語(yǔ)音信道資源的限制,采用傳統(tǒng)單呼方式呼叫,同一基站下的多個(gè)對(duì)講機(jī)終端極可能會(huì)出現(xiàn)信道資源不足而呼叫失敗的情況。在實(shí)際工作中,能否將多個(gè)對(duì)講機(jī)終端放到一個(gè)組中,直接呼叫該組號(hào)即可拉起組中所有的終端是需要思考的問(wèn)題。因?yàn)檫@樣僅占用一個(gè)語(yǔ)音信道,所以,動(dòng)態(tài)重組業(yè)務(wù)應(yīng)用應(yīng)運(yùn)而生了。
2.1 動(dòng)態(tài)重組簡(jiǎn)介
動(dòng)態(tài)重組是授權(quán)網(wǎng)管終端或調(diào)度臺(tái)利用空口信令向目標(biāo)移動(dòng)臺(tái)臨時(shí)增加通話組(動(dòng)態(tài)組)的過(guò)程。對(duì)于業(yè)務(wù)應(yīng)用系統(tǒng),動(dòng)態(tài)重組是為待呼叫的對(duì)講機(jī)建立一個(gè)臨時(shí)會(huì)話組。在空閑狀態(tài)下,組管理員可通過(guò)無(wú)線方式在群組中增加或刪除一個(gè)成員,增加或刪除成功后,系統(tǒng)會(huì)證實(shí)并告知組管理員操作成功。其中一個(gè)對(duì)講機(jī)動(dòng)態(tài)重組的過(guò)程如圖1所示。

圖1 動(dòng)態(tài)重組請(qǐng)求流程示意圖
在警務(wù)實(shí)戰(zhàn)應(yīng)用中,動(dòng)態(tài)重組呼叫功能充當(dāng)著應(yīng)急指揮通信的角色。比如某案件發(fā)生時(shí),3臺(tái)合一將報(bào)警警情推送到業(yè)務(wù)系統(tǒng)中,系統(tǒng)在地圖上定位該警情,并圈選定位點(diǎn)周邊警力進(jìn)行動(dòng)態(tài)重組呼叫,通知出警。動(dòng)態(tài)重組呼叫具有精確呼叫、高可靠度和僅占用1個(gè)信道資源等優(yōu)點(diǎn)。
2.2 SIP協(xié)議
在PDT數(shù)字集群應(yīng)用業(yè)務(wù)系統(tǒng)中,數(shù)字集群廠商通常要求應(yīng)用的各方都需要遵循一定的協(xié)議,以實(shí)現(xiàn)數(shù)據(jù)的互聯(lián)互通,其中,H.323協(xié)議和SIP協(xié)議的應(yīng)用最為廣泛。H.323協(xié)議是一種標(biāo)準(zhǔn)的音視頻傳輸協(xié)議,它提供了基于IP網(wǎng)絡(luò)(包括Internet)的傳送聲音、視頻和數(shù)據(jù)的基本標(biāo)準(zhǔn),但其層次式的控制模式?jīng)Q定了其信令控制較為復(fù)雜,且其可拓展性較差,靈活性不高,具有一定的局限性[2]。
初始化會(huì)話協(xié)議(Session Initiation Protocol,SIP)是由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)組織提出的一種開(kāi)放的IP信令協(xié)議,用于實(shí)現(xiàn)IP網(wǎng)絡(luò)中的信令控制以及與軟交換網(wǎng)絡(luò)的通信[3]。與H.232協(xié)議相比,SIP協(xié)議分布式體系架構(gòu)和可擴(kuò)展頭域決定了其具有較強(qiáng)的業(yè)務(wù)擴(kuò)展能力。另外,SIP協(xié)議應(yīng)用非常靈活,主要體現(xiàn)在其會(huì)話內(nèi)容可以是音頻數(shù)據(jù)和視頻數(shù)據(jù),甚至是文本數(shù)據(jù)。SIP協(xié)議具有很多基礎(chǔ)功能,能夠滿(mǎn)足大部分的應(yīng)用業(yè)務(wù)需求。由此,在框架上簡(jiǎn)單、開(kāi)放和可擴(kuò)展的會(huì)話初始化協(xié)議SIP更能滿(mǎn)足PDT數(shù)字集群動(dòng)態(tài)重組服務(wù)會(huì)話控制的需要。
3.1 系統(tǒng)架構(gòu)設(shè)計(jì)
2012年,黨中央、國(guó)務(wù)院做出實(shí)現(xiàn)國(guó)家財(cái)政性教育經(jīng)費(fèi)支出占國(guó)內(nèi)生產(chǎn)總值比例達(dá)到4%的重大戰(zhàn)略決策的同時(shí),提出要根據(jù)教育事業(yè)發(fā)展需要,精心設(shè)計(jì)好資金使用項(xiàng)目,要把資金用在最需要的地方。總的原則是緊緊圍繞“育人為本”這個(gè)核心和促進(jìn)公平、提高質(zhì)量這兩大重點(diǎn),多向農(nóng)村地區(qū)、貧困地區(qū)、民族地區(qū)傾斜,多向農(nóng)村義務(wù)教育、職業(yè)教育、學(xué)前教育傾斜,多向特殊困難學(xué)生傾斜,多向教師隊(duì)伍建設(shè)傾斜,真正做到雪中送炭,把錢(qián)花在刀刃上。
本系統(tǒng)的框架結(jié)構(gòu)是以SIP協(xié)議為核心,充分發(fā)揮SIP協(xié)議靈活性和可擴(kuò)展性的特點(diǎn),通過(guò)公安專(zhuān)網(wǎng)搭建服務(wù)系統(tǒng),提高動(dòng)態(tài)重組通話質(zhì)量和系統(tǒng)通信效率。系統(tǒng)主要由動(dòng)態(tài)重組服務(wù)器、注冊(cè)服務(wù)器、多媒體服務(wù)器和數(shù)據(jù)服務(wù)器組成,其中,動(dòng)態(tài)重組服務(wù)器與PDT廠商服務(wù)器通過(guò)安全隔離網(wǎng)閘或防火墻相連。基于SIP協(xié)議的PDT動(dòng)態(tài)重組服務(wù)系統(tǒng)的架構(gòu)如圖2所示。

圖2 基于SIP的PDT數(shù)字集群動(dòng)態(tài)重組服務(wù)系統(tǒng)架構(gòu)
3.2 系統(tǒng)基本功能設(shè)計(jì)
PDT數(shù)字集群動(dòng)態(tài)重組服務(wù)系統(tǒng)的主要功能有注冊(cè)登錄、監(jiān)聽(tīng)錄音、動(dòng)態(tài)組呼、申請(qǐng)和釋放動(dòng)態(tài)組號(hào)、動(dòng)態(tài)組號(hào)管理和發(fā)送群短信。動(dòng)態(tài)重組服務(wù)是本系統(tǒng)的關(guān)鍵,主要完成動(dòng)態(tài)組的創(chuàng)建、呼叫的建立和動(dòng)態(tài)組的維護(hù),但不提供可視化界面。它采用Web Service[5]方式為用戶(hù)提供動(dòng)態(tài)組呼服務(wù),采用標(biāo)準(zhǔn)SIP協(xié)議與PDT廠商通信。下面,分別詳細(xì)闡述可視用戶(hù)終端和動(dòng)態(tài)重組服務(wù)器的功能設(shè)計(jì)。
3.2.1 可視用戶(hù)終端功能設(shè)計(jì)
可視用戶(hù)終端功能有:①會(huì)議呼叫功能。通過(guò)軟交換服務(wù)器為多種通信設(shè)備建立會(huì)議呼叫,包括PDT數(shù)字集群對(duì)講機(jī)、手機(jī)、固定電話和移動(dòng)警務(wù)等通信設(shè)備。②動(dòng)態(tài)重組呼叫功能。可對(duì)多個(gè)PDT數(shù)字集群終端發(fā)起動(dòng)態(tài)重組呼叫,通過(guò)Soap請(qǐng)求后臺(tái)建立動(dòng)態(tài)重組組號(hào),采用標(biāo)準(zhǔn)的SIP信令控制呼叫流程。③會(huì)議管理控制功能。用戶(hù)在會(huì)議通話過(guò)程中對(duì)會(huì)議成員的管理,包括禁止說(shuō)話、允許說(shuō)話、掛斷某成員、呼叫某離線成員和新人插入會(huì)議等。④發(fā)送短信功能。通過(guò)E1接口與電信運(yùn)營(yíng)商相連,為手機(jī)發(fā)送短信,通過(guò)Soap請(qǐng)求動(dòng)態(tài)重組服務(wù)器群發(fā)手臺(tái)短信。⑤查看播放通話錄音功能。可通過(guò)賬號(hào)、通話時(shí)間等信息查詢(xún)對(duì)應(yīng)的通話錄音文件,并支持在線播放。⑥內(nèi)置降噪功能數(shù)字麥克風(fēng),可用于語(yǔ)音現(xiàn)場(chǎng)監(jiān)聽(tīng)和錄音。⑦自動(dòng)向SIP軟交換服務(wù)器發(fā)送心跳包報(bào)告在線狀態(tài)。
3.2.2 動(dòng)態(tài)重組服務(wù)器功能設(shè)計(jì)
動(dòng)態(tài)重組服務(wù)器的功能有:①動(dòng)態(tài)重組建立功能。通過(guò)SIP信令與PDT廠商中控臺(tái)交互,創(chuàng)建動(dòng)態(tài)組號(hào),并往組中添加成員,實(shí)現(xiàn)動(dòng)態(tài)重組的建立。②采用標(biāo)準(zhǔn)SIP信令控制雙向?qū)χv,接入電信運(yùn)營(yíng)商網(wǎng)絡(luò),可以呼叫手機(jī)和固定電話。③動(dòng)態(tài)組號(hào)的維護(hù)功能。這包括組號(hào)使用結(jié)束或超時(shí)刪除組號(hào)并回收,查看正在使用的動(dòng)態(tài)組和空閑的動(dòng)態(tài)組等。④定時(shí)嘗試回收組號(hào)功能。當(dāng)組號(hào)刪除失敗或使用超時(shí)時(shí),將定時(shí)嘗試請(qǐng)求刪除組號(hào)。⑤支持失敗重試,請(qǐng)求PDT廠商未響應(yīng)立即結(jié)束會(huì)話等功能。⑥錄音功能。錄音功能可以記錄每一次會(huì)議的呼叫開(kāi)始時(shí)間、呼叫等待時(shí)間、通話開(kāi)始時(shí)間、通話時(shí)間和通話錄音,并能對(duì)已記錄的錄音文件進(jìn)行查詢(xún)播放。⑦日志功能。日志功能可記錄每一次與可視用戶(hù)終端、電信運(yùn)營(yíng)商和PDT廠商的通信日志。
3.3 系統(tǒng)軟件設(shè)計(jì)
軟件系統(tǒng)采用Microsoft Visual Studio集成開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),軟件設(shè)計(jì)采用模塊化、層次化、標(biāo)準(zhǔn)化的設(shè)計(jì)思想。從通信層面看,系統(tǒng)軟件架構(gòu)如圖3所示。TCP/UDP用于數(shù)據(jù)傳輸;SIP用于信令控制,它創(chuàng)建、修改和釋放一個(gè)或多個(gè)參與者的會(huì)話;RTP/RTSP用于實(shí)時(shí)音視頻通信傳輸;G711/AAC/MP3用于音頻編解碼;SDP用于會(huì)話描述;UDDCP為自定義的動(dòng)態(tài)重組相關(guān)指令,使用ХML格式定義,采用SIP Message傳送。

圖3 基于SIP的PDT數(shù)字集群動(dòng)態(tài)重組服務(wù)系統(tǒng)通信軟件架構(gòu)圖
3.3.2 通信協(xié)議
SIP規(guī)定了6類(lèi)狀態(tài)碼,其中,狀態(tài)碼由3位數(shù)字組成,第一個(gè)數(shù)字為響應(yīng)的類(lèi)型,后面2個(gè)數(shù)字為該類(lèi)的進(jìn)一步細(xì)分,具體見(jiàn)表1.在動(dòng)態(tài)重組服務(wù)系統(tǒng)中,為細(xì)化對(duì)講機(jī)動(dòng)態(tài)重組失敗原因,與PDT廠商進(jìn)一步細(xì)化了通信協(xié)議,基本涵蓋了所有對(duì)講機(jī)動(dòng)態(tài)重組結(jié)果返回狀態(tài),具體見(jiàn)表2.
根據(jù)文中對(duì)整個(gè)系統(tǒng)軟硬件環(huán)境的設(shè)計(jì),搭建基于SIP的動(dòng)態(tài)重組服務(wù)系統(tǒng)測(cè)試環(huán)境。其中,動(dòng)態(tài)重組服務(wù)器IP地址為10.23.1.156,客戶(hù)端IP地址為10.23.1.157,PDT廠商服務(wù)器IP地址為30.10.0.1.下面,對(duì)該系統(tǒng)進(jìn)行動(dòng)態(tài)重組呼叫功能性測(cè)試,測(cè)試過(guò)程中,采用Wireshark抓包工具抓包解析,以此來(lái)驗(yàn)證功能的完備性。
4.1 Register功能測(cè)試
注冊(cè)時(shí),客戶(hù)端首先向服務(wù)器發(fā)送注冊(cè)命令,服務(wù)器接收注冊(cè)信息,認(rèn)證其合法性后,在數(shù)據(jù)庫(kù)中添加該用戶(hù)信息,并最終返回200OK成功響應(yīng)消息給客戶(hù)端。在注冊(cè)消息中,Expires字段表示該注冊(cè)登記的生存期,因此,定時(shí)請(qǐng)求注冊(cè),保證長(zhǎng)期在線。注冊(cè)時(shí),客戶(hù)端與動(dòng)態(tài)重組服務(wù)器交互的數(shù)據(jù)包如圖4所示。

表1 6類(lèi)狀態(tài)碼詳情

表2 對(duì)講機(jī)動(dòng)態(tài)重組結(jié)果返回狀態(tài)

圖4 注冊(cè)時(shí)交互抓包數(shù)據(jù)
4.2 動(dòng)態(tài)重組功能測(cè)試
動(dòng)態(tài)重組功能測(cè)試時(shí),客戶(hù)端先通過(guò)請(qǐng)求動(dòng)態(tài)重組服務(wù)器中的Web Service服務(wù)建立動(dòng)態(tài)組,然后動(dòng)態(tài)重組服務(wù)器通過(guò)SIP message消息向PDT廠商服務(wù)器發(fā)送添加動(dòng)態(tài)組請(qǐng)求,如果成功,將回復(fù)200OK。待動(dòng)態(tài)組使用完畢后,由動(dòng)態(tài)重組服務(wù)器向PDT廠商服務(wù)器發(fā)送刪除動(dòng)態(tài)組請(qǐng)求,刪除成功回復(fù)200OK;刪除失敗,則根據(jù)失敗原因狀態(tài)碼回復(fù)。動(dòng)態(tài)重組交互數(shù)據(jù)包如圖5所示,其包括添加成員到動(dòng)態(tài)組中和將成員從動(dòng)態(tài)組中刪除。

圖5 動(dòng)態(tài)重組交互抓包數(shù)據(jù)
在添加或刪除成員的message消息的Message Body中,cmd字段代表操作命令,add為添加成員,remove為刪除成員。group字段代表組號(hào),ms字段代表對(duì)講機(jī)號(hào)碼。
圖6為請(qǐng)求將68020663、68020660、68020288、68020655、68020681這5個(gè)手臺(tái)添加到68020962的動(dòng)態(tài)組中的message消息。

圖6 添加成員到動(dòng)態(tài)組抓包解析
4.3 動(dòng)態(tài)重組呼叫測(cè)試
圖7為應(yīng)用中正常的動(dòng)態(tài)重組呼叫流程,即先發(fā)起動(dòng)態(tài)重組請(qǐng)求,成功后,創(chuàng)建會(huì)議,并發(fā)起動(dòng)態(tài)組呼,待呼叫結(jié)束后,BYE掛斷,并請(qǐng)求刪除動(dòng)態(tài)組以回收組號(hào)。考慮到PDT數(shù)字集群窄帶無(wú)線通信的不穩(wěn)定性,在添加和刪除成員時(shí),如果失敗,應(yīng)重復(fù)請(qǐng)求,以此提高動(dòng)態(tài)重組的成功率。

圖7 動(dòng)態(tài)重組呼叫整個(gè)流程抓包數(shù)據(jù)
本文設(shè)計(jì)并實(shí)現(xiàn)了基于SIP的PDT數(shù)字集群動(dòng)態(tài)重組服務(wù)系統(tǒng)。從硬件架構(gòu)、軟件架構(gòu)、協(xié)議分析3個(gè)方面對(duì)研究目標(biāo)進(jìn)行詳細(xì)的分析和論述,并通過(guò)實(shí)驗(yàn)測(cè)試實(shí)現(xiàn)終端的注冊(cè)、對(duì)講機(jī)的動(dòng)態(tài)重組、動(dòng)態(tài)組呼、掛斷等基本功能。該動(dòng)態(tài)重組服務(wù)系統(tǒng)為公安指揮調(diào)度系統(tǒng)實(shí)現(xiàn)快速、穩(wěn)定的一鍵呼叫多個(gè)對(duì)講機(jī)終端提供了解決方案。
[1]公安部科技信息化局,杭州承聯(lián)通信技術(shù)有限公司,海能達(dá)通信股份有限公司,等.GA/T 1056—2013警用數(shù)字集群(PDT)通信系統(tǒng)總體技術(shù)規(guī)范[S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2013.
[2]劉海鵬.SIP協(xié)議簡(jiǎn)介及其與H.323協(xié)議的比較[J].科技創(chuàng)新導(dǎo)報(bào),2007(1):10.
[3]Rosenberg J,Schulzrinne H,Huitema C,et al.Session Initiation Protocol(SIP)Extension for Instant Messaging[J].Ietf Rfc,2002,64(2):185-194.
[4]林旺,田洪現(xiàn).基于SIP協(xié)議的嵌入式VoIP語(yǔ)音終端實(shí)現(xiàn)和協(xié)議分析[J].計(jì)算機(jī)科學(xué),2016,43(6):86-90.
[5]曹楊雄,謝永強(qiáng),齊錦,等.一種基于Web Service的可擴(kuò)展視頻網(wǎng)關(guān)設(shè)計(jì)研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(7):71-76.
[6]劉天宇.基于SIP協(xié)議的集群通信系統(tǒng)Android客戶(hù)端的開(kāi)發(fā)實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2016.
〔編輯:白潔〕
TN925.93
:A
10.15913/j.cnki.kjycx.2017.15.035
2095-6835(2017)15-0035-04