基于SIP的视频会议系统模型、协议栈及相关扩展的研究
味着需要想办法增强SIP。
SIP很灵活并且易于扩展。于是,团体很快定义了一些扩展,对一些有特殊需求的应用设计一些扩展来满足他们特殊的需要。这些扩展是采用一种模块化的风格实现,并且它们的使用方法可以在会话建立期间协商,从而保证一个中心任务是:实现核心协议的简单的用户代理(UA)将总能和高级的用户代理实现互操作。
SIP扩展可以视为是SIP工具包,其中每个扩展解决一个具体的问题,可以预见到,为了解决一个大的问题,比如怎样提供一种新服务,将需要把核心规范和适当的扩展结合起来使用。
所以,许多组织和个人也致力于研究对SIP的扩展和增强,以使其功能更强,应用范围更广。总的来看,对SIP的扩展主要体现在SIP在不同领域中的应用,如和ISDN用户部分(ISUP)互通,提供即时消息和在线状态(presence)服务,与资源管理综合,以及在3G、多方会议中的应用,安全认证和保密机制等。
6.1 SIP扩展应遵循的原则
对新SIP扩展的有效设计必须遵循一定的规则。已经定义了一些SIP扩展的设计原理
[daft-ietf-sip-guidelines]以保证新扩展不会改变SIP的精神。以Internet草案形式出现的新提议扩展在它们作为标准SIP扩展被接收以前,在SIP工作组种被小心地分析。因此要设计扩展,必须遵循一定的扩展原则:不能破坏SIP简单性和可管理性;不能破坏SIP对等关系;必须保持SIP会话建立过程与SIP会话描述之间的独立性;不要改变原有方法的语义。
(1)不能破坏SIP简单性和可管理性
SIP是Internet工程任务组(IETF)多媒体工具包的一部分。它按照它被设计的目标工作并且利用其他协议完成其他任务(例如会话描述协议(SDP)用于会话描述)。SIP扩展不应该扩大SIP的范围以使SIP用于能被其他Internet协议处理的更好的的任务。
SIP应该被用于定位一个特定的SIP实体和传送一个对象(如一个会话描述符)。这之中可能有一个协商的过程。SIP应该用于这样的应用:他们支持用户的可移动性、对象传送和SIP提供的协商机制。所有其他的应用落在SIP范围之外。如果我们尝试用SIP解决每一个它可能解决的问题,协议将变的大而且复杂,那将与IETF设计原理背道而驰,IETF要求设计的精简、优雅。IETF标准化过程确保了SIP保持简单和可管理性。
(2)不能破坏SIP对等关系
SIP实体通常有一个对等关系。当服务器从客户端收到一个请求时,它处理一些任务,接着返回一个有请求结果的应答。客户端并不持续向服务器端发送命令告诉它如何处理。因此,SIP在一个主体对从属有很强的控制的主/从体系结构中并不真正有效。
SIP扩展不应该用于提供这样的控制功能,这种功能已经被更适合的协议如H.248[RFC3015]所提供。相反,SIP实体间的对等关系,使得协议非常适合域间通讯。主/从协议被证明在域问通讯中无效,那些域的所有者通常想要阻止不同域的所有者控制他们的资源。
(3)会话类型的独立性
SIP将会话建立过程和会话描述分开来,只要将扩展添加到核心协议中,就应该维持这一分离原则,这是为了保证扩展能在将来证明。
尽管SIP可能被用于建立所有类型的会话,SIP在数据通信方面的发展已经十分集中在IP电话(VoIP)应用方面,这种集中在发展的协议的过程中是不寻常的,但是,我们不得不防止这样一种自然倾向:仅设计那些在VoIP环境中应用的扩展。现在,SIP扩展已足够用来覆盖不同类型的会话,尽管他们当前的用处只是一种VoIP服务。
(4)不要改变方法的语义