SIP终端
SIP协议及其发展:
sip(session initiation protocal)称为会话发起协议,是由ietf(internet engineering task force)组织于1999年提出的一个在基于ip网络中,特别是在internet这样一种结构的网络环境中,实现实时通讯应用的一种信令协议。而所谓的会话(session),就是指用户之间的数据交换。在基于sip协议的应用中,每一个会话可以是各种不同的数据,可以是普通的文本数据,也可以是经过数字化处理的音频、视频数据,还可以是诸如游戏等应用的数据,应用具有巨大的灵活性。
作为一个ietf提出的标准,sip协议在很大程度上借鉴了其他各种广泛存在的internet协议,如http(超文本传输协议)、smtp(简单邮件传输协议)等,和这些协议一样,sip也采用的基于文本的编码方式,这也是sip协议同视频通讯领域其他现有标准相比最大的特点之一。
sip协议的提出和发展,是伴随着internet的发展而发展的,到目前为止它走过了以下几个阶段。
1996年首先出现了sip的概念,这时sip的主要应用是针对internet上的各种文本应用,如电子邮件、文字聊天等。
1999年3月,itef的多方多媒体会晤控制(mmusic)工作组提出了rfc2543建议,供各厂商和机构讨论。
1999年9月,sip工作组从mmusic中分离并独立出来,成立了sip工作组,并与2000年7月发表了sip的草案。
2002年6月,itef的sip工作组又发表了rfc3261建议,以取代rfc2543。
由于网络环境以及相关多媒体技术的不足,在sip协议首次提出的时候,仅仅针对各种文本应用,随着技术的发展,并通过和ietf中ip电话工作组(iptel)、ip网中电话选路(trip)工作组等兄弟工作组配合工作,在sip协议中大大加强了对多媒体通讯的支持。 SIP系统的基本组成:
按逻辑功能区分,sip系统由4种元素组成:用户代理、sip代理服务器、重定向服务器以及sip注册服务器。
sip用户代理
sip用户代理,又称为sip终端,是sip系统中的端用户,在rfc3261中将它们定义为一个应用。根据它们在会话中扮演的角色的不同,又可分为用户代理客户机(uac) 和用户代理服务器(uas)2种。其中前者用于发起呼叫请求,后者用于响应呼叫请求。
sip代理服务器(sip proxy server)
sip 代理服务器,是一个中间元素,它既是一个客户机又是一个服务器,具有解析名字的能力,能够代理前面的用户向下一跳服务器发出呼叫请求。然后服务器决定下一跳的地址。
重定向服务器 (redirect server)
重定向服务器是一个规划sip呼叫路径的服务器,在获得了下一跳的地址后,立刻告诉前面的用户,让该用户直接向下一跳地址发出请求而自己则退出对这个呼叫的控制。
sip注册服务器 (sip register server)
sip注册服务器用来完成对uas的登录,在sip系统的网元中,所有uas都要在某个登录服务器中登录,以便uac通过服务器能找到它们。
IMS服务控制接口
ISC接口是IMS核心网络CSCF提供给IMS应用网络的接口。ISC接口向业务引擎、OSA业务能力服务器提供SIP/SDP呼叫控制、SIP事件相关的订购与通知等功能。ISC接口基于SIP协议。
SIP是由IETF提出来的一个应用控制(信令)协议。正如名字所隐含的--用于发起会话。它可用来创建、修改以及终结多个参与者参加的多媒体会话进程。参与会话的成员可以通过组播方式、单播连网或者两者结合的形式进行通信。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协议借鉴了其它因特网的标准和协议的设计思想,在风格上遵循因特网一贯坚持的简练、开放、兼容和可扩展等原则,比较简单,但推出时间不长,协议并不是很成熟。
SIP是一个网络协议,主要用于音视频会话的。SIP服务器就是具有建立这种会话功能的服务器。QQ应该用的这个协议。你用QQ语音聊天,当点击视频通话的时候,你的电脑会向QQ的服务器(也就是SIP服务器)发送你想跟谁视频聊天的信息,服务器会帮你找到那个人的位置,把你想干的事情告诉它。对方点击确定,他的电脑就给服务器回复接受的信息,服务器再帮你把这个消息转给邀请你的人。这样QQ视频通话就能正常进行了。欢迎分享,转载请注明来源:夏雨云
评论列表(0条)