SIP中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连接的应用程序。用户代理(UserAgent)和代理(Proxy)中含有客户机。服务器是用于向客户机发出的请求提供服务并回送应答的应用程序。共有四类基本服务器:
·用户代理服务器:当接到SIP请求时它联系用户,并代表用户返回响应。
·代理服务器:代表其它客户机发起请求,既充当服务器又充当客户机的媒介程序。在转发请求之前,它可以改写原请求消息中的内容。
·重定向服务器:它接收SIP请求,并把请求中的原地址映射成零个或多个新地址,返回给客户机。
·注册服务器:它接收客户机的注册请求,完成用户地址的注册。用户终端程序往往需要包括用户代理客户机和用户代理服务器。代理服务器、重定向服务器和注册服务器可以看出是公众性的网络服务器。在SIP中还经常提到定位服务器的概念,但是定位服务器不属于SIP服务。
SIP在设计上充分考虑了对其它协议的扩展适应性。它支持许多种地址描述和寻址,包括用户名@主机地址:被叫号码@PSTN网关地址:Tel:010-62281234普通电话的描述等。这样,SIP主叫按照被叫地址就可以识别出被叫在传统电话网上的位置,然后通过一个与传统电话网相连的网关发起并建立呼叫。SIP最强大之处就是用户定位功能。SIP本身含有向注册服务器注册的功能,也可以利用其它定位服务器DNS、LDAP等提供的定位服务来增强其定位功能。
SIP共规定了六种信令:INVITE、ACK、CANCEL、OPTIONS、BYE、REGISTER。其中INVITE和ACK用于建立呼叫,完成三次握手,或者用于建立以后改变会话属性;BYE用以结束会话;OPTIONS用于查询服务器能力;CANCEL用于取消已经发出但未最终结束的请求;REGISTER用于客户出向注册服务器注册用户位置等消息。
SIP协议支持三种呼叫方式:由用户代理服务机(UAC)向用户代理服务器(UAS)直接呼叫,由UAC在重定向服务器的辅助下进行重定向呼叫和由代理服务器代表UAC向被叫发起呼叫。通过SIP代理建立呼叫的例子如图6-8所示。
H.323和SIP协议的比较
H.323和SIP分别是通信领域与因特网两大阵营推出的建议。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其实应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP作为媒体传输的协议。但H.323是一个相对复杂的协议。
H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生成器来进行词法和语法分析。而SIP的基于文本的协议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。这种分布式、几乎不需要复杂的文档说明的标准规范夫风格,其优越性已在过去的实践中得到了充分的证明(现在广为流行的邮件协议SMTP就是这样的一个例子)。SIP的消息体部份采用SDP进行描述,SDP中的每一项格式为=,也比较简单。
在支持会议电话方面,H.323由于由多点控制单元(MCU)集中执行会议控制功能,所有参加会议终端都向MCU发送控制消息,MCU可能会成为颈,特别是对于具有附加特性的大型会议;并且H.323不支持信令的组播功能,其单功能限制了可扩展性,降低了可靠性。而SIP设计上就为分布式的呼叫模型,具有分布式的组播功能,其组播功能不仅便于会议控制,而且简化了用户定位、群组邀请等,并且能节约宽带。但是H.323集是中控制便于计费,对宽带的管理也比较简单、有效。
H.323中定义了专门的协议用于补充业务,如H.450.1、H.450.2和H.450.3等。SIP并未专门定义的协议用于此目的,但它很方便地支持补充业务或智能业务。只要充分利用SIP已定义的头域(如Contact头域),并对SIP进行简单的扩展(如增加几个域),就可以实现这些业务。例如对于呼叫转移,只要在BYE请求消息中添加Contact头域,加入意欲转至的第三方地址就可以实现此业务。对于通过扩展头域较难实现的一些智能业务,可在体系结构中增加业务代理,提供一些补充服务或与智能网设备的接口。
在H.323中,呼叫建立过程涉及到第三条信令信致到:RAS信令信道、呼叫信令信到和H.245控制信道。通过这三条信道的协调才使得H.323的呼叫得以进行,呼叫建立时间很长。在SIP中,会话请求过程和媒体协商过程等一起进行。尽管H.323v2已对呼叫建立过程作了改进,但较之SIP只需要1.5个回路时延来建立呼叫,仍是无法相比。H.323的呼叫信令通道和H.245控制信道需要可靠的传输协议。而SIP独立于低层协议,一般使用UDP等无法连接的协议,用自己信用层的可靠性机制来保证消息的可靠传输。
总之,H.323沿用的是传统的实现电话信令模式,比较成熟,已经出现了不少H.323产品。H.323符合通信领域传统的设计思想,进行集中、层次控制,采用H.323协议便于与传统的电话网相连。SIP协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单,但推出时间不长,协议并不是很成熟。
H.323是国际电信联盟(ITU)用于音频、视频和在数据包(IP)网络上共享数据的总括标准。这个标准已经在广泛应用并且拥有了巨大的市场份额。\x0d\x0aSIP(会话起始协议)是IETF(互联网工程任务组)制定的多媒体信号协议。由于这个协议具有简单和模块化的特点,这个协议正在受到关注,但是,到目前为止的商业性应用还很少。\x0d\x0a企业一般都把SIP解决方案与H.323(和/或者TDM协议)协议一起部署,以便保护投资,保证更有效地向新技术转变,向能够从中受益的用户提供SIP应用。\x0d\x0aH.323和SIP的相同之处\x0d\x0aH.323和SIP协议原来都是用于在IP网络上提供多媒体服务的。这两个协议都在IP网络上运行,使用TCP和UDP会话发出信号并且使用RTP(实时协议)传输语音/视频流。这两种协议都不产生新的编码/解码方式,而是利用现有的其它协议(如G.711和G.729)。\x0d\x0a这两个协议一般都是利用一台服务器作为建立会话的中间人。在H.323协议中,一个看门人(gatekeeper)通过发送和接收信号保持活跃状态,并且向各个终端发送数据包,然后各个终端建立自己的通向PSTN网关的媒体流。采用SIP协议,一个代理服务器能够处理和发送用户代理的请求,直接与其它用户代理建立会话,或者通过网关呼叫传统的PSTN成员。这就是说,SIP能够在有限的范围内以点对点的方式实施,因为用户代理不用中间的服务器就可以建立会话,就像在one-XQuickEdition平台中一样。\x0d\x0a两个协议的区别\x0d\x0a虽然这两个协议在概念上是相同的,但是,它们在结构和提供的服务方面有很大的区别。H.323协议是在1996年首次为VoIP应用扩展的协议,现在是第五个版本,是以ISDNQ.931等电话协议为基础的。IETF的思想家最初在90年代中期接受了SIP协议,并且从那以后发表了两个RFC,最新版本的RFC3261是在2002年发表的。SIP同HTTP和SMTP一样,是一种基于文本的协议。许多程序员都非常了解这个协议。他们发现SIP协议非常简单并且很容易排除故障。H.323协议是用二进制代码编写的,没有丰富经验和开发工具的程序员都不熟悉这个协议。\x0d\x0a这两个协议之间的主要区别是,SIP协议用来建立和断开媒体会话,而H.323协议用来具体指定用哪一个协议提供媒体服务。使用H.323协议,媒体本身是不依赖于信号传输协议的。事实上,SIP是依赖另一种会话描述协议来定义、协商和处理媒体流的。因此,SIP能够像它建立游戏或者即时消息会话一样方便地用来建立一个语音或者视频会话。换句话说,SIP不是一个VoIP协议。由于SIP协议在许多领域都有用,开发人员对于SIP协议的熟悉程度和创造性都要高于他们对H.323协议的情况。\x0d\x0a创建服务SIP协议的关键属性\x0d\x0aSIP协议允许开发人员创建更多的新服务,比他们使用H.323协议创建的新服务还要多。SIP是IETF工具集的一部分,这就意味着对于这个协议的接口和扩展没有明确定义的要求。除了建立和中断传统的媒体流之外,已经增加了一些使用SIP协议的扩展功能。像蜂窝运营商提供的一键通服务等新型的媒体会话就是以SIP协议为基础的。使用一种名为SIMPLE(SIPforInstantMessagingandPresenceLeveragingExtensions)的SIP扩展协议能够实现即时消息服务。SIMPLE协议提供了一种即时消息实施结构。这种即时消息服务是基于传统的好友名单的,并拥有一个基于标准核心的在线状态显示应用程序。\x0d\x0aSIP协议本身对在线状态的支持将扩展到其它设备中,实现类似于一号连接和多种设备(也就是说PC、桌面电话和手机)在线状态可见性等令人激动的新功能。这些功能将允许主叫方在最合适的时间使用最佳的设备连接被叫方,而不是仅仅观察即时消息客户端软件中的状态和猜测这个人是否在电话机旁。这个功能将减少在即时消息中频繁地输入的“我能给你打电话吗?”的信息。\x0d\x0a更有趣的是,SIP和开放式Web服务提供了把在线状态显示和通讯集成到传统的企业应用程序中的许多选择。例如,在商业应用程序中发生的事件(如存货短缺)能够启动一个相关的管理人员(如产品线经理和零件供应商)的会议,利用在线状态显示(在他们的掌上电脑、台式电脑或者手机上的显示)确定联系相关管理人员的最佳方式。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)