基于IP的舞臺內(nèi)通系統(tǒng)通訊協(xié)議的研究
任慧,王會芹,馬旭超
(中國傳媒大學(xué)自動化系,北京 100024 )
摘要:基于IP的舞臺內(nèi)通系統(tǒng)能夠解決傳統(tǒng)劇場調(diào)度的缺陷,進行相關(guān)技術(shù)協(xié)議的研究很有必要。本文介紹了基于IP的舞臺內(nèi)通系統(tǒng)的組成框架,重點分析研究了系統(tǒng)的通訊協(xié)議,以及協(xié)議在內(nèi)通系統(tǒng)虛擬控制平臺中的應(yīng)用。基于IP的舞臺內(nèi)通系統(tǒng)通訊協(xié)議具有一定的可靠性和實時性,經(jīng)過真實系統(tǒng)的應(yīng)用測試可以滿足劇場舞臺監(jiān)督調(diào)度的通訊需求。
關(guān)鍵詞:內(nèi)通系統(tǒng);通訊協(xié)議;TCP;UDP
中圖分類號:TN919文獻標識碼:A
收稿日期:2015-02-15
基金項目:“十二五”國家科技支撐計劃重大項目“演出呈現(xiàn)關(guān)鍵支撐技術(shù)研發(fā)與應(yīng)用示范(項目編號:2012BAH38F00)”資助
作者簡介:任慧 (1966- ),男(漢族),山西應(yīng)縣人,中國傳媒大學(xué)教授. E-mail:renhui@cuc.edu.cn
Research on Communication Protocol
of Stage Intercom System Based on IP
REN Hui,WANG Hui-qin,MA Xu-chao
(Department of Automation,Communication University of China,Beijing 100024,China)
Abstract:Stage intercom system based on IP can solve the defects of traditional theater dispatch,it is necessary to research on related technical protocols. This article presents framework of IP-based stage intercom system,emphasizes the analysis of communication protocol used in the system,and introduces briefly the application of the protocol in virtual control platform for intercom system. The communication protocol of the system has a certain reliability and real-time processing capability,which can fulfill the need to communication in theater dispatch.
Keywords:intercom system;communication protocol;TCP;UDP
1引言
在劇場演出中,舞臺監(jiān)督通過劇場的舞臺內(nèi)通系統(tǒng)來調(diào)度協(xié)調(diào)演出相關(guān)人員,保障演出有條不紊的順利進行。傳統(tǒng)的舞臺內(nèi)通系統(tǒng)是基于電路交換的,各子系統(tǒng)之間分散獨立,設(shè)備之間的協(xié)同性不高[1]。由于網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,使通過網(wǎng)絡(luò)交換數(shù)據(jù)成為可能,IP技術(shù)提供了一個理想的多業(yè)務(wù)平臺,能夠滿足語音、視頻、數(shù)據(jù)等新的業(yè)務(wù)需求。終端設(shè)備通過IP網(wǎng)絡(luò)集成在一個局域網(wǎng)內(nèi),很好的解決了當(dāng)前劇場調(diào)度的缺陷,實現(xiàn)了各個部分的無縫融合。在數(shù)據(jù)交換的過程中,設(shè)備間的通信需要制訂相應(yīng)協(xié)議的標準,從而滿足信息交換和相互訪問的需求。
2基于IP的舞臺內(nèi)通系統(tǒng)介紹
基于IP的舞臺內(nèi)通系統(tǒng)主要分為有線內(nèi)通部分,無線內(nèi)通部分以及調(diào)度中心部分,系統(tǒng)組成如圖1所示。各部分的終端最終都連接在交換機上,以IP包的形式進行信息交換,其中,有線基站和無線基站先通過四線接入數(shù)字矩陣,數(shù)字矩陣中內(nèi)置有網(wǎng)絡(luò)接口卡,將模擬數(shù)據(jù)轉(zhuǎn)換為IP數(shù)據(jù),然后接入交換機。調(diào)度中心的硬件通話平臺和虛擬通話平臺接入同一交換機,通過網(wǎng)絡(luò)連接矩陣[2]。通過對矩陣各種功能的自定義設(shè)置,可實現(xiàn)與矩陣下各路有線,無線通話單元的通訊需求。硬件通話平臺與虛擬通話平臺在和矩陣進行數(shù)據(jù)交換時,遵循同樣的協(xié)議,協(xié)議研究的通訊雙方為通話平臺(硬件通話平臺或許你通話平臺)和數(shù)字矩陣的網(wǎng)絡(luò)接口卡。
圖1 舞臺內(nèi)通系統(tǒng)組成框圖
3基于IP的舞臺內(nèi)通系統(tǒng)通訊協(xié)議
通話平臺啟動后,必須按照一定的時序發(fā)送消息,才能與網(wǎng)絡(luò)接口卡聯(lián)絡(luò)上,只有聯(lián)絡(luò)上之后,才能進行語音通話。通訊總時序如表1所示。
表1 舞臺內(nèi)通系統(tǒng)通訊總時序
數(shù)字矩陣的網(wǎng)絡(luò)接口卡啟動后,每隔5秒會向通話平臺發(fā)送聯(lián)機信號,直至接收端通話平臺應(yīng)答,用于網(wǎng)絡(luò)接口卡與通話平臺的初始聯(lián)絡(luò)。通話平臺收到聯(lián)機請求后進行回復(fù),實現(xiàn)聯(lián)機。
請求幀由網(wǎng)絡(luò)接口卡采用UDP協(xié)議發(fā)送,包含的信息有:網(wǎng)絡(luò)接口卡的ID號,通話平臺占用網(wǎng)絡(luò)接口卡設(shè)備的通道號,設(shè)備類型以及與網(wǎng)絡(luò)接口卡相連的設(shè)備的通道號。應(yīng)答幀由通話平臺采用UDP協(xié)議發(fā)送,包含的信息有網(wǎng)絡(luò)接口卡ID號,網(wǎng)絡(luò)接口卡通道號。
聯(lián)機以后,網(wǎng)絡(luò)接口卡和通話平臺互相發(fā)送建立心跳連接的信號,并互相應(yīng)答一次,應(yīng)答之后即表示心跳連接建立,然后兩者每隔一段時間發(fā)送心跳包,如果有應(yīng)答,即表示兩設(shè)備之間保持聯(lián)機狀態(tài),如果一段時間之內(nèi)沒有應(yīng)答,即表示設(shè)備之間斷開連接,網(wǎng)絡(luò)接口卡隨之進入上一節(jié)所示的請求聯(lián)機狀態(tài)。
(1)心跳啟動幀與應(yīng)答幀
網(wǎng)絡(luò)接口卡在接收到通話平臺如3.1節(jié)所述的應(yīng)答幀后,采用UDP協(xié)議向通話平臺發(fā)送心跳啟動幀。網(wǎng)絡(luò)接口卡心跳啟動幀包含的信息有:網(wǎng)絡(luò)接口卡的標識號,音頻編碼標識,網(wǎng)絡(luò)接口卡IP地址以及端口號。網(wǎng)絡(luò)接口卡標識號同一次聯(lián)機時不變,不同次聯(lián)機變化。
通話平臺在接收到網(wǎng)絡(luò)接口卡心跳啟動幀后,采用UDP協(xié)議向網(wǎng)絡(luò)接口卡發(fā)送應(yīng)答幀。網(wǎng)絡(luò)接口卡心跳啟動幀的應(yīng)答幀包含的信息有平臺心跳啟動ID和平臺標識號。
通話平臺在應(yīng)答網(wǎng)絡(luò)接口卡心跳啟動幀后,采用UDP協(xié)議向網(wǎng)絡(luò)接口卡發(fā)送平臺心跳啟動幀。并等待網(wǎng)絡(luò)接口卡的應(yīng)答。平臺心跳啟動幀包含的信息有:平臺標識號,音頻編碼標識,通話平臺IP地址以及端口號。
網(wǎng)絡(luò)接口卡在接收到平臺心跳啟動幀后,采用UDP協(xié)議通話平臺端口發(fā)送應(yīng)答幀。平臺心跳啟動幀的應(yīng)答幀包含的信息有網(wǎng)絡(luò)接口卡心跳啟動ID和網(wǎng)絡(luò)接口卡標識號。
(2)心跳保持幀
通話平臺在接收到網(wǎng)絡(luò)接口卡發(fā)送的心跳啟動幀的應(yīng)答幀時,采用UDP協(xié)議向網(wǎng)絡(luò)接口卡端口發(fā)送通話平臺心跳保持幀,其中包含平臺標識號的信息且第一個字節(jié)為0x81。
網(wǎng)絡(luò)接口卡接收到通話平臺發(fā)送的以0x81開始的信令時,采用UDP協(xié)議向通話平臺發(fā)送網(wǎng)絡(luò)接口卡心跳保持幀,其中包含網(wǎng)絡(luò)接口卡標識號且第一個字節(jié)為0Xc1。
網(wǎng)絡(luò)接口卡發(fā)送完此信令后,雙方開始進行TCP連接。
通話平臺作為TCP客戶端,網(wǎng)絡(luò)接口卡作為TCP服務(wù)器,TCP連接建立好了后,雙方會互相發(fā)送自身設(shè)備信息,之后就是不包含信息的心跳保持幀。
監(jiān)控信息是以TCP消息格式發(fā)送的,首三個字節(jié)是SOM(Send Of Message的縮寫)的ASCLL碼,后兩個字節(jié)是消息長度,剩下的字節(jié)為具體的消息內(nèi)容。不同的消息描述對應(yīng)不同的功能請求。如:平臺設(shè)備探測與詢問,矩陣聯(lián)機狀態(tài),矩陣與字符相關(guān)的設(shè)置信息,通話平臺的功能選項,矩陣選項信息,配置信息的查詢與回復(fù),配置信息的更改請求與回復(fù)等。
TCP心跳保持幀的發(fā)送和回應(yīng)都是相同幀,不包含信息,為固定格式的5個字節(jié)。
語音通話時需要發(fā)送相應(yīng)的語音控制命令,包括發(fā)送控制、接收控制命令。語音數(shù)據(jù)采樣率8000Hz,每次采樣用8位,單通道。發(fā)送的語音數(shù)據(jù)中有一個語音頭,為最開始的18個字節(jié),語音頭是語音部分最關(guān)鍵的,因為語音頭是有相應(yīng)含義的,得按相應(yīng)的格式生成,否則接收方不會接收。
(1)語音發(fā)送信令
采用TCP協(xié)議,當(dāng)說話時,按下說鍵,會發(fā)送一個通話開始命令,然后發(fā)送語音包。語音發(fā)送信令包含組號和組值信息。
組號是通話平臺上的通道所在的組號,4個編號為一組,當(dāng)與通話平臺連接的設(shè)備在平臺的通道號在00H-03H范圍時,組號為00H;在04H-07H范圍時,組號為01H;在08-0BH范圍時,組號位02H。組值是在本組的編號。一個組有四個通道,四個通道的編號分別是01H、02H、04H、08H。
(2)語音接收信令
采用TCP協(xié)議,當(dāng)接聽時,按下聽鍵,會發(fā)送一個開始接聽命令,然后接收語音包。語音接收信令同樣包含組號與組值信息。組值與發(fā)送信令的相同,組號是從10H開始,當(dāng)與通話平臺連接的設(shè)備在平臺的通道號在00H-03H范圍時,組號為10H;在04H-07H范圍時,組號為11H;在08-0BH范圍時,組號位12H。
(3)語音停止信令
采用TCP協(xié)議,當(dāng)說話時,按下停止通話鍵時,會發(fā)送停止通話命令;當(dāng)接聽,按下停止接聽按鍵時,會發(fā)送停止接聽命令。語音停止信令包含組號信息。組號分為發(fā)送組號和接聽組號,當(dāng)為發(fā)送組號,表示停止說話,當(dāng)為接聽組號,表示停止接聽語音數(shù)據(jù)。
(4)語音包
當(dāng)通話平臺發(fā)送TCP通話命令時,接著就發(fā)送語音數(shù)據(jù)。語音包發(fā)送采用UDP協(xié)議。語音包的包頭除了固定標志及通話平臺標識之外包含下列信息:
第一個語音包標志:當(dāng)為G711a編碼時,值為88H表示第1個語音包,為08H表示后續(xù)語音包。當(dāng)為其他編碼時,值為80H表示第1個語音包,為00H表示后續(xù)語音包。
語音包編號:表示語音包的順序。起始編號隨機確定,后續(xù)編號自動加1,例如當(dāng)前語音包的編號為08acH,則下一個語音包的編號為08adH。
語音包大小標識:可用來計算語音包的大小,下一個語音包的大小標識數(shù)值與當(dāng)前語音包的大小標識的數(shù)值之差即為當(dāng)前語音包的大小。語音包大小根據(jù)設(shè)置的編碼類型來決定。
包頭之后即是包含語音信息的數(shù)據(jù)。
當(dāng)通話平臺關(guān)閉時,會發(fā)送斷開連接的包。包有兩種,一種是TCP包,一種是UDP包。TCP包中標志號的范圍為01H-1F。要斷開連接,必須把01H-1F的包(32個)都發(fā)一遍。然后再發(fā)一個UDP包,包含心跳ID和平臺標識的信息。上述兩種包發(fā)送完畢即斷開了連接。
4通訊協(xié)議在內(nèi)通系統(tǒng)虛擬控制平臺中的應(yīng)用
舞臺內(nèi)通系統(tǒng)虛擬控制平臺的開發(fā)環(huán)境為VS2010,主要分為界面、設(shè)備通訊、聲卡控制和播放器四個模塊,本文研究的協(xié)議主要用于設(shè)備通訊這一模塊。通訊過程采用socket編程,具體流程如圖2所示。
圖2 設(shè)備通訊設(shè)計流程
最后一步的接包和發(fā)包必須嚴格按照時序進行。按照此通訊協(xié)議可實現(xiàn)虛擬控制平臺的通話平臺與矩陣網(wǎng)絡(luò)接口卡網(wǎng)絡(luò)接口卡之間的連接,并實現(xiàn)語音數(shù)據(jù)以及配置數(shù)據(jù)的交換。基于此協(xié)議的舞臺內(nèi)通系統(tǒng)具有較強的可靠性和較好的實時性,網(wǎng)絡(luò)層遵循IP協(xié)議,傳輸層采用TCP、UDP協(xié)議,具有較好的兼容性[3]。通過對系統(tǒng)進行聯(lián)機測試和語音質(zhì)量測試,各部分指標均可滿足舞臺內(nèi)通調(diào)度的需求。
5結(jié)論
舞臺內(nèi)通系統(tǒng)的IP網(wǎng)絡(luò)化集成需要各種技術(shù)的綜合運用,其中,網(wǎng)絡(luò)通信技術(shù)是核心,劇場內(nèi)通系統(tǒng)對實時性、準確性、時序時延等都有較高的要求,所以系統(tǒng)設(shè)備間的數(shù)據(jù)交換需要可靠的通訊協(xié)議作為保障,本文研究的舞臺內(nèi)通系統(tǒng)通訊協(xié)議已應(yīng)用在舞臺內(nèi)通系統(tǒng)虛擬控制平臺中,經(jīng)過真實系統(tǒng)工作環(huán)境下的測試可以滿足劇場舞臺監(jiān)督調(diào)度的通訊需求,對于提高劇場內(nèi)通系統(tǒng)的可靠性以及保障劇場演出的順利進行具有重要的意義。
參考文獻
[1]陳威旋.淺談內(nèi)部通話系統(tǒng)的發(fā)展及實踐心得[J].信息通信,2012,(3).
[2]Li zhen,Yang qian yi.Research on QoS Guarantee Technology for Intercom System Based on SIP [J].Applied Mechanics and Materials,2014,(9):644-650.
[3]Jonathan Daviason,James Peters.VOIP over IP Fundamentals[J].Indianapolis:Cisco Press,2012.
(責(zé)任編輯:王謙)