您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 4 SIP协议原理及应用
SIP协议原理和应用Agenda•SIP概述•SIP协议模型•SIP协议架构•SIP基本消息及流程•SIPvsH.323SIP协议介绍1.SIP协议的提出假设我正在看一部在Mbone上多播的有趣的电影,这时候我想起一个朋友可能也有兴趣观看它。我需要用一种简单的方式通知我的朋友,给他发一份会话描述符,邀请他加入这个会话。邀请用户加入Mbone会话是Internet工程任务组(IETF)提交SIP的初衷。开发目的:提供跨越因特网的高级电话业务。SIP协议介绍•2.什么是SIP协议•SIP(SessionInitiationProtocol)是由IETF(Interne工程任务组)提出的IP电话信令协议。“是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。”通俗的说,SIP就是一个轻量级信令协议,它可以作为音频、视频、及时信息的信令。PC终端PC终端请求Collins@home.net响应Caller@work.comCollins@home.netPage5SIP协议概念•会话启动协议SIP(SessionInitiationProtocol)是一个在IP网络上进行多媒体通信的应用层控制协议,它被用来创建、修改、和终结一个或多个参加者参加的会话进程。•SIP协议可用于发起会话,也可以用于邀请成员加入已经用其它方式建立的会话。•基于文本编解码•采用事务机制,每一个请求触发Server的操作方法,请求和响应构成一个事务,事务间彼此独立•独立于底层传输协议:SIP协议承载在IP网,网络层协议为IP,传输层协议可用TCP或UDP,推荐首选UDP。SIP应用会话建立多用户媒体交互应用SIP协议的作用•SIP作为一个应用层的多媒体会话信令协议,可以被用来发起一个会话进程、在会话中邀请其他参加者加入会议,会话本身可以通过基于组播协议的会话通告协议(SAP)、电子邮件、网页通告、以及轻量级号薄访问协议(LDAP)等方式预先通告各个可能的参加者。•SIP协议支持别名映射、重定向服务、ISDN和IN业务。它支持个人移动(personalmobility),即终端用户能够在任何地方、任何时间请求和获得已订购的任何电信业务。SIP协议的作用总的来说,会话启动协议能够支持下列五种多媒体通信的信令功能:l用户定位:确定参加通信的终端用户的位置;l用户通信能力协商:确定通信的媒体类型和参数;l用户意愿交互:确定被叫是否乐意参加某个通信;l建立呼叫:包括向被叫“振铃”,确定主叫和被叫的呼叫参数;l呼叫处理和控制:包括呼叫重定向、呼叫转移、终止呼叫等等。SIP–设计架构lSIP设计目标:与现有IETF协议集成可扩展性和简单性移动性易用和业务定制方便SIP主要特点•通用的信令控制协议,独立于具体的应用•轻量级,但涵盖主要会话功能,如用户定位、会话建立、修改、终止等•灵活,扩展性好•常常需要和其它协议配合,构成完整的信令系统•很多优点,回头再看Page11SIP协议的特点•一个正在发展和不断研究中的协议。•简练、开放、兼容和可扩展等原则。•充分注意到因特网开放而复杂的网络环境下的安全问题。•充分考虑了对传统公共电话网的各种业务,包括IN业务和ISDN业务的支持。Agenda•SIP概述•SIP协议模型•SIP协议架构•SIP基本消息及流程•SIPvsH.323SIP协议模型•SIP协议本身分层,不同模块功能相对独立,各层之间松散耦合•语法和编码层:定义SIP消息语法,完成消息编解码。BNF范式定义,文本编码。•传输层:如何发送SIP请求和处理应答。注意同TCP/IP协议中传输层概念区别。•事务层:定义消息的重传,应答的匹配等工作。保证消息的可靠性。•事务用户层:供上层用户(程序)使用的事务层接口。事务用户层(TransactionUserLevel)事务层(TransactionLevel)传输层(TransportLevel)语法和编码层(SyntaxandEncodingLevel)SIP基础概念(1)—SIPURI•SIPURI(SIPUniformResourceIdentifier):用来区分终端用户的标识符,身份标识.其中包含了充足的信息来初始化一个会话。•寻址采用SIPURL(UniformResourceLocators),按照RFC2396规定的URI导则定义其语法,特别是用户名字段可以是电话号码,以支持IP电话网关寻址,实现IP电话和PSTN的互通。•SIPURL的一般结构为:SIP:用户名:口令@主机:端口;传送参数;用户参数;方法参数;生存期参数;服务器地址参数?头部名=头部值•一般格式:sip:user:password@host:port;uri-parameters?headers•示例sip:gzj@kedacom.comsip:128234@cnjy:9902;transport=tcp•逻辑地址和物理地址相隔离。支持移动性。SIP基础概念(2)—消息、事务、会话•消息:SIP是请求/应答式的协议。一个请求或应答对应于一条消息•事务(Transaction):从一个请求发出至对该请求的最终响应为止的所有消息序列。•会话:若干实体交换数据的过程。由相互关联的多个事务构成SIP基础概念(3)—SIP实体•分为UA(UserAgent)和Proxy两大类–UA:发出请求/处理请求/发送应答。–Proxy:主要承担实体注册、信令中继、呼叫管理、位置查找等功能。•注册服务器•代理服务器•重定向服务器•位置服务器Agenda•SIP概述•SIP协议模型•SIP协议架构•SIP基本消息及流程•SIPvsH.323Page18协议栈H.323SIPRTSPRSVPRTCPH.263etc.RTPTCPUDPIPPPPSonetAAL3/4AAL5ATMEthernetPPPV.34SIP协议架构的一些说明lSIP(SessionInitiationProtocol)架构所体现的核心思想——先用着,再扩展lSIP的结构是建立于两个常用协议之上的:在RFC2821中的SMTP协议(SimpleMailTransferProtocol)——它定义了电子邮件的消息格式,以及定义在RFC2616的HTTP协议(HypertextTransferProtocol)——它定义了基于Web的多媒体通信消息l另外,SIP又使用了定义在RFC3550中的RTP/RTCP协议(RealTimeTransportProtocol/RealTimeControlProtocol)——它定义了在IP网上的多媒体包格式l还使用了定义在RFC2327的SDP协议(SessionDescriptionProtocol)——它定义了一个多媒体会话的参数和特征lSIP还运行于其他IETF定义的传输协议之上,比如TCP(TransportControlProtocol),UDP(UserDatagramProtocol)和IP(InternetProtocol)等SIP分布式架构RedirectServer重定向服务器LocationServer定位服务器RegistrarServer注册服务器UserAgent用户助理ProxyServer代理服务器Gateway网关SIP部件ProxyServer代理服务器用户助理UACUASUACUASUACUASINVITEINVITE主叫被叫代理服务器BYEBYE用来发起或者接收请求的逻辑实体称为UserAgent。用户助理客户(UserAgentClient)发起请求的一方称为UAC(UserAgentClient),举例SIPPhone就是UAC的一种实际形态。用户助理服务器(UserAgentServer)接收请求的一方称为UAS(UserAgentServer),举例MediaSever就是UAS的一种实际形态。注意:UAC和UAS的划分是针对一个事务而言的代理服务器主叫被叫(202.153.119.200)代理服务器(202.153.119.231)定位服务器INVITE2002@202.153.119.2311200223202.153.119.200INVITE2002@202.153.119.2004200OK5200OK6作为一个逻辑网络实体代表客户端转发请求或者响应,可以同时作为客户端和服务器端。代理服务器有三种形态:Stateless、Stateful和CallStateful,其可以采用分支、循环等方式向多个地址尝试转发请求。代理服务器的主要功能:路由、认证鉴权、计费监控、呼叫控制、业务提供等。定位服务器代理/注册服务器REGISTER200OKSIPIP电话定位服务器代理/注册服务器INVITEINVITESIP重定位服务器或代理服务器用来获得被叫位置的一种服务,可由定位服务器提供,但SIP协议不规定SIP服务器如何请求定位服务。重定向服务器主叫被叫(202.153.119.200)重定向服务器(202.153.119.231)INVITE2002@202.153.119.2311200223202.153.119.200INVITE2002@202.153.119.2006302MovedtemporarityContact:2002@202.153.119.2004ACK2002@202.153.119.2315200OK7ACK2002@202.153.119.2008定位服务器(202.153.119.231)重定向服务器将请求中的目的地址映射为零个或多个新的地址,然后返回给客户端,客户端直接再次向这些新的地址发起请求。重定向服务器并不接收或者拒绝呼叫,主要完成路由功能,与注册过程配合可以支持SIP终端的移动性。注册服务器代理/注册服务器REGISTER200OKSIPIP电话定位服务器存储到定位服务器•每当打开SIP用户客户端(SIPIP电话,PC,或者其它SIP设备),客户端就会注册到注册服务器•当SIP用户客户端需要通告位置时,也可以注册到注册服务器•注册信息定期刷新,并且SIP用户客户端需要重新注册到注册服务器•通常,注册服务器转发这些信息到定位服务器或者重定向服务器Agenda•SIP概述•SIP协议模型•SIP协议架构•SIP基本消息及流程•SIPvsH.323Page27SIP协议消息的分类•SIP消息采用文本方式编码,分为两类:请求消息和响应消息。–请求消息:客户端为了激活按特定操作而发给服务器的SIP消息。–响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。–请求消息和响应消息都包括SIP头字段和SIP消息字段。Page28请求消息请求消息消息含义INVITE发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。ACK证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。BYE结束会话CANCEL取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响REGISTER注册OPTIONS查询服务器的能力Page29响应消息序号状态码消息功能1xx临时响应表示已经接收到请求消息,正在对其进行处理2xx成功响应表示请求已经被成功接受、处理3xx重定向响应表示需要采取进一步动作,以完成该请求4xx客户端出错表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理5xx服务器端出错表示SIP服务器故障不能完成对正确消息的处理6xx全局错误表示请求不能在任
本文标题:4 SIP协议原理及应用
链接地址:https://www.777doc.com/doc-4428338 .html