sip协议原理分析及总结
本作品内容为sip协议原理分析及总结,格式为 doc ,大小 209448 KB ,页数为 13页
('SIP协议学习总结1、SIP协议定义SIP(SessionInitiationProtocol,即初始会话协议)是IETF提出的基于文本编码的IP电话/多媒体会议协议。用于建立、修改并终止多媒体会话。SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。多媒体会话可以是点到点的话音通信或视频通信,也可以是多点参与的话音或视频会议等。SIP协议透明地支持名字映射和重定向服务,便于实现ISDN,智能网以及个人移动业务。SIP协议可以用多点控制单元(MCU)或全互连的方式代替组播发起多方呼叫。与PSTN相连的IP电话网关也可以用SIP协议来建立普通电话用户之间的呼叫。SIP协议在IETF多媒体数据及控制体系协议栈结构的位置H.323SIPRTSPRSVPRTCPH.263etc.RTPTCPUDPIPPPPSonetAAL3/4AAL5ATMEthernetPPPV.34SIP协议支持多媒体通信的五个方面:\uf075用户定位:确定用于通信的终端系统;\uf075用户能力:确定通信媒体和媒体的使用参数;\uf075用户有效性:确定被叫加入通信的意愿;\uf075会话建立:建立主叫和被叫的呼叫参数;\uf075会话管理:包括呼叫转移和呼叫终止;SIP协议的结构SIP是一个分层的协议,也就是说SIP协议由一组相当无关的处理层次组成,这些层次之间只有松散的关系。SIP最底层的是它的语法和编码层。编码方式是采用扩展的Backus-NaurFormgrammar(BNF范式)。第二层是传输层。它定义了一个客户端发送请求和接收应答的方式,以及一个服务器接收请求和发送应答的方式。所有的SIP要素都包含一个通讯层。第三层是事务层。事务是SIP的基本组成部分。一个事务是UAC向UAS发送的一个请求以及UAS向UAC发送的一系列应答。事务层处理应用服务层的重发,匹配请求的应答,以及应用服务层的超时。任何一个用户代理客户端完成的事情都是由一组事务构成的。用户代理与有状态的代理服务器都包含一个事务层,无状态的代理服务器并不包含事务层。事务层包含一个客户元素(可以认为是一个客户事务)和一个服务器元素(可以认为是一个服务器事务),他们都可以用一个有限状态机来处理特定的请求。在事务层之上是事务用户(TransactionUserTU)。每一个SIP实体,除了无状态代理,都是一个事务用户。当一个TU发出一个请求,它首先创建一个客户事务实例并将目标IP地址、端口号、以及发送请求的设备信息一起发送。事务用户可以创建客户事务,也可以取消客户事务。当客户取消一个事务,它请求服务器终止正在处理的事务,并且回滚状态到该事务开始前的状态,并且产生指定的该事务的错误报告。这是由CANCEL请求完成的,这个请求有自己的事务,并且包含一个被取消的事务。2、SIP协议主要概念模型2.1实体模型概述SIP协议模型定义了UserAgent(用户代理)和Server(服务器)等两类主要实体。SIP协议把UserAgent(即UA)分为两个部分:UserAgentClient和UserAgentServer。呼叫方(称UserAgentClient)发出邀请(或呼叫),被叫方(称UserAgentServer)接受或拒绝邀请(或呼叫)。分组终端设备、媒体网关/媒体设备通常是包括UserAgentClient和UserAgentServer在内的UserAgent。另外,下面所说的ProxyServer也要实现UserAgent功能。SIP协议定义了ProxyServer、RedirectServer和RegisterServer等三类主要Server。RegisterServer:主要用于登记分组终端的当前位置和位置服务的原始数据。ProxyServer:作为UserAgentClient和UserAgentServer间的中间媒体,它转发UserAgentClient来的的邀请,在转发之前,根据被叫标识请求位置服务器获得被叫的可能位置,然后分别向它们发出邀请;RedirectServer:接受UserAgentClient来的邀请,根据被叫标识请求位置服务器获得被叫的可能位置,把这些信息返回给邀请的发起者(UserAgentClient),和ProxyServer的不同之处就在于它不转发邀请,邀请由主叫终端自己完成。Sip协议基本网络模型,如下图所示:2.2SIP协议相关概念呼叫(Call):一个呼叫是由一个会议中被同一个发起者邀请加入的所有成员组成的。一个SIP呼叫用全局唯一呼叫标识符(CALL_ID)来识别。因此,如果一个用户被不同的人邀请参加同一个多点会议,每个邀请都有一个唯一的呼叫。一个点对点因特网电话交谈也被认为是一个SIP呼叫。在一个基于多点控制单元(MCU)的电话交谈节目中,每个参与者都用一个独立的呼叫与MCU相连。呼叫支路(Callleg):一个呼叫支路由Call-ID、To以及From之中的addr-spec和tag共同标识。只有addr-spec中的user和hostport部分有意义。在同一个Call-ID中,从A到B的请求与从B到A的请求都属于同一个呼叫支路。呼叫支路也可以说是一次呼叫里消息经过的路径。会议(Conference):一个多媒体会话,由公共的会话描述来标识。一个会议可由零个或多个成员组成,可以是多点会议,全互连会议,点对点会议,或者是它们的组合。可以用任意数目的呼叫来建立一个会议。发起者、主叫(Initiator,Caller):发起会议邀请的一方。注意,发起者不一定是会议的建立者。被邀请者、被叫(Invitee,Callee):被主叫方邀请参加会话的一方。邀请(Invitation):要求用户加入会话的请求。一个成功的SIP邀请包括2个事务:一个INVITE请求,后面跟一个ACK请求。同构请求/响应(Isomorphicrequestorresponse):两个含有相同Call-ID、To、From和CSeq头域的请求/响应。此外,同构请求还必须含有相同的Rquest-URI。并行查询(Parallelsearch):在一个并行查询中,代理收到请求后向可能的被叫用户发出多个请求。并行查询在发出请求时并不等待以前所发请求的响应最终响应(Finalresponse):用于结束SIP事务的响应,与临时响应相对。所有的2XX,3XX,4XX,5XX和6XX响应都是最终响应。临时响应(Provisionalresponse):服务器用来表示工作进展,并不结束SIP事务的一种响应。编码为1XX的响应是临时响应,其他响应都是最终响应。会话(Session):根据SDP(会话描述协议)规范的定义:“多媒体会话是由多媒体发送者,接收者以及从发送者到接收者的数据流组成的集合。SIPTransaction(SIP事务):一个SIP事务是发生在客户和服务器之间的,包括从客户向服务器发出的第一个请求直到服务器发给客户一个最终响应这期间所有的消息。事务是由一个呼叫支路(Callleg)中的Cseq顺序号来标识的。一个ACK请求与对应的INVITE请求拥有相同的CSeq,构成自己的事务;B2BUA(背靠背用户代理):B2BUA是接收请求并作为用户代理服务器的一个逻辑实体。为了确定应该如何响应请求,它作为一个用户代理客户(UAC)发出请求。与代理服务器不同的是它维护对话状态并必须参与所有在已建立的对话上所发的请求。由于它是一个串联UAC和UAS,对于它的行为无须作显式定义。Address-of-Record(记录地址):一个address-of-record(AOR)是一个SIP或者SIPSURI它指向了一个具有定位服务的主机,这个主机可以把URI映射成为用户真正物理位置的URI。通常情况下,定位服务器是通过登记服务来建立的。一个AOR经常被认为是一个用户的”公共地址”。Message(消息):SIP元素之间传送的协议数据就是消息。SIP消息既可以是请求也可以是应答。Method(方法):方法是在服务器请求处理的主要功能。方法是请求消息自身携带的。典型的方法就是INVITE和BYE。Request:(请求):一个由客户端发到服务端的SIP信息,用于执行特定的功能。Response(应答):一个由服务端发到客户端的SIP信息。用来标志从客户端发往服务端的请求处理的情况。Ringback(回铃音):回铃音是一个信号音。是给呼叫方的一个信号表示被叫方正在振铃(Ringing)。RouteSet(路由集):路由集合是一个顺序的SIP或者SIPSURI。这些URI描述了传递一个请求所必须经历的代理列表。一个路由集可以是自适应的,因为包头中包含了Record-Route(记录路由),也可以是依赖配置得到的。3、SIP协议主要消息3.1SIP消息分类SIP协议是以层协议的形式组成的,就是说它的行为是以一套相对独立的处理阶段来描述的,每个阶段之间的关系不是很密切。SIP协议将Server和UserAgent之间的通讯的消息分为两类:请求消息和响应消息。请求消息:客户端为了激活特定操作而发给服务器的SIP消息,包括INVITE、ACK、BYE、CANCEL、OPTION和UPDATE消息。响应消息:服务器向客户反馈对应请求的处理结果的SIP消息,包括1xx、2xx、3xx、4xx、5xx、6xx响应3.2SIP消息结构请求消息和响应消息都包括SIP消息头字段和SIP消息体字段。SIP消息头主要用来指明本消息是有由谁发起和由谁接受,经过多少跳转等基本信息;SIP消息体主要用来描述本次会话具体实现方式。3.2.1SIP消息头类型在SIP消息中,有四种类型的头字段:通用头字段请求头字段响应头请求实体头字段SIP消息头的通用结构<头字段的名字>:<字段值>层次和在消息头中所有行的层次相同对于客户机/服务器都不能理解的头字段仅仅是被忽略,而不移除.常见的头字段如下表GeneralHeaderEntityHeaderRequestHeaderResponseHeaderAcceptContent-EncodingAuthorizationAllowAccept-EncodingContent-LengthContactProxy-AuthenticateCallIDConten-TypeHideRetry-AfterContactMax-ForwardsServerCommandSequenceOrganizationUnsupportedEncryptionProxy-AuthorizationWWW-AuthenticateExpiresProxy-RequireFromRouteRecord-RouteRequireTimestampResponse-KeyToSubjectViaUserAgentsDatePriorityWaming一些重要的通用头\uf075Call-Id:统一独特的呼叫标识\uf075Cseq:请求命令顺序号\uf075Via:用于记录一个请求传送的路径\uf075From:存在于每个SIP消息中,包含请求发起者的显示名和地址。SIP响应的From域是请求中From域的拷贝。\uf075To:存在于每个SIP消息中,表示一个请求的预期目的地。SIP响应中的To域是请求中To域的拷贝。\uf075Max-Forwards:字段表示request到达UAS的跳数的限制,是一个整数,经过每一跳时减去一。\uf075Contact:为后续请求提供了访问特定UA实例的联系方法,即SIP或者SIPSURI。\uf075Content-Type:描述消息体内容的媒体类型。如:Content-Type:application/sdp。\uf075Content-Length:标识了消息体的大小,采用十进制数字表示。呼叫和呼叫者的标识头Subject:呼叫,短消息主题Organization:主叫和被叫,代理服务器可能重填Date:呼叫的日期Server:处理请求消息的服务器消息User-Agent:发起请求消息的用户代理服务器信息Accept-Language:优选语言Priority:呼叫优先级(普通,紧急,…)In-Reply-To:与早期呼叫的关联内容描述头Content-Disposition:消息解析的方式Content-Encoding:压缩(gzip)Content-language:语言选择Content-length:消息体长度Content-Type:媒体类型(application/sdp)能力头Allow:Request-URI支持的方法Accept:响应消息接受的媒体类型,如application/sdp,text/htmlAccept-Encoding:响应消息接受的压缩方式Accept-Language:响应消息接受的语言Supported:服务器或代理支持的特性(如100rel)Require:服务器要求支持的特性(100rel)Unsupported:代理不支持的特性3.2.2SIP消息体SIP消息体部分则是通过另外一种协议来描述的,就是SDP协议。SDP协议也是一种基于文本的协议,英文全称为SessionDescriptionProtocol,称为会话描述协议,它是在RFC2327中定义的。SDP描述的信息封装在传送协议中发送,典型的会话传送协议包括:会话公告协议(SAP)、SIP、RTSP、HTTP和使用MIME(MultipurposeInternetMailExtensions)的E-mail。采用SIP传送时,SDP主要用来描述参与SIP会话通信交流各方的媒体资源信息,主要包括以下几类信息:会话名称和目的;\uf075会话激活的时间区段;\uf075构成会话的媒体;\uf075接收这些媒体所需的信息(地址、端口、编码格式等)\uf075会话所用的带宽信息(可选);\uf075会话负责人的联系信息(可选);媒体信息的具体内容包括:\uf075媒体类型(视频、音频等);\uf075传送协议(RTP/UDP等);\uf075媒体格式(H.261视频、MPEG视频等);\uf075媒体地址和端口;时间信息的具体内容包括:\uf075会话的开始和结束时间,可用多组时间段;\uf075对于每个时间段,可以指定重复时间;SDP协议描述SIP消息包体是采用文本形式的UTF-8编码的IS010646字符集。SDP会话描述由许多文本行组成,每个文本行的格式均为:
提供sip协议原理分析及总结会员下载,编号:1700673308,格式为 docx,文件大小为13页,请使用软件:wps,office word 进行编辑,PPT模板中文字,图片,动画效果均可修改,PPT模板下载后图片无水印,更多精品PPT素材下载尽在某某PPT网。所有作品均是用户自行上传分享并拥有版权或使用权,仅供网友学习交流,未经上传用户书面授权,请勿作他用。若您的权利被侵害,请联系963098962@qq.com进行删除处理。