基于IP的舞臺內通系統通訊協議的研究
任慧,王會芹,馬旭超
(中國傳媒大學自動化系,北京 100024 )
摘要:基于IP的舞臺內通系統能夠解決傳統劇場調度的缺陷,進行相關技術協議的研究很有必要。本文介紹了基于IP的舞臺內通系統的組成框架,重點分析研究了系統的通訊協議,以及協議在內通系統虛擬控制平臺中的應用。基于IP的舞臺內通系統通訊協議具有一定的可靠性和實時性,經過真實系統的應用測試可以滿足劇場舞臺監督調度的通訊需求。
關鍵詞:內通系統;通訊協議;TCP;UDP
中圖分類號:TN919文獻標識碼:A
收稿日期:2015-02-15
基金項目:“十二五”國家科技支撐計劃重大項目“演出呈現關鍵支撐技術研發與應用示范(項目編號:2012BAH38F00)”資助
作者簡介:任慧 (1966- ),男(漢族),山西應縣人,中國傳媒大學教授. 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引言
在劇場演出中,舞臺監督通過劇場的舞臺內通系統來調度協調演出相關人員,保障演出有條不紊的順利進行。傳統的舞臺內通系統是基于電路交換的,各子系統之間分散獨立,設備之間的協同性不高[1]。由于網絡技術的迅猛發展,使通過網絡交換數據成為可能,IP技術提供了一個理想的多業務平臺,能夠滿足語音、視頻、數據等新的業務需求。終端設備通過IP網絡集成在一個局域網內,很好的解決了當前劇場調度的缺陷,實現了各個部分的無縫融合。在數據交換的過程中,設備間的通信需要制訂相應協議的標準,從而滿足信息交換和相互訪問的需求。
2基于IP的舞臺內通系統介紹
基于IP的舞臺內通系統主要分為有線內通部分,無線內通部分以及調度中心部分,系統組成如圖1所示。各部分的終端最終都連接在交換機上,以IP包的形式進行信息交換,其中,有線基站和無線基站先通過四線接入數字矩陣,數字矩陣中內置有網絡接口卡,將模擬數據轉換為IP數據,然后接入交換機。調度中心的硬件通話平臺和虛擬通話平臺接入同一交換機,通過網絡連接矩陣[2]。通過對矩陣各種功能的自定義設置,可實現與矩陣下各路有線,無線通話單元的通訊需求。硬件通話平臺與虛擬通話平臺在和矩陣進行數據交換時,遵循同樣的協議,協議研究的通訊雙方為通話平臺(硬件通話平臺或許你通話平臺)和數字矩陣的網絡接口卡。

圖1 舞臺內通系統組成框圖
3基于IP的舞臺內通系統通訊協議
通話平臺啟動后,必須按照一定的時序發送消息,才能與網絡接口卡聯絡上,只有聯絡上之后,才能進行語音通話。通訊總時序如表1所示。

表1 舞臺內通系統通訊總時序
數字矩陣的網絡接口卡啟動后,每隔5秒會向通話平臺發送聯機信號,直至接收端通話平臺應答,用于網絡接口卡與通話平臺的初始聯絡。通話平臺收到聯機請求后進行回復,實現聯機。
請求幀由網絡接口卡采用UDP協議發送,包含的信息有:網絡接口卡的ID號,通話平臺占用網絡接口卡設備的通道號,設備類型以及與網絡接口卡相連的設備的通道號。應答幀由通話平臺采用UDP協議發送,包含的信息有網絡接口卡ID號,網絡接口卡通道號。
聯機以后,網絡接口卡和通話平臺互相發送建立心跳連接的信號,并互相應答一次,應答之后即表示心跳連接建立,然后兩者每隔一段時間發送心跳包,如果有應答,即表示兩設備之間保持聯機狀態,如果一段時間之內沒有應答,即表示設備之間斷開連接,網絡接口卡隨之進入上一節所示的請求聯機狀態。
(1)心跳啟動幀與應答幀
網絡接口卡在接收到通話平臺如3.1節所述的應答幀后,采用UDP協議向通話平臺發送心跳啟動幀。網絡接口卡心跳啟動幀包含的信息有:網絡接口卡的標識號,音頻編碼標識,網絡接口卡IP地址以及端口號。網絡接口卡標識號同一次聯機時不變,不同次聯機變化。
通話平臺在接收到網絡接口卡心跳啟動幀后,采用UDP協議向網絡接口卡發送應答幀。網絡接口卡心跳啟動幀的應答幀包含的信息有平臺心跳啟動ID和平臺標識號。
通話平臺在應答網絡接口卡心跳啟動幀后,采用UDP協議向網絡接口卡發送平臺心跳啟動幀。并等待網絡接口卡的應答。平臺心跳啟動幀包含的信息有:平臺標識號,音頻編碼標識,通話平臺IP地址以及端口號。
網絡接口卡在接收到平臺心跳啟動幀后,采用UDP協議通話平臺端口發送應答幀。平臺心跳啟動幀的應答幀包含的信息有網絡接口卡心跳啟動ID和網絡接口卡標識號。
(2)心跳保持幀
通話平臺在接收到網絡接口卡發送的心跳啟動幀的應答幀時,采用UDP協議向網絡接口卡端口發送通話平臺心跳保持幀,其中包含平臺標識號的信息且第一個字節為0x81。
網絡接口卡接收到通話平臺發送的以0x81開始的信令時,采用UDP協議向通話平臺發送網絡接口卡心跳保持幀,其中包含網絡接口卡標識號且第一個字節為0Xc1。
網絡接口卡發送完此信令后,雙方開始進行TCP連接。
通話平臺作為TCP客戶端,網絡接口卡作為TCP服務器,TCP連接建立好了后,雙方會互相發送自身設備信息,之后就是不包含信息的心跳保持幀。
監控信息是以TCP消息格式發送的,首三個字節是SOM(Send Of Message的縮寫)的ASCLL碼,后兩個字節是消息長度,剩下的字節為具體的消息內容。不同的消息描述對應不同的功能請求。如:平臺設備探測與詢問,矩陣聯機狀態,矩陣與字符相關的設置信息,通話平臺的功能選項,矩陣選項信息,配置信息的查詢與回復,配置信息的更改請求與回復等。
TCP心跳保持幀的發送和回應都是相同幀,不包含信息,為固定格式的5個字節。
語音通話時需要發送相應的語音控制命令,包括發送控制、接收控制命令。語音數據采樣率8000Hz,每次采樣用8位,單通道。發送的語音數據中有一個語音頭,為最開始的18個字節,語音頭是語音部分最關鍵的,因為語音頭是有相應含義的,得按相應的格式生成,否則接收方不會接收。
(1)語音發送信令
采用TCP協議,當說話時,按下說鍵,會發送一個通話開始命令,然后發送語音包。語音發送信令包含組號和組值信息。
組號是通話平臺上的通道所在的組號,4個編號為一組,當與通話平臺連接的設備在平臺的通道號在00H-03H范圍時,組號為00H;在04H-07H范圍時,組號為01H;在08-0BH范圍時,組號位02H。組值是在本組的編號。一個組有四個通道,四個通道的編號分別是01H、02H、04H、08H。
(2)語音接收信令
采用TCP協議,當接聽時,按下聽鍵,會發送一個開始接聽命令,然后接收語音包。語音接收信令同樣包含組號與組值信息。組值與發送信令的相同,組號是從10H開始,當與通話平臺連接的設備在平臺的通道號在00H-03H范圍時,組號為10H;在04H-07H范圍時,組號為11H;在08-0BH范圍時,組號位12H。
(3)語音停止信令
采用TCP協議,當說話時,按下停止通話鍵時,會發送停止通話命令;當接聽,按下停止接聽按鍵時,會發送停止接聽命令。語音停止信令包含組號信息。組號分為發送組號和接聽組號,當為發送組號,表示停止說話,當為接聽組號,表示停止接聽語音數據。
(4)語音包
當通話平臺發送TCP通話命令時,接著就發送語音數據。語音包發送采用UDP協議。語音包的包頭除了固定標志及通話平臺標識之外包含下列信息:
第一個語音包標志:當為G711a編碼時,值為88H表示第1個語音包,為08H表示后續語音包。當為其他編碼時,值為80H表示第1個語音包,為00H表示后續語音包。
語音包編號:表示語音包的順序。起始編號隨機確定,后續編號自動加1,例如當前語音包的編號為08acH,則下一個語音包的編號為08adH。
語音包大小標識:可用來計算語音包的大小,下一個語音包的大小標識數值與當前語音包的大小標識的數值之差即為當前語音包的大小。語音包大小根據設置的編碼類型來決定。
包頭之后即是包含語音信息的數據。
當通話平臺關閉時,會發送斷開連接的包。包有兩種,一種是TCP包,一種是UDP包。TCP包中標志號的范圍為01H-1F。要斷開連接,必須把01H-1F的包(32個)都發一遍。然后再發一個UDP包,包含心跳ID和平臺標識的信息。上述兩種包發送完畢即斷開了連接。
4通訊協議在內通系統虛擬控制平臺中的應用
舞臺內通系統虛擬控制平臺的開發環境為VS2010,主要分為界面、設備通訊、聲卡控制和播放器四個模塊,本文研究的協議主要用于設備通訊這一模塊。通訊過程采用socket編程,具體流程如圖2所示。

圖2 設備通訊設計流程
最后一步的接包和發包必須嚴格按照時序進行。按照此通訊協議可實現虛擬控制平臺的通話平臺與矩陣網絡接口卡網絡接口卡之間的連接,并實現語音數據以及配置數據的交換。基于此協議的舞臺內通系統具有較強的可靠性和較好的實時性,網絡層遵循IP協議,傳輸層采用TCP、UDP協議,具有較好的兼容性[3]。通過對系統進行聯機測試和語音質量測試,各部分指標均可滿足舞臺內通調度的需求。
5結論
舞臺內通系統的IP網絡化集成需要各種技術的綜合運用,其中,網絡通信技術是核心,劇場內通系統對實時性、準確性、時序時延等都有較高的要求,所以系統設備間的數據交換需要可靠的通訊協議作為保障,本文研究的舞臺內通系統通訊協議已應用在舞臺內通系統虛擬控制平臺中,經過真實系統工作環境下的測試可以滿足劇場舞臺監督調度的通訊需求,對于提高劇場內通系統的可靠性以及保障劇場演出的順利進行具有重要的意義。
參考文獻
[1]陳威旋.淺談內部通話系統的發展及實踐心得[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.
(責任編輯:王謙)