基于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.
(责任编辑:王谦)