应用SIP协议的楼宇对讲系统设计与实现
2014-10-11许庆泳谭鸽伟
许庆泳,谭鸽伟
(华侨大学 信息科学与工程学院,福建 厦门361021)
相比于数字化网络,当前广泛使用的是基于CAN总线独立组网型的楼宇对讲系统[1],但其存在着大规模组网复杂,业务单一等缺点.在物联网概念和网络融合的背景下,将楼宇对讲系统数字化,与移动通信网络融合成为了新的需求.SIP(session initiation protocol)是IETF(internet engineering task force)提出的会话管理协议[2],在VOIP(voice over internet protocol)中表现出了优越的信令管理性能,并被3GPP(the 3rd generation parteer project)定为IMS(IP multimedia subsystem)核心网的会话控制信令,成为因特网、通信网及其他独立网络相互融合的首选协议.本文提出了一种基于SIP的小区楼宇对讲系统解决方案,将SIP的会话管理优势与IP网络数据传输优势相结合,应用在小区楼宇对讲领域.
1 系统原理分析
传统的楼宇对讲系统一般由门口机、室内用户机、中央控制器以及各楼层的分配器、解码器组成,有独立的布线结构[3],实现访客与户主之间的呼叫寻址、语音通信和门禁控制.
基于SIP协议的新方案,采用IP网搭建小区内部SIP网络,使得建网高效、简易.通过SIP协议的注册机制,可以很好地实现同一服务器域内的任何两点间呼叫寻址,创建并管理两端间的多媒体会话.结合SDP(session description protocol)协议开展多种类型业务,包括文本、语音、视频、XML甚至Java小程序.将基于SIP协议的楼宇对讲系统与IMS网络进行无缝连接,实现与数据网、通信网的最终融合.经过二次开发,极易实现基于楼宇平台上的家居安全、状态显现、移动监控等新型应用.
2 SIP楼宇对讲系统设计
2.1 系统网络结构设计
本方案的网络结构设计,如图1所示.系统由基于SIP的门口机、基于SIP的室内用户机和小区管理中心的SIP服务器组成.整体采用C/S架构,门口机和室内机为客户端,小区管理中心为服务端,双绞线方式接入小区局域网,并以IP网接入方式接入IMS通信网.系统的关键包括客户端SIP协议栈设计、终端的软硬件设计和网络搭建.因此,设计将侧重于方案设计及室内机终端的软硬件实现.
2.2 SIP协议栈设计
SIP协议栈是在开源OSIP的基础上[4],针对楼宇对讲系统的行业特点开发实现,整个协议栈结构[5],如图2所示.协议栈最顶层的事务用户层实现了协议栈面向用户所表现出来的全部行为和功能,包括UI界面生成的操作指令、底层上传的SIP事件指令和定时器生成的超时指令.实现中,设计了一个分层通信处理机制,将协议栈收到的指令用E_CMD_TYPE枚举类型定义,并为每种类型的指令注册对应的回调处理函数,所有的指令类型及处理函数组成一个指令池.每收到一个指令eCmd,则从指令池中寻找匹配对应的处理函数HandlerFunc(Msg_DATA_ST stMsgData,int nAcutIndex),并执行函数,完成一个SIP会话操作.协议栈事务层管理功能直接调用OSIP的实现.传输层调用socket()函数创建网络套接字,bind()和listen()函数绑定和监听端口,rcvfrom()和sendto()函数收发数据包[6].
针对楼宇对讲中远程开锁的实际需求,本协议栈在事务用户层中,采用SIP协议对即时消息的MESSAGE扩展来实现该功能.由室内机端发送的MESSAGE类型消息的消息体携带远程开锁指令“OPEN DOOR”.指令发送方向为单向,只能由室内机发往门口机,其网络通信的信令应答为MESSAGE-200OK.
图1 系统结构框图Fig.1 System structure diagram
图2 协议栈结构框图Fig.2 Protocol stack structure diagram
2.3 室内机软硬件设计
2.3.1 硬件实现 室内机的硬件结构,系统模块组成,如图3所示.系统主要由处理器、数据存储模块、人机交互模块、网络及音频数据通信模块和电源供电模块等构成.
图3 室内机硬件模块组成图Fig.3 Hardware module of indoor machine
主芯片处理器采用TI公司1055型芯片,该芯片内嵌一个32位165MHz的MIPS R4000型处理器,用于系统运行控制;一个125MHz的C55X系列DSP处理器,专用于语音数字信号处理.片上还集成两个10/100Mb·s-1以太网通信接口,两个16位的ADC和DAC转换器,以及LCD控制器、键盘接口、I2C等通用接口.通过共用地址总线和数据总线可同时外扩1个FLASH存储器和1个SDRAM存储器.外围硬件部分,以太网通信接口采用S317103NL型网络变压器,其与耦合电容构成差分信号耦合滤波电路,并接入主芯片片上PHY控制器.人机交互模块,输入采用4×6扫描方式的键盘矩阵,显示采用天马RGB三基色LCD屏.电源供电模块由TI的TPS54286电源控制芯片,结合比例电阻和稳压二级管构成,可提供1.5,3.3,5V三种供电电压.
2.3.2 软件实现 室内机软件依据实现的功能不同,分三层结构设计,分别为底层软件、中间层软件和上层软件,整体设计架构,如图4所示.
底层软件主要是Linux操作系统以及硬件驱动,包括主芯片、存储器、网口、LCD、键盘等,并为上一层软件提供系统级接口调用.中间层软件包含SIP协议栈和DSP语音数字信号处理模块.SIP协议栈负责终端接入SIP网络并管理SIP会话.语音处理模块运行在DSP处理器上,完成语音信号的编解码及RTP拆封包.其中,语音编解码算法采用G711A-Law,语音防抖技术采用分配固定缓冲内存,接收RTP语音包的策略[7].上层软件主要实现人机交互,用户界面采用北京飞漫公司 MinuGUI开发实现[8].
2.4 门口机与服务器
门口机采用VC 6.0编写的仿真软件.该终端后台运行了对楼宇对讲系统设计的SIP协议栈,可完成呼叫、接收解析门禁控制SIP消息指令.服务器采用SIP开源的SER服务器[9],负责终端帐号接入和权限管理,并对SIP信令进行路由和转发.
图4 整机软件结构Fig.4 Software structure diagram
3 系统实验与分析
3.1 系统实验测试
为验证方案的可行性,根据所设计方案的系统结构框架(图1),在局域网内部搭建了小型楼宇对讲系统测试环境.测试中观察UI界面的状态提示,并用WireShark网络抓包工具,捕获SIP包进行深层次逻辑分析[10].测试内容包括以下3个功能项.
1)注册认证功能测试
预置条件:服务器、室内机、门口机接入LAN,并配置静态IP为192.168.1.200,192.168.1.10,192.168.1.20;SIP服务器上创建户主帐号、密码等鉴权数据,并将室内机SIP帐号设为101@192.168.1.200,密码为101;门口机SIP帐号为100@192.168.1.200,密码为100.
测试步骤:两终端分别输入服务器IP地址192.168.1.200,端口5060,以及各自的帐号和密码,接入局域网网络,向服务器发送REGISTER类SIP消息注册.
测试结果:界面提示注册成功;抓包分析SIP信令流为REGISTER-401-REGISTER-200OK.
结果分析:SIP信令流正确,终端帐号注册认证成功,成功接入服务器.
2)会话创建功能测试
预置条件:室内机与门口机处于已注册状态,与服务器连接正常.
测试步骤:门口机192.168.1.20,输入被呼叫用户的门牌号“101”,按“呼叫”键,开始呼叫;室内机振铃,摘话柄,创建会话进行语音通信,挂机退出.
测试结果:室内机UI界面显示“进来呼叫”,摘手柄后切换到通话状态,能听到192.168.1.20端的声音,挂机结束会话;抓包显示192.168.1.20,信令流程为INVITE-180Ringing-200OK-ACK-BYE-200OK;语音通信正常,wireshark可抓获RTP语音包.
结果分析:SIP信令流正常;任意帐号点对点间能创建会话,语音数据传输流畅.
3)远程开锁功能测试
预置条件:门口机与室内机已经建立会话且正在语音通信中;门口机门禁处于“关闭”状态.
测试步骤:室内机192.168.1.10,按“开锁”键,往门口机192.168.1.20发送携带 OPEN DOOR指令的MESSAGE消息.
测试结果:门口机门禁状态由“关闭”切换为“开启”;抓包显示192.168.1.10/20的SIP信令流程为MESSAGE-200OK.
结果分析:通过MESSAGE消息实现了对远端门禁系统开关状态有效的实时管理.
通过上述系列功能测试并分析,验证了所提方案能很好的满足楼宇对讲系统的需求.且采用SIP实现,在帐号管理、组网、会话创建、寻址呼叫以及业务承载等方面也都有着很好的性能表现.
3.2 系统性能优势分析
为了验证方案的总体性能优劣,将所设计方案与传统的基于总线型的方案,就系统的关键指标进行比较,如表1所示.
表1 楼宇对讲系统方案比较Tab.1 Comparison of building intercom system
通过对比分析:基于SIP方案的系统凭借SIP体系网络所具备的特点,在组网能力、数据传输、呼叫能力、业务支持上都具备极大优势;尤其是采用SIP协议,可实现与IMS通信网的无缝融合的特性,更是以往的对讲系统所无法比拟.
4 结束语
SIP被誉为通信网中的“TCP/IP”协议,具有很强的生命力.测试分析表明:基于SIP协议的楼宇对讲系统方案,不仅克服了传统技术存在的缺陷,提高了系统建设的方便性.更重要的是,方案采用同IMS核心网相同的控制信令,将使得楼宇对讲系统不再只是独立的网络系统,而可以直接通过IP网接入,与下一代IMS移动通信网进行对接,提升楼宇智能化水平,具有重要的实用价值.
[1] 武金山.基于CAN总线的楼宇自动化系统设计[D].合肥:合肥工业大学,2008:8-18.
[2] ROSENBERG J,SCHULZRINNE H,CAMARILLO G,et al.RFC 3261SIP:Session Initiation Protocol.[2008-01-23].http:∥www.ietf.org/rfc/rfc3261.txt.
[3] 谢杨华.智能楼宇可视对讲系统的研究[D].武汉:武汉理工大学,2007:6-23.
[4] 赵璐璐,张善从.基于oSIP的嵌入式SIP协议栈设计[J].计算机应用与软件,2010,27(3):265-268.
[5] 张薇薇.嵌入式SIP协议栈的设计与实现[J].计算机应用与软件,2007,24(4):139-141.
[6] 王枫,罗家融.Linux下多线程Socket通讯的研究与应用[J].计算机工程与应用,2004,16:102-109.
[7] 白宪丽.基于RTP音频的实时传输实施与实现[D].成都:电子科技大学,2009:37-54.
[8] 于水生.基于Linux和MiniGUI的嵌入式计算机系统的研发[D].北京:北京邮电大学,2007:47-51.
[9] 彭扬,黄永峰.SER服务器的结构分析[J].数据通信,2007,6:28-32.
[10] 林浒.SIP协议测试方法和测试工具的研究[J].小型微型计算机系统,2008,29(3):406-410.