您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 第十三章SIP和SIGTRAN协议
电子与信息工程学院第1页13.1SIP13.1.1总体介绍在软交换网络体系中,SIP主要应用于SIP智能终端与SIP服务器之间以及SIP服务器之间。由于软交换网络需要做到与PSTN的融合,为了业务的需要,对SIP进行了扩展,以便SIP消息能够正确衔接ISUP消息,这就是SIP-T协议。IETF于1999年完成RFC2543,用以介绍SIP的基本框架,并在同年成立SIP工作组,到目前为止,包括北电、爱立信、西门子以及中兴、华为公司都已经实现了对SIP的支持。电子与信息工程学院第2页从广义的角度讲,SIP在一个会话过程中起的作用与其它协议(如No.7、H.323)是相同的,完成的都是信令接续。但由于SIP本身的特性,以及以软交换为代表的软交换网络的出现,才使SIP得到更为广泛的应用。做为应用层控制协议,SIP主要完成会话的建立、修改以及终止,在具体实现上,它需要与RSVP、SDP、ISUP等一系列协议联合使用,但对一类协议的支持具有多样性,如在SIP-T中,由于支持MIME方式,消息体描述除了采用SDP外,还包括ISUP消息体。电子与信息工程学院第3页SIP协议独立于底层协议,传输层除了采用UDP外,还可以采用TCP、SCTP等,但目前实现上,厂家仅仅考虑了实时性,因此均以UDP做为底层传输协议。目前RFC3261已经取代RFC2543,成为SIP的核心协议标准,该标准主要介绍了SIP通用概念和基本操作,由于协议本身处在不断发展中,IETF也提出了众多的extension,以增强SIP功能。电子与信息工程学院第4页9.1.2SIP功能实体SIP网络中存在不同的网络实体,以完成相应功能。(1)用户代理(UserAgent)用户代理是直接和用户发生交互作用的功能实体,它能够代理用户的所有请求或响应。从客户机/服务器的角度讲,用户代理可分为UAC(UserAgentClient)和UAS(UserAgentServer),UAC主要是指发起请求的实体,UAS则是对发起的请求进行响应。但值得注意的是,UAC与UAS是相对于事务而言的。电子与信息工程学院第5页由于一个呼叫中会存在多个事务,因此对同一功能实体,在同一个呼叫中的不同阶段会充当不同的角色。例如,主叫用户在发起呼叫时,逻辑上完成UAC功能,并在此事务中充当的角色都是UAC;当呼叫结束时,如果被叫用户发起Bye,此时主叫侧用户代理所起的作用是UAS。用户代理可执行在不同的系统中,例如,可以是PC机上的一个程序,也可以运行在SIP终端中,用户发起呼叫时,首先通过UAC来完成自己表达的意思,UAS会告诉被叫用户当前正有请求到达。电子与信息工程学院第6页(2)B2BUA(BacktoBackUserAgent)从字面上理解是一种背靠背的用户代理。实现上,先终止一个呼叫,然后重新发起一个呼叫,此时,表征的呼叫的参数(Call-ID)可能会发生改变。具体实现上,B2BUA不仅具备用户代理功能,同时还可以扩展出一些其它的功能,例如代理服务器所具有的分叉(Fork)功能,电信运营所具有的计费功能,以及开放的API等等。因此从功能性来讲,既具备用户代理功能,又具有代理服务器功能。电子与信息工程学院第7页(3)代理服务器完成用户请求的转发,网络中某些代理服务器具有分叉功能,同时根据代理服务器在核心层和边缘层的不同位置,可分为无状态代理服务器和有状态代理服务器。边缘层代理服务器因为靠近用户,需要考虑用户状态以及对相应呼叫进行计费,所以代理服务器为有状态代理服务器;但对于核心层的代理服务器,因为仅仅完成消息转发,所以代理服务器不需要保留呼叫状态,这样可以提高核心服务器的处理能力,此时就是一个无状态代理服务器。电子与信息工程学院第8页从电信运营的角度看,有状态代理服务器需要具备计费、选路等功能。具体功能上,需要具备立即计费和详细计费功能,能够基于SIP地址或E.164地址进行选路。电子与信息工程学院第9页(4)重定向服务器(RedirectSercer)重定向服务器的作用是能够将用户当前新的位置告诉请求方,这是与代理服务器的本质区别。逻辑位置上,重定向服务器一般靠近被叫用户。当重定向服务器接受用户请求时,它只是将用户的当前位置告诉请求方,而不像代理服务器那样代理用户的请求。它的功能实际上类似于DNS功能。当然,从业务实现的角度讲,实现方式可以做到多样化,不一定非需要重定向方式。对于重定向服务器的应用,主要看未来的组网及运营管理体制的取向。电子与信息工程学院第10页(5)注册服务器(RegisterServer)当用户上电或者到达某个新域时,需要将当前位置登记到网络中的某一个服务器上,以便使其它用户找到该用户,完成该功能的服务器在SIP网络中称为注册服务器。用户在进行注册时,服务器需要对用户进行鉴权谁认证,只有通过鉴权才认为该用户为网络中的合法用户。为了确保网络对用户终端的可控性,每个成功注册信息都有一定的生命期,用户终端在生命期内能够对位置信息更新,说明该位置信息有效。电子与信息工程学院第11页(6)位置服务器(LocationServer)功能是完成用户数据的存储。从严格意义上讲,位置服务器并不是SIP网络中的功能实体。但以上所提到的注册服务器、代理服务器、重定向服务器等设备在实现位置服务时都要与位置服务器相配合。以上所有服务器只是一种逻辑概念,实际物理分布上,几种服务器都可以集成在同一个设备中。电子与信息工程学院第12页9.1.3SIP消息SIP消息采用文本编码方式,其消息可分为两种:请求消息(Request)和响应消息(Response)。每个消息又可分为消息头和消息体(可选)。一、请求消息在SIP消息中,共有6种基本的请求消息,之所以说基本,因为在后来的发展中,根据应用的需求,对SIP进行了扩展,出现了像Update,Message,Info等消息。电子与信息工程学院第13页Invite:类似于No.7中的IAM,主叫方初始发出的消息,表征主叫方能力,邀请被叫参加某一个会话。Ack:类似于三次握手中的确认消息。当被叫方对主叫方的Invite消息进行最终的响应后,主叫方将发送Ack表征已经收到被叫方的最终响应。Option:用于询问网络中服务器与客户端的能力。按照协议规定,主叫方在发起请求时,可以通过Option消息询问代理服务器的能力,也可以询问被叫方客户端的能力。电子与信息工程学院第14页Bye:类似于No.7中的拆线信号。Cancel:用于取消一个正在进行的请求(此时并没有接收到被叫方的最终响应消息)。该消息与Bye消息的的主叫区别是:如果发起请求的一方想取消当前请求,在已经收到最终响应时,请求方发送Bye消息,否则请求方发送Cancel消息。Register:用于用户向网络注册服务器发送的注册消息。电子与信息工程学院第15页二、响应消息响应消息:消息中包含数字响应状态码,有1XX—6XX响应。1XX:表示服务器或代理正在进行处理,还未得到确定的响应。客户应该继续等待服务器的响应,当服务器预测在200ms内不能得到最终响应时,它应该发送一个1XX响应。2XX:表示请求已被接收、处理并被成功接受。3XX:表示响应给出有关用户新位置(重定向)或其它可选的服务。电子与信息工程学院第16页4XX:表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理。5XX:表示SIP服务器故障,不能完成对正确消息的处理。6XX:表示请求不能在任何SIP服务器上实现。电子与信息工程学院第17页三、消息格式每条SIP消息都由以下3部分组成:(1)起始行每条SIP消息都由起始行开始。起始行传达消息类型(请求消息是方法类型,响应消息是响应代码)与协议版本。当然,起始行可以是请求行或状态行。INVITEsip:bob@bil.example.comSIP/2.0电子与信息工程学院第18页(2)头域SIP头用来传送消息属性和修改消息意义,它们在语法上与HTTP头域相同,实际上有些头就是借自HTTP,并且总是保持这样的格式:名字:值Via:SIP/2.0/TCPcl.al.example.com:5060Max-Forward:70电子与信息工程学院第19页(3)消息体(可选)消息体用于描述被初始的会话,例如,在多媒体会话中包括音频和视频编码类型、采样率等。在SIP范围之外的会话信息要由消息体来描述。这将在后面的SDP协议上讲述。V=0S=_C=INIP4192.0.2.101电子与信息工程学院第20页命令名称对端URI协议版本CALL-ID:同一个呼叫有唯一的值Via:记录消息的地址路径From:指明认消息的发送者To:指明该消息的接收者Contact:用来告诉对方回信息给谁Cseq:该消息的序号Content-Length:用来说明消息体的长度Max-Fword:消息传送途经实体的数量Content-Type:用来说明消息体的类型WriteSpace:空行SDP:媒体描述请求消息结构起始行头域消息体电子与信息工程学院第21页协议版本响应编码CALL-ID:同一个呼叫有唯一的值Via:记录消息的地址路径From:指明认消息的发送者To:指明该消息的接收者Contact:用来告诉对方回信息给谁Cseq:该消息的序号Content-Length:用来说明消息体的长度Max-Fword:消息传送途经实体的数量Content-Type:用来说明消息体的类型WriteSpace:空行SDP:媒体描述响应消息结构起始行头域消息体电子与信息工程学院第22页头域中的参数行顺序是可变的。头域中还有其它的可选参数,未一一列出。电子与信息工程学院第23页9.1.4SIP典型通信流程一、SIP注册/注销流程(1)REGISTER注册服务器用户代理在该请求消息中,Request-URI表明了注册服务器的域名地址,TO头域包含注册所准备生成、查询或修改的地址记录,Contact头域表示该用户在此次注册中欲绑定的地址,Contact头域中的Expire参数或Expires头域表示了绑定在多长时间内效。(2)401Unauthorized注册服务器返回401响应,要求用户进行鉴权。电子与信息工程学院第24页(3)REGISTER注册服务器用户代理发送带有鉴权信息的注册请求(4)200OK注册成功SIP的注销流程与注册流程基本一致,只是在注销时,Contact头域中的Expire参数或Expires头域的值为0。电子与信息工程学院第25页二、局内呼叫流程RTP媒体流SIP信令流SIPUserA:地址为10.77.226.121E164码为8882100SIPUserB:地址为10.77.226.221E164码为8882101SoftX300010.77.226.41电子与信息工程学院第26页(1)UserA至SoftX3000INVITEINVITEsip:8882101@10.77.226.41SIP/2.0(开始行:INVITE+URI+SIP的版本号)MessageHeader(消息头)From:sip:8882100@10.77.226.41;tag=1c13959(From:说明本次会话是由谁发起的)To:sip:8882101@10.77.226.41(To:说明本消息是送给谁的)Call-Id:call-973574765-4@10.77.226.121(CALL-ID:用来唯一标识一次SIP呼叫的编号)Cseq:1INVITE(Cseq:用来区分同一个呼叫不同INVITE消息的编号)Content-Type:application/sdp(Content-Type:用来说明消息体的类型)Content-Length:199(Content-Length:用来说明消息体的长度)电子与信息工程学院第27页Accept-Language:en(Accept-Language:用来说明消息体语言类型)Supported:sip-cc,sip-cc-01,timer(Support:支持SIP类型)Contact:
本文标题:第十三章SIP和SIGTRAN协议
链接地址:https://www.777doc.com/doc-2089842 .html