SIP协议相关简介- 喵喵ゲ学步的日志- 网易博客

SIP协议相关简介

2010-04-20 17:01:55 阅读7 评论0 字号:

今天在网上找一些编码类型的资料,发现了这篇文章,以前专职做过近一年的SIP协议测试,而看到这篇文章的时候,才猛然想起还有SAP和SDP这回事,所以贴回来学习学习。

基本含义   

 SIP(Session Initiation Protocol,会话发起协议)是由IETF(Interne工程任务组) 提出的IP电话信令协议,属于应用层的协议。

     在IP电话中,如何寻找被叫方、如何建立应答、如何按照彼此的数据处理能力发送数据,也需要相应的信令系统,一般称为协议。

     一种通信协议

定义了如何在通信设备(计算机,电话,手机,PDA等)之间相互连接和信息交换。

 

     一种信令控制协议

     SIP是信令控制协议,可以设置和管理任何类型的 peer-to-peer 通信会话, 但并不关心媒体类型 (电话,短信,游戏,视频等)。

 

     SIP用于发起会话,它能控制多个参与者参加的多媒体会话的建立和终结,并能动态调整和修改会话属性,如会话带宽要求、传输的媒体类型(语音、视频和数据等)、媒体的编解码格式、对组播和单播的支持等。

     SIP的最强大之处就是用户定位功能。SIP本身含有向注册服务器注册的功能,也可以利用其他定位服务器如DNS、LDAP等提供的定位服务器来增强其定位功能。

功能

SIP主要提供了与会话建立和终结相关的五个方面功能,它们是:

(1)用户定位:用于通信的终端系统的决定;

  (2)用户可用性:被呼叫方参与通信的意愿的决定;

  (3)用户能力:使用的媒体和媒体参数的决定;

  (4)会话建立:“振铃”,呼叫和被呼叫方会话参数的建立;

  (5)会话管理:包括转移和终结会话,修改会话参数,以及调用业务等。

组成

SIP中有客户机和服务器之分。客户机是指为了向服务器发送请求而与服务器建立连接的应用程序。

用户代理(User Agent)和代理(Proxy)中含有客户机。

服务器是用于向客户机发来 的请求提供服务并回送应答的应用程序。

 

 共有4类基本服务器:

 1>用户代理服务器(UAS):当接到SIP请求时联系用户,并代表用户返回响应。

  2>代理服务器(Proxy Server):代表其他客户机发起请求,既充当服务器又充当客户机的应用程序。它在转发请求之前可能改写原请求消息中的内容。

  3>重走向服务器(Redirect Server):接收SIP请求,把请求中的原地址映射成零个或多个新地址,返回给客户机。

4>注册服务器(Registrar Server):接收客户机的注册请求,完成用户地址的注册。

 

技术细节

SIP有两种类型的消息,它们是:

(1)请求:从客户机发到服务器的消息。

(2)响应:从服务器发到客户机的消息。

 

 

每条SIP消息由以下三部分组成:

(1)起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。

(2)SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式:<名字>:<值>。

(3)消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清晰区别了在SIP起始行和头中传递的信令信息与在SIP范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。

比较

 

H.323和SIP设计之初都是作为多媒体通信的应用层控制(信令)协议,目前一般用于IP电话。它们能实现的信令功能基本相同,也都利用RTP作为媒体传输的协议。但两者的设计风格截然不 同,这是由于其推出的两大阵营(电信领域与Internet领域)都想沿袭自己的传统。H.323是由 国际电联提出来的,它企图把IP电话当作是众所周知的传统电话,只是传输方式由电路交换变成了分组交换,就如同模拟传输变成数字传输、同轴电缆传输变成了光纤传输。而SIP侧重于将IP 电话作为Internet上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求。H.323推出较早,协议发展得比较成熟;由于其采用的是传统的实现电话信令的模式,便于与现 有的电话网互通,但相对复杂得多。SIP借鉴了其他Internet标准和协议的设计思想,有其突出的优点。

  o 首先,它是基于文本的协议,而H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息,因此,SIP对以文本形式表示的消息的词法和语法分析就比较简单。

  o 其次,SIP会话请求过程和媒体协商过程等是一起进行的,因此呼叫建立时间短,而在H.323中呼叫建立过程和进行媒体参数等协商的信令控制过程是分开进行的。

  o 再次,H.323为实现补充业务定义了专门的协议,如 H.450.1、H.450.2和H.450.3等,而SIP只要充分利用已定义的头域,必要时对头域进行简单扩展就能很方便地支持补充业务或智能业务。

  o {zh1},H.323进行集中、层次式控制。尽管集中控制便于管理(如便于计费和带宽管理等),但是当用于控制大型会议电话时,H.323中执行会议控制 功能的多点控制单元很可能成为瓶颈。而SIP类似于其他的Internet协议,设计上就为分布式的呼叫模型服务的,具有分布式的组播功能。

  在我国的IP电话领域,采用H.323协议已是定论。但我们也应看到SIP简单灵活、分布式控制等优点。并且随着SoftSwitch等技术的发展,SIP必将取代H.323,成为IP领域内运用最广泛的信令控制协议

相关协议-sap

SAP(Session Announcement Protocol,会话通告协议)

SAP的全称是会话通告协议,其目的是为了通知一个多播的多媒体会议或其他多播会话而将相关的会话建立信息发送给所期望的会议参与者。

 SAP并不是向每个参与者一一发通知数据包,它是通过多播的机制(multicast)向一个已知的多播地址和端口一次性发送一个通知数据包,该多播组内的成员如果工作正常的化就会收到该通知数据包。因此,为了使会议的参与者都能够接收到通知,就要确保其参加到该多播组内。

 

相关协议-sdp

SDP(Session Description Protocol,会话描述协议)

SDP就是用来描述多媒体会话通告,多媒体会话邀请和其他形式的多媒体会话初始化的协议。SIP和SAP均使用了SDP协议。

SDP包通常包括以下信息:

  (1)会话信息

  ? 会话名和目的。

  ? 会话活动时间。

  由于参与会话的资源是受限制的,因此包括以下附加信息是非常有用的。

  ? 会话使用的带宽信息。

 

  ? 会话负责人的联系信息。

  (2)媒体信息

  ? 媒体类型,例如视频和音频。

  ? 传输协议,例如RTP/UDP/IP和H.320。

 ? 媒体格式,例如H.261视频和MPEG视频。

  ? 多播地址和媒体传输端口(IP多播会话)。

? 用于联系地址的媒体和传输端口的远端地址(IP单播会话)。

 

  SDP描述由许多文本行组成,文本行的格式为<类型>=<值>,<类型>是一个字母,<值>是结构化的文本串,其格式依<类型>而定。 

<#--{zx1}日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--推荐阅读--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构-->
郑重声明:资讯 【SIP协议相关简介- 喵喵ゲ学步的日志- 网易博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——