随着下一代网络技术的不断发展,软交换并不仅将公共交换电话网络PSTN(Public Switched Telephone Network,PSTN)移植到IP网,实现网络电话(Voice over Internet Protocol,VoIP),他向电信运营商提供一个优秀的体系架构,将话音业务、视频业务、新兴的互联网业务整合到一个统一的框架中,SIP协议就是其中的关键纽带。由IETF最年轻的工作组之一的SIP工作组发布的SIP相关标准已经成为通信和网络界的研究热点。目前SIP工作组发表的协议和草案已超过30个,除了核心协议以外,其他协议涵盖QoS、安全、消息头和方法扩展、与PSTN等其他协议的互操作性、穿透防火墙和NAT、应用多消息体、即时消息等诸多话题,其最终目标就是为所有Internet成功的应用提供无所不在的接人,成为联系Internet和电信、多媒体的重要媒介。
本文根据国家大力发展社区医疗的总体方针和山东省信息产业专项发展基金项目“虚拟医院集成平台的研究与开发”的课题需要,通过对社区医疗门诊的特点和家庭医疗保健需求进行深人研究和分析,综合利用电子技术、计算机技术和现代通信技术,设计出了一种基于SIP协议的针对慢性病患者和老年人的社区远程监护网络系统。该系统作为医院与病人之间的桥梁,减少不必要的“病人访问医院”以及医生处方病人的次数,实现更有效和更高质量的病人护理,使病人尽可能的呆在家中便可接受高校的医生指导和护理措施。在济南市某社区试运行的结果表明了系统设计的可行性和先进性。
1 SIP的体系结构
SIP是一个应用层控制协议,与HTTP一样,SIP也是一个通信协议,是一系列标准的集合。他定义了终端设备(计算机、固定电话和移动电话)如何通过协议彼此交换信息。
SIP可建立、修改、终止多媒体会话或呼叫。SIP主要有2种结构元素,即用户代理UA和网络服务器。UA位于SIP终端站中,他包含2个部分:一是用户代理客户端(UAC),负责发布SIP请求;二是用户代理服务器(UAS),负责响应SIP请求。与一般情况下,这两个部分可以相互转换。其中,用户代理服务器有3种不通的类型,即:重定向服务器、代理服务器和注册服务器(Register)。
SIP的网络体系结构图如图1所示。
作为用户代理服务器的3种类型之一,重定向服务器通过发送被呼叫者获得的SIP URL地址处理INVITE消息。代理服务器执行应用层的SIP请求和响应路由。代理服务器可以是有记忆的,也可以是无记忆的。有记忆的代理服务器在处理完一个呼叫后,将完全忘记有关该呼叫的所有信息,直到下一个消息的到达。另外,代理可以是有分支代理,亦可以是无分支代理,例如,有分支代理可让几部电话同时振铃,直到有人拿起其中1部电话为止,而无分支代理一次只能有一部电话振铃。注册服务器一般用于记录SIP地址(SIP URL)和相关的IP地址,通常用于启动后的注册。由于在REGISTER消息中使用SIP URL地址,当INVITE请求到达时,代理服务器或重定向服务器可直接转发请求信息。这一基于注册服务器的转发特性构成了网络支持真正的号码移动性服务的基础。通常情况下,一个SIP网络服务器可实现不通种类服务器的组合。SIP呼叫典型的流程,如图2所示。
图2中,User@sipl.com作为UAC,希望同User2@sip2.com通话,UAC首先发送一个INVITE请求,本地的SIP代理服务器sipl.com接收到这个INVITE请求后,经过地址解析,将其发送至SIP代理服务器sip2.corn,同时sip1.com返回给User1一个100 Trying消息。sip2.com接收到sip1.com的INVITE请求后,将其转发给user2@sip2.com,并返回给sip1.com一个Trying消息。User2接收到INVITE请求后,在应答之前,将返回给sip2.com一个180 Ringing消息,此Ringing消息将依次转发给sip1.com,User1。如果User2决定应答呼叫,则返回一个200 OK消息,此消息经过sip2.com,sip1.com,最后到达User1。User1在收到200 OK消息后,直接发送一个ACK确认消息给User2。至此呼叫建立过程完成,User1和User2之间可以建立媒体通道进行对话。当一方想结束通话时,发送一个BYE消息给对方,对方返回一个200 OK消息,SIP呼叫即被终止。
社区远程医疗系统采用SIP协议作为系统设计的关键协议,是基于其在结合Internet设计方面有着明显的优越性:
(1)SIP拥有优异的可扩展性,可以大大降低对中心节点(核心网络服务器)的压力,使系统服务边缘化。
(2)使用SIP协议可以简单易行的嵌入廉价的终端用户设备,并且可确保其互操作能力,使不同的设备进行通信。
(3)SIP强调支持多方会议,包括IP多播和请求分支的功能,这为远程会诊提供了很好的支持。
2 系统总体设计思路及实现