时间:2023-01-01 13:07:58
序论:写作是一种深度的自我表达。它要求我们深入探索自己的思想和情感,挖掘那些隐藏在内心深处的真相,好投稿为您带来了七篇sip协议范文,愿它们成为您写作过程中的灵感催化剂,助力您的创作。
一、引言
随着通信技术的发展及人们对通信要求的提高,当今的通信业务集音频、数据信息、视频于一体。同时,Internet及IP网络的发展也为各种通信业务提供了基础。
SIP是IETF指定的用于实现多媒体回话控制的协议,该协议具有实现简单、扩展性强的特点,并且具有强大的多媒体会话和业务扩展能力以及用户查找和定位能力。由于SIP可以和现有的Internet协议紧密联系,从而获得了广泛应用,并且SIP已被3GPP组织作为R5/R6多媒体子系统(IMS)的呼叫控制协议。本文将对IMS网络和SIP协议进行介绍,并提出一种基于IMS网络的SIP信令协议栈。
二、IMS网络结构及SIP协议
IMS是3GPP在R5版本中提出的支持IP多媒体业务的子系统。IMS以SIP为核心呼叫控制协议,为移动终端提供多媒体呼叫控制业务,具有应用服务器层、会话控制层、传输与终端层三层结构,包括CSCF、HSS、MGCF和MGW等实体。
IMS中最重要的实体是CSCF和HSS,CSCF负责处理多媒体会话业务,相当于SIP服务器,包括CSCF(P-CSCF)、查询CSCF(I-CSCF)和服务CSCF(S-CSCF)。HSS(归属用户服务器)是IMS中所有与用户和服务相关的数据主存储器,存储了用户身份、注册信息、接入参数和服务触发信息等。
SIP是IETF制定基于ASCII码的面向IP电话和多媒体会议的应用层控制协议,用于建立、修改和终止多媒体会话,使参与会话的成员可以通过多播方式、单播连网或二者结合的方式进行通信。
典型SIP协议中有客户机和服务器之分,客户机是为了向服务器发送请求而与服务器建立连接的应用程序,User Agent和Proxy中含有客户机;服务器是用来向来自客户机的请求提供服务并处理应答的应用程序。SIP协议具有四层结构,最底层是语法和编码层,第二层是传输层,第三层是事物层,最顶层是事物用户层(TU层)。
三、基于IMS网络的SIP信令协议栈
在SIP协议中,用户客户端通过向服务器发送在网络中的路由请求即可以建立起一个会话过程。因为注册服务器需要提供用户的位置信息,所以需要将SIP地址映射转换为IP地址。IMS中的呼叫会话控制功能(CSCF)的网络实体是服务器和注册服务器,CSCF即是控制实现实时多媒体业务的多媒体服务器。IMS包括三种呼叫会话控制功能:CSCF(P-CSCF)、问讯CSCF(I-CSCF)、服务CSCF(S-CSCF)。CSCF通过SIP协议来实现上述控制控制功能,其中P-CSCF为移动用户接入IMS提供的SIP服务器,I-CSCF是运营网络的入口服务器,同时可以对其它网络隐藏其归属网络的拓扑图,S-CSCF是SIP的注册服务器,执行用户的会话控制服务。因此,IMS网络可以在CSCF的基础上利用SIP协议经过注册过程和会话过程来实现多媒体通信的目的。
本节通过引入有限状态机进行修改和二次开发,实现了一个稳定高效的SIP协议栈,通过提供SIP操作的基本数据结构和应用程序编程接口(API),如用于表示SIP中各类对象的数据结构、对消息和消息体进行解析的API以及实现四类有限状态机的API。该协议栈主要包括4个模块:状态机模块、解析器模块、工具模块、上层封装接口模块,其结构图如图1所示。
3.2解析器模块
解析器模块主要完成对SIP消息的语法解析,它的作用是将收到的SIP消息从文本解析为SIP消息结构体(sip_t),处理完后将待发送的sip_t结构还原成SIP文本消息后在发送。SIP消息的解析过程为:对收到的消息解析起始行,若是SIP请求则解析SIP请求方法、请求URI和SIP版本,若非SIP请求则解析SIP版本、状态码和原因短语;然后依次进行解析SIP头域、解析SIP消息体并保存各项参数完成解析过程。
3.3工具模块
工具模块主要提供完善的SDP协商机制和对话管理的API。本协议栈中的SDP协商工具使用从SDP offer去构建SDP answer的方法,通过分析invit请求中消息体SDP部分的媒体参数描述来构造对于invit请求的响应消息中的SDP消息部分。在对话中,可以动态创建新的事务来开始端点之间的SIP通信过程,帮助管理UA的消息排序和UA之间正确的路由。本协议栈的对话管理工具主要是创建对话并对对话消息进行管理。
3.4上层封装接口模块
上层封装接口模块根据MVC模式中的Model层的调用方式提供面向Model层的简便易用的操作协议栈接口。上层封装接口模块在eXosip封装SIP协议调用接口的基础上进一步封装,供Model层调用,从而使用简单的几行代码就可以实现一个音视频的呼叫。
四、结束语
SIP协议可以创建、管理和终结IMS网络中各种类型的多媒体业务,从而使各种类型的客户端通过SIP都可以建立高质量的端到端通信。本文提出一种SIP协议栈,实现了SIP软终端,可以在IMS网络下实现具备基于SIP的视频和音频通信功能。
参考文献
[1]孙建勇.基于SIP协议的软终端的研究与实现[D].北京邮电大学,2004.
[2]陈朝鹏. SIP协议在IMS系统中的应用[J].中国科技信息,2006(2).
[3]徐晓宇,张惠民. SIP会话协议在第三代移动网络中关键问题研究[J].数据通信,2004(2).
【关键词】 扩展SIP协议簇 调度系统 有线对讲
一、前言
随着企业生产自动化程度不断加深,管理效率不断上升,企业逐步由分层管理向扁平化管理转变。而伴随着企业管理方式的转变,企业通信系统也开始向融合智能化发展。这是因为传统的有线对讲系统、调度系统、广播系统、监控系统等是多个独立的系统,其重复布网、维护复杂等问题无法有效得到解决。为了解决这些问题,首先需要将这些系统统一到一个网络中来,然后通过一个系统将用户使用的电话、对讲等语音终端进行管理。管理大容量的语音终端比较成熟的是软交换技术,同时可以发挥网络灵活接入的特点,完成各种系统统一接入的要求。
二、问题提出
传统的语音通信系统主要包括调度系统、有线对讲系统、应急通信系统等利用程控技术设计出不同操作模式的语音交换系统。这些系统由于主机与终端的差异导致骨干网络无法共用,导致运维复杂等。现在主流的语音交换技术为软交换技术,而软交换技术最为灵活的协议为SIP协议簇。但是SIP协议簇主要定义了终端基本的注册、呼叫、应答等基本状态内容,对于设备终端的属性及过程控制没有进行详细定义,因此导致了各个厂家SIP协议簇扩展内容的大不相同。在IP调度系统中,不同设备间交互的协议种类多,导致不同厂商的调度控制终端和软交换服务器间不能通用。如果通过扩展标准SIP协议簇来实现IP调度系统功能,并且简化IP调度系统协议种类,让不同IP调度系统设备厂商的设备实现通用。这将改变目前用户对多种网关设备无法统一管理的现状。传统设备不同操作模式的语音通信系统便可在同一软交换上实现。
三、扩展协议设计
基于IP的工业综合通信系统是标准软交换系统融合了调度、对讲系统特点在工业领域应用特点,通过对RFC3621的SIP协议簇进行补充实现的。标准的软交换系统设计了终端用户的管理、交换管理、状态管理等基本管理,调度系统系统则需要提供强插、强拆、监听、摘挂机状态、会议等等特殊功能。(图1)
SIP请求消息分为请求行、.消息头域及消息体三部分。消息头域中包含许多个消息头,分别携带着IP终端的各种信息。将在SIP请求消息的消息头域中加入自定义的消息头。增加的消息头表示调度控制终端需要让软交换服务器执行的调度功能。在消息头后加入需要参与该调度功能的话机号码。同时预留一个区域,供用户传送备用信息,如设备相关的型号,协议的版本等。当然自定义消息头遵从标准的SIP协议消息头格式,能够和标准的SIP消息头用相同的方法封装和解析,最终形成一个具有自定义消息头的SIP请求消息。
四、系统实际应用
基于SIP协议簇扩展的应用在企业通信系统中最为常见,如调度系统、有线对讲系统、广播系统等。但是各种语音通信系统的操作模式不同,导致SIP协议簇扩展信息的结构及内容的不同。
基于软交换的调度系统,主要功能是完成电话终端的两方通话、三方通话、强插、强拆等等功能。协助调度系统完成这些功能的终端叫调度台。调度台通过标配的键权电话来操作调度台,完成各项功能的实现。
当键权电话提机后,可操作键盘发送键权电话的操作指令。该指令的结构为:
长度是对整个信息长度一个说明,保证信息的完整性;键盘编号进行多键盘的区分;命令是不同操作功能的标识,命令主要是强插、强拆、三方通话、监听等等;包标识符是对本信息包类型进行说明,包标示符主要标注请求(REQUEST),回应(RESPONSE),事件通知(EVENT),命令(COMMAND)四种;序列号用来标识一次请求和回应;结束符标识说明本命令执行完毕结束;数据包内容是实际的内容。
例如:键权话机提机通过键盘向软交换提出呼叫一个用户的命令,首先构造一个INVITE请求,并把键盘发送的操作指令嵌入到协议中,然后这个请求会由Proxy层层转发,最后到达一个或者多个可能处理这个邀请的UAS,即调度服务器。一旦调度服务器收到这个消息并进行处理,那么通过发送2XX进行应答,如果拒绝则发送其他相应的标准SIP拒绝协议。这样,键盘通过发送扩展的sip协议完成对多个终端的控制,完成用户的调度功能需求。
另外,扩展SIP协议同样可以应用在有线对讲系统中。对讲系统主要功能特点是按键呼叫,松键终止语音,同时向相关岗位传送本机的工作状态。那么主要将本机状态发送到对讲主机,然后由主机向相关终端发送消息以便显示与之相关的终端状态。主要在包标识符中增加一个状态(STATE),然后在数据包内容中标识本机号码即可。
通过扩展SIP协议簇实现的基于软交换的调度系统、有线对讲系统功能在工业现场得到了广泛的应用。解决了工业语音网融合的问题,为用户设计整个企业的网络提供了技术保障。
五、总结
本文详细介绍VoIP系统及其相关协议栈以及所用VoIP系统的具体情况,对H.323和SIP协议分别做了介绍和对比:重点讨论了基于H.323和SIP协议之间的互通问题,及硬件系统的结构设计。
主要内容分析内容:不同网络之间的寻址与定位;消息的映射预处理;终端地址的转换;硬件模块的组成。
具体设计了网关会话层软件程序的结构和功能模块的划分,给出了实现互通时的外部通信流程与内部消息流程,及硬件模块化设计。
关键词:SIP;H.323;转换网关
中图分类号:TN915 文献标识码:A 文章编号:1007—9599 (2012) 14—0000—02
一、SIP与H.323的区别
(一)协议的出发点:H.323的传输从电路交换方式变更为分组交换方式;SIP协议主要是完成了基于Internet上IP电话的应用同时增加了QoS呼叫保障机制。
(二)消息编码的不同:H.323采用压缩编码规则和ASN.1的二进制方法;SIP是基于文本的协议,与H.323相比具有较强的优越性。
(三)会话能力的协商和调整方法:
H.323利用H.245进行能力协商的会话控制;
SIP采用SDP协议描述。
(四)Session管理的方式:
H.323的session由MCU执行会议控制功能,参加会议的终端全部都向MCU发送控制消息;H.323设计便于计费,对带宽的管理也比较简单。
SIP session设计为分布式,他具有分布式的多播功能,多播功能能够实现更方便的会议控制,简化用户定位、群组邀请等,节约带宽。
通过以上对比分析,从协议互通角度考虑,SIP和H.323网络互通需要解决以下问题:
H.323和SIP地址的转换;寻址定位的实现;消息映射和呼叫过程同步。
二、H.323地址与SIP地址的转换
SIP和H.323支持的地址格式不同:
H.323支持地址类型:H.323 ID、E—mail地址、IP地址和主机名,URL地址。
SIP地址由URL定义其结构,用以指示主叫、被叫、重定向和请求目的地址,在SIP消息内的From,To,Contact字段和Request—URL字段中。
因此,如果完成H.323和SIP网络之间的互通,就必须要实现H.323和SIP网络之间的地址解析和映射,当网关收到来自H.323网络或SIP网络的消息,需要在消息内解析所包含的地址单元,再按地址映射表,转换成对方网地址格式,然后封装在需要发出的消息中。
SIP 地址转换成 H.323地址的转换规则:
(一)e164部分:当SIP地址中userinfo为Tel格式例如+86—010—****@IP地址,这部分将被转化成为H.323地址中e164部分,其中的+,—号会去掉。地址被转化成H.323地址中e164部分,为“86010****”。
(二)h323—ID部分:SIP地址中的userinfo部分会直接转成为h323—ID,例如sip:terminal@IP转成h323— ID就是sip:jack@IP地址。
(三)url—ID部分:SIP地址中的存在类似的user@domain,可以直接转化成为H.323 url—ID部分。sip:terminal@bell—转为url—ID就是sip:terminal @bell—。
(四)email—ID部分:SIP地址存在user@group这中email地址格式,那么将email地址转化为h.323地址的email—ID部分,如sip:terminal@IP地址可以转 terminal @IP地址。
(五)transport—ID部分:SIP地址中存在IP地址和端口的部分,H.323地址需要用transport—ID表示,如SIP地址如果是sip:terminal@IP,那么转成H.323地址:transport—ID是IPAddress IP地址:端口号。
从H.323地址转换到SIP地址时:
1.e164部分:e164部分转换成一个电话号码的SIP地址,规则是:sip:telephone@host:user=phone.
例如e164ID为86010****转化成SIP地址就是:sip:+86—010—****@host:user=phone。
2.h323—ID部分:这部分可以转化成为SIP地址的userinfo部分, 但是如果地址是terminal @IP地址这种类型的话,需要将mailto转化成sip。
3.email—ID:需要将sip标识符加在email—ID的前面,例如email—ID 是
terminal@IP变换到SIP地址就是:sip:terminal@IP。
4.url—ID :需要将sip标识符加在url—ID的前面,如url—ID是h323:
变换成SIP地址就是:sip:.
5.transport—ID部分:将SIP地址用IP地址和端口表示,如果没有指定端口,那么用5060代替。例如在H.323地址中,transport ID部分为IP地址:端口转成SIP地址就是 sip:IP地址:端口,而transport ID是IP转成SIP地址就是sip:IP地址:端口
关键词:SIP协议 多媒体通信网络 无线通信
中图分类号:G718.3 文献标识码:C DOI:10.3969/j.issn.1672-8181.2013.22.109
1 引言
多媒体通信网络是计算机网络和多媒体技术互相渗透的产物,它将存在于广电通信、传统计算机通信网络等传统行业独立发展的隔阂逐渐打破,是通信、计算机以及电视产业的一个新突破。在计算机智能控制系统的引领下,所形成的多媒体通信网络实现了对相关信息的综合、采集、处理、传输和存储,实现网络内点对点的通信。该种通信方式与传统的通信技术相比,它所运用的通信技术是数字通信技术的多媒体通信技术,有效地将存在于通信、计算机和电视之间的距离缩短,借助于通信网络的分布特性、计算机的互通能力以及电视网络的真实性融合起来,为大众提供全面的信息服务。
2 SIP协议
SIP(Session Initiation Protocol)属于IETF所制定的基于IP应用层的一种控制协议。因为SIP是基于纯文本的信令协议,能够对接入网络的不同信息通信进行管理。其中,信息通信包括可以是网络中任何设备的通信,诸如视频通信、即时文本通信、协作通信等。该协议在控制过程中并不定义或者直接限制通信业务,网络通信中涉及到的传输、服务质量、通信计费以及通信安全等都是由核心网络和其他协议进行处理的。正是基于该特点,该协议得到了包括微软、Cisco、3GPP等大型企业和标准定制机构的认可。
因为SIP协议属于一种信令控制协议,在构建多媒体通信网络时需要附加SDP(Session Description Protocol)、R1P(实时传输协议)等其他多媒体控制协议以及多媒体通信协议。其中,用SIP进行呼叫的建立与维护;SDP则负责媒体协商与控制;RTP负责通信媒体的传送。
3 基于SIP技术的多媒体通信网络工作原理
基于SIP技术的多媒体通信网络中,是将SIP作为一个基础的应用层控制协议。它能够建立、终止和修改多媒体通信服务,而且还能协调对话双方,处理相关的媒体,从而将相应的网络地址获取。与此同时,当在网关之间建立会话时,还能够进行中继,成为多媒体通信协议中运用比较广泛的方式。
在SIP多媒体通信网络当中,通常设置有服务器、注册服务器、重定位服务器等多种功能服务器。这些服务器的所有功能都可以通过一个物理服务器来实现,同时可以根据用户的实际需要将之部署在多个服务器上。
其中,注册服务器主要负责通信端点的注册服务,比如名称、ID、服务有效期、地址等。注册中,通信端口首先向注册服务器发送RRQ注册请求,在获得请求后,服务器对相关注册信息进行记录,将信息RCF确认下来,并且将信息发回给该通信端口。注册过程中,可能因为不准确的地址、重复的名称以及共用的ID等因素,会引起注册被服务器拒绝的情况,这时通信端口就会接收到被发回的RRJ信息。
在撤销注册的进程中,自主申请撤销可以被运用在通信端口,类似于注册过程,只要获得服务器的确认,就能够撤销。
而服务器的功能类似于程控交换机功能,大多应用在SIP通信信息的路由完成上。各个SIP的终端在发送请求消息给其上层主控服务器之后,服务器会借助于消息中的用户名、会话信息以及终端域名等来判断其属性。如果是控制域内呼叫,则在查找注册服务器之后,服务器会将终端IP地址定位,目的终端会收到相关请求;若是控制域外呼叫,则将相应的终端服务器搜索出来之后,服务器将呼叫请求转发给它,继而由该服务器进行控制域内的呼叫定位,且将请求信息进行发送。被重新定位的服务器接着依据终端的域名以及用户名等,将具体的IP地址给出来,然后目的终端就会接收到SIP呼叫请求。
4 SIP技术在多媒体网络构建中的应用
4.1 SIP技术在NGN中的应用
NGN是下一代基于IP协议的通信分组网络,其最主要的特点在于在核心网络的基础上将多种接入网络融合起来,实现了固定、移动、有线与无线网络的集合。所以,当用户通过各种途径接入网络之后,NGN网络都可以为用户提供丰富、全面的个性化服务。
而在多种网络集成的过程中,SIP技术主要起到一种汇聚式“粘合剂”的作用,其在NGN网络中发挥着核心网络控制协议的作用,对NGN网络的广泛使用具有积极作用。当前,国内很多网络运营商以及设备供应商都着手研发SIP,以有效解决未来软交换的互通。
4.2 SIP技术在3G网络中的应用
因为SIP协议自身具有支持移动通信的能力,因此在应用SIP技术的过程中不但可以扩展SIP的终端移动能力,而且还可以将之作为支持个人移动通信,实现会话移动的重要途径。
在对会话移动性支持的过程中,主要应用SIP技术的会话属性,通过合理调整其会话属性以及消息功能的方式得以实现。利用SIP协议,移动会话的发起终端能够从既有的终端将对方终端通信主机的地址信息发送给需要切换的目标终端。同时,还将其将要使用的新终端地址发送给对方终端主机。这样不但可以实现会话的切换,而且还实现了会话带宽、编码方式以及各式的合理调整。
4.3 SIP在Internet中的应用
SIP是典型的文本通信协议,因此其可以被集成到任意一个HTFP网页中,这将有利于SIP迅速推广。当前,Internet中SIP技术的应用相当广泛,例如Microsoft就选择其作为即时通信策略,同时做好在XP、Pocket PC以及MSN中予以应用。同时,该公司还承诺将在未来为用户提供基于SIP的语音、视频呼叫服务。
5 结语
综上所述,未来SIP将能够作为开发人员手中的一种普通API类库,在Internet、NGN、3G网络中得到更加广泛的应用。
参考文献:
[1]刘伯明,危薇.基于SIP协议的C/S架构在VOIP系统中的设计与实现[J].电脑编程技巧与维护,2010,(12).
[2]李伟,赵保华,周颢.SIP服务器性能测试系统的研究与实现[J].计算机应用与软件,2007,24(5).
【关键词】SIPOsipeXosip软电话
一、引言
eXosip2是Osip2的一个扩展协议集,它部分封装了Osip2协议栈,使得它更容易被使用。本文利用Osip协议和ORTP来构造出一个VoIP通话系统,考虑到以后智能终端的软件移植,采用在Linux环境下开发。
二、Osip2协议栈简介
Osip是按照RFC3261(SIP)和RFC2327(SDP)标准,并使用标准C编写的一个开放源代码的SIP协议栈,具有短小简洁的特点,主要提供一些解析SIP/SDP消息的API和事务处理的状态机。虽然在底层解析时效率比较高,但缺点也很明显,首先就是可用性差,没有很好的API封装,使得上层应用在调用协议栈时很破碎;其次,只做到了transaction层次的协议过程解析,缺少call、session、dialog等过程的解析,这也增加了使用的难度;再次,缺少线程并发处理的机制,使得它的处理能力有限。
三、eXosip2特点
eXosip是Osip2的一个扩展协议集,其在Osip2的基础上部分封装了Osip2协议栈,使其更容易被使用。eXosip使用UDP socket套接字实现底层SIP协议的接收/发送;使用定时轮循的方式调用Osip2的事务处理函数,这部分是协议栈运转的核心。通过添加/读取事务消息管道的方式,驱动事务的状态机,使得来自远端的SIP信令能汇报给调用程序,来自调用程序的反馈能通过SIP信令回传给远端;增加了对各个类型事务的超时处理,确保所有资源都能循环使用,不会被耗用殆尽;使用jevent消息管道来向上通知调用程序底层发生的事件,调用程序只要读取该消息管道,就能获得感兴趣的事件,进行相关的处理。虽然eXosip较Osip2实用性更强,但其局限于UA的实现,使得用于registrar,sip server等时极其不容易。此外,它并没有增加线程并发处理的机制,而且只实现了音频支持,缺少对视频和其他数据格式的支持。
综合考虑,使用Osip2和eXosip协议栈的组合来实现SIP协议是很成功的选择。当然,在不同的应用场合,必须添加其他模块来实现更加复杂的功能。
四、SIP软电话的设计
4.1系统环境搭建
如果在Windows下进行程序开发,会有很多集成开发环境,如Visual C++等,这些IDE都已经很成熟。但在Linux下,开发C程序,一般都很少在IDE下进行开发,而是利用Linux下的编辑器来编写程序,如vi,gedit等,然后用gcc编译器来进行编译、连接生成所要的可执行程序。本文设计的SIP软电话程序中要用到各种库,用来搭建整个程序的运行环境。首先要安装libosip2和libeXosip,然后安装ortp库。因为开发的是具有图形界面的gnome程序,所以要安装gtk+库。
4.2系统分析
由上可以看出,整个系统分为五部分:主函数部分,负责监控和传输信号变量进行控制与调度;SIP部分,负责进行信令传输和RTP通话时的参数传输;RTP部分,负责RTP会话建立,参数设置,发送和接收数据;G.711部分,负责语音数据的编解码;最后是用户界面,作为用户接口,负责传送用户设置的参数和拨打的号码,以及显示状态信息等。
运行SIP软电话的主程序,初始化各种库,然后向SIP服务器进行注册。如果注册成功,生成用户界面,监听用户输入,同时启动UAS线程,进行监听(接收)SIP消息。以语音通信来说,此时应用程序只需保存Osip协议栈的状态,然后调用语音处理模块来接收/发送语音包就可以实现基于SIP的语音通信了。
五、总结
本文利用SIP和RTP库:libosip2,libexosip2,libortp在Linux下面编程实现了一个SIP软电话程序,并通过gnome编写了一个界面。此SIP软电话程序可以在Linux下稳定运行,通话质量良好,并且提供很好的用户接口,来设置参数和管理数据(如用户地址等)。基本上是一个较稳定的通话系统。当然,这个软电话还有一些不足,以后可以将它完善,编成一个界面友好,可以进行视频通话和多路通话的软电话;同时利用更好的编解码协议来完善,节约带宽。
参考文献
[1]李军,谢赞福,崔怀林.基于SIP的语音通信程序设计与实现.计算机工程,2005,31(24):117-119
关键词:即时消息 ;SIMPLE ; 传输机制
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)27-6116-02
即时消息是一种基于互联网的实时消息交换服务,网络上的用户可以利用即时消息软件实现多媒体信息的交换。
自从上个世纪90年代出现ICQ软件后,即时消息软件得到飞速发展,被政府、企事业单位、个人用户广泛使用。具有代表性的即时消息软件有OICQ,MSN,Gtalk等,可以部署于手机或PC平台上。SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions )协议是由IETF组织制定的标准化协议,是SIP协议针对即时消息业务的扩展。微软和IBM都致力于在它们的即时通信系统中实现这个协议。该文对SIMPLE协议中的消息传输机制进行了分析和比较。
1 基于SIMPLE协议的消息传输机制
1) 呼叫模式
从图中可以看出,与SIP协议中的INVITE请求消息不同,MESSAGE请求消息不会触发一个新的会话,每条MESSAGE消息之间没有联系。User1充当UAC,User2充当UAS的角色,服务器Proxy收到User1发来的消息后,根据消息头部Request-URI字段的值在数据库中查找目的地信息,找到后将该请求消息转发给User 2。User 2收到后回200 OK响应消息,说明请求消息已经被成功接收,并将显示给用户看。考虑到拥塞控制的因素, UAC在没有收到最终响应之前,不能开始针对相同的用户的MESSAGE事务。
2) 会话模式
流程图中包含有SIP协议和MSRP协议的消息。User1和User2开始即时通讯之前需要建立MSRP会话。在User1发送给User2的INVITE请求消息和User2回送的200 OK 响应消息中带有SDP会话描述信息,借助于SDP的提供/响应模型,User1和User2成功交换了MSRP会话协商信息。接下来User1向User2发起TCP连接,User2接受后,MSRP会话关系就建立了。MSRP SEND请求消息中包含有双方实际交换的即时消息文本,MSRP 200 OK响应消息仅仅用于确认已经收到对端发来的请求消息,不能携带及时消息文本。即时消息通话结束后,某一方发送SIP BYE请求消息结束会话。可以看出,MSRP会话信息对于SIP协议而言不过就是普通的媒体流,和语音呼叫时传输的媒体流没有任何区别。
2 结论
SIMPLE协议的呼叫模式是将用户之间交互的即时消息放在信令消息MESSAGE的消息体当中来传输的,信令流和媒体流走的是相同的路径。这种消息传输机制实施起来比较简单,也不会触发SIP会话,适用于用户之间少量消息的传输。如果用户之间传输大量即时消息,且即时消息中除了文本还包含有音频视频之类的多媒体信息时,可能会影响到其他信令消息的传输。
SIMPLE协议的会话模式是将用户之间交互的即时消息放在媒体流当中来传输的,信令流和媒体流走的是不同的路径。MSRP协议具体负责即时消息的会话协商工作,SIP协议仅仅负责信令的传输,起的是沟通桥梁的作用。呼叫模式中用户交互的即时消息需要经过服务器的中继传输,而会话模式不需要,从而减轻了服务器的负担。因此,会话模式更能够适应用户之间大量多媒体消息或者是多个用户群组模式消息的传输。如果考虑到安全因素,呼叫模式中每传输一次MESSAGE消息就需要对用户进行安全认证,而会话模式只需要在会话建立的时候对用户进行安全认证,开销要小的多。
参考文献:
[1] Rosenberg J, Schulzrinne H, “SIP: Session Initiation Protocol”. RFC 3261. (Standards Track). 2002
【关键词】远程多媒体教学;H.323;SIP
一、引言
远程多媒体教学是一种全新的教学方式,相比传统教学,它充分合理地利用网络、媒体等介质,使得教学活动的开展不受时间空间的限制,优化了教学资源配置,提高了教学效率。
远程多媒体教学的上述特点和优势使得它成为多媒体通信在教育领域研究的热点,目前的发展方向是基于IP网络的远程多媒体教学。由于多媒体信息具有数据量大、实时性、同步性和突发性强的特点,多媒体通信系统具有集成性、交互性和同步性的特点,因此对多媒体通信的硬件和软件系统提出了很高的要求。
二、SIP协议及其特点
SIP(Session Initialization Protocol,会话发起协议)是一个由IETF MMUSIC (Multiparty Multimedia Session Control)工作组提出,面向Internet会议和电话的简单应用层信令协议,用于建立、调整和终止多媒体会话。
相比多媒体通信的另外一种流行协议H.323,SIP协议有如下5个特点:
第一,与H.323采用二进制方法表示消息不同,SIP消息基于文本,采用UTF-8字符集编码,具有词法和语法简单、可读性好的优点。
第二,H.323中的呼叫建立和媒体逻辑信道建立的过程是分离的,呼叫建立时延较长。SIP系统的呼叫控制信令由SIP传送,由会话描述协议SDP完成媒体能力交换和RTP地址信息获取的任务。SDP消息作为SIP的消息体来发送,会话控制和媒体能力交换同时进行,会话建立的时延较短。
第三,H.323网络中各元素均为对等实体,实体间传送的是对等控制信令消息,而SIP网络则采用IP网络常用的C/S(客户机/服务器)结构。
第四,定位用户、支持用户移动性。SIP利用注册服务器将用户的实际物理位置与用户的SIP地址相绑定,便于在定位用户时实现地址映射功能;利用重定向服务器将目标用户地址信息返回给服务器。
第五,协议简单,有良好的扩展性。SIP是在诸如SMTP、HTTP的基础上建立起来的,借鉴了其它Internet标准和协议的设计思想。由于SIP与HTTP非常相似,许多解析HTTP协议的程序只要经过少许修改就可以用到SIP中。
SIP消息分为SIP请求消息和SIP应答消息两大类。所有的SIP消息都是由一个起始行、一个或多个标题头、一个表示标题头结束的空行和可选的消息体组成。
SIP核心规范定义了6种基本请求方法:INVITE(邀请)、ACK(确认)、OPTIONS(可选项)、BYE(再见)、CANCEL(取消)和REGISTER(注册)。其中,REGISTER方法用于向服务器注册用户位置信息;INVITE、ACK和CANCEL用于会话的建立;BYE用于结束会话;OPTIONS用于向服务器咨询服务器的性能。
SIP核心规范定义了如下几种实体:
用户(User Agent):用户的系统接口,负责与终端用户进行交互。可分为用户客户端(UAC,User Agent Client)和用户服务器(UAS,User Agent Server)。
服务器(Proxy Server):用于转发SIP消息,代表UAC发起请求,并向UAC返回响应,既充当客户机又充当服务器。可分为无状态服务器和保留状态服务器两类。
重定向服务器(Redirect Server):重定向服务器通过提供可能的位置来帮助定位目标SIP用户。它不发出任何定位目标的行为,而仅仅返回目标可能的出现位置信息。
注册服务器(Register Server):注册服务器存储用户的位置信息,负责将用户的SIP地址与用户当前所在的物理地址进行绑定,这样就能够向服务器提供用户的位置信息,协助服务器在转发SIP请求消息时能够迅速定位用户。
三、SIP远程多媒体教学系统的设计
(一)基本概念和术语
课堂实例:一个由唯一资源标识符标识,由一组SIP用户、媒体流和通信网络组成的多媒体会话,参与成员有教师和学生;
课堂系统:由一个或多个课堂实例组成;
FOCUS:中心SIP用户,是一个课堂实例的管理者;
课堂策略:课堂运作和进行的规则总称,包括成员策略和媒体策略;
成员策略:管理课堂成员的规则总称,包括身份鉴别、角色控制及权限控制;
媒体策略:处理媒体流的规则总称;
课堂状态:包括管理各个课堂实例的FOCUS的状态和课堂策略的状态;
课堂URI:课堂实例的唯一标识符。
(二)总体结构
依据DYNAMICSOFT公司首席科学家Jonathan Rosenberg博士提出的紧耦合SIP多媒体会议系统结构模型,我们设计并提出教学系统的以下结构。
系统为集中服务器体系结构,一个中心服务器对应一个课堂实例。从逻辑上划分,中心服务器分为管理服务器和控制服务器。在物理实现上,采用管理服务器和控制服务器分离、一台管理服务器配合多台控制服务器的方式。因此,从拓扑结构上看,系统为星型结构。
从功能上看,系统分管理子系统和控制子系统。管理子系统负责存储管理课堂状态信息数据、课堂策略信息数据和用户信息数据;课堂控制系统要负责与一个或多个终端进行SIP消息流和媒体信息流的交换,并对其进行控制,以保证课堂实例的正常运行。
除管理服务器和控制服务器外,系统还包含SIP服务器和终端。终端是师生参与课堂并获取课堂功能服务的接口,SIP服务器协助控制服务器完成与参与课堂的师生之间的SIP会话的建立和维护。
SIP服务器可分为注册服务器、服务器和重定向服务器,它们分别完成用户地址注册、SIP消息的路由和转发、返回目标SIP用户地址信息的任务。
终端与控制服务器除了通过SIP服务器交换SIP消息外,还直接通过建立RTP会话交换实时媒体流消息;终端与管理服务器之间、控制服务器与管理服务器之间则采用课堂信令和自定义接换消息。
(三)各子系统的设计
1.管理子系统
管理服务器是管理子系统的主体,它管理一个或多个控制服务器并与之交互,协助完成课堂基本功能;与一个或多个终端交互,提供接口供终端用户以不同的权限操纵控制课堂功能、查询课堂各种信息;存储管理课堂策略信息数据、课堂状态信息数据和用户信息数据。
管理服务器根据自身存储的最新课堂策略信息,生成课堂配置和控制命令并传送给控制服务器;控制服务器则是命令的具体执行者。控制服务器利用FOCUS的课堂状态通知服务功能获取最新的课堂状态信息,上传给管理服务器。两者合作完成课堂的基本功能。另外,管理服务器提供接口,设置不同的权限供终端操纵和修改课堂策略。
由于用户普遍习惯使用Web浏览器,因此,本文加入一个中间层-Web服务器,作为管理服务器与终端交互的中介和纽带。管理服务器与Web服务器的交互也采用简单的自定义接口规范,利用请求/应答模式完成。同时,管理服务器向用户提供课堂信息的查询功能服务,使用户能够了解最新的课堂策略信息和最新的课堂状态信息。
考虑到存取数据的效率问题,并为了降低系统的复杂性,管理服务器上课堂信息数据的存储采用XML技术来实现。课堂信息数据包括当前运行的课堂实例数目、每个课堂实例的URI、中心控制服务器的IP、开始时间、结束时间、课程名称、教师URI、教师使用的媒体类型信息、学生数目以及每个学生使用的媒体类型信息等。
2.控制子系统
该子系统是系统的重点和核心部分,控制服务器与管理服务器交互,获取最新的课堂配置和控制命令,并执行命令;与各终端交互,进行SIP消息和媒体流信息的交换,并对其进行控制;获取最新的课堂状态信息,上传给管理服务器。
在逻辑结构上,控制服务器包括FOCUS、SIP协议栈、媒体处理器、传输层及底层通信网络。其中,FOCUS是一个课堂实例的中心SIP用户,其作用是:通过服务器、重定向服务器和注册服务器与终端用户保持信令连接,维护管理SIP会话;将接收到的媒体配置和控制命令传送给媒体处理器,由媒体处理器集中处理来自各个终端的媒体流,进行混合和转发,实现媒体信息的控制和交换;利用自身的课堂状态通知服务功能从终端获取最新课堂状态信息,上传给管理服务器。
四、系统工作流程
整个系统的工作步骤分以下几步:教师预约新课堂实例、创建课堂实例、成员加入课堂、课堂实例运行、课堂实例结束、成员退出课堂和销毁课堂实例。
系统管理员启动系统后,教师首先向SIP注册服务器注册自己的当前位置,注册成功后,根据本人的教学课程安排向管理子系统提出新课堂预约申请。管理子系统根据成员策略对教师身份的合法性进行鉴定,身份验证通过后,向教师返回包含申请成功ID号、新课堂实例开始和结束时间信息的成功消息。当预约课堂的开始时间到了后,教师即可利用申请成功ID号向管理子系统申请创建课堂实例,管理服务器创建新的课堂实例(即生成一个课堂URI),分配一台新的控制服务器,并指示控制服务器上的FOCUS向申请教师发送SIP的INVITE消息,邀请教师加入课堂。教师回送ACK消息后即加入课堂实例,此时的课堂实例状态为运行状态,但还没有学生加入。
学生在使用系统前,也要首先向SIP注册服务器注册自己的当前位置。注册成功后,学生加入课堂实例有两种方法:一是主动加入,即通过Web浏览器查询课堂信息,找到自己要加入的课堂并且当该课堂实例已经运行后,向该课堂实例URI(也就是FOCUS URI)发送INVITE消息申请加入。FOCUS根据成员策略鉴定学生身份后,向学生返回允许或拒绝的应答。二是被动加入,即FOCUS向所有符合成员策略要求的学生多播发送邀请的SIP消息,收到邀请的学生对其作出应答后即可建立连接并加入。
课堂实例运行过程中,经过教师批准后,学生可以重新设置自己的媒体参数并且可以提前离开课堂实例。学生向FOCUS发送Re-INVITE(重新邀请)方法的SIP消息(消息体中包含调整后的媒体描述信息),即可改变自己使用的(下转第66页)(上接第60页)媒体参数。学生向FOCUS发送带有BYE方法的SIP消息就可离开课堂实例。
教师也可以设置自己授课使用的媒体参数,同样只需向FOCUS发送Re-INVITE(重新邀请)方法的SIP消息即可。当发现有不合格的学生后,只需向其发送带有BYE方法的SIP消息就可将其逐出课堂。
与加入课堂相似,课堂结束时学生退出课堂的方法也有两种:一是主动退出。教师宣布下课后,成员终端可分别向FOCUS发送带有BYE方法的SIP消息并退出课堂。二是管理服务器根据课堂实例的结束时间指示FOCUS向所有课堂成员终端发送带有BYE方法的SIP消息,终端作出应答,断开与FOCUS的连接,退出课堂。
FOCUS利用课堂状态通知服务的功能及时把正在结束的课堂实例中还未退出课堂的人数信息传送给管理服务器。当未退出课堂人数变为零时,管理服务器销毁该课堂实例,释放该课堂实例占用的所有资源。
五、总结
本系统有如下特点:
第一,系统采用集中服务器方式的体系结构,具有简单清晰、便于管理等优点。
第二,集中服务器在物理实现上又采用控制服务器和管理服务器相分离的方式,整个系统中由一台主服务器-管理服务器和多台控制服务器组成,控制服务器集中进行SIP会话管理和媒体流的处理,这有利于减轻系统负荷,达到平衡系统负载的目的。
第三,系统提供给用户的功能服务接口大多采用Web方式,这符合用户的操作习惯,降低了终端实现的复杂性。
第四,系统数据采用XML文件的形式来存储,可以提高数据存取的效率,优化系统性能。
六、结语
SIP协议还处于不断的研究和发展中,有关SIP运用于远程多媒体教学系统的实际例子也很少,本文对SIP运用于远程多媒体教学系统作了一定的探讨和研究,系统很多方面需要完善和改进。
参考文献