up-103-c1系统相关协议_第1页
up-103-c1系统相关协议_第2页
up-103-c1系统相关协议_第3页
up-103-c1系统相关协议_第4页
up-103-c1系统相关协议_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UP-103-C1 系统相关协议SIP协议介绍课程目标:l 了解协议的功能和特点l 掌握SIP的协议结构的分析l 理解SIP协议的应用目 录第1章 SIP协议概述11.1 SIP协议的背景和功能11.2 SIP协议与H.323的对比21.3 SIP协议功能概述31.3.1 SIP协议的功能和特点:31.3.2 SIP主要支持以下5个方面的功能:3第2章 SIP协议结构52.1 SIP 实体52.2 SIP协议的格式与操作62.2.1 SIP URL62.2.2 SIP 消息类型62.2.3 消息格式8第3章 SIP协议应用实例173.1 SIP协议的应用实例1173.2 SIP协议的应用实例2173.3 SIP协议的应用实例318第1章 SIP协议概述 & 知识点 介绍SIP的功能。1.1 SIP协议的背景和功能SIP( 会话初始协议)的开发目的是用来帮助提供跨越因特网的高级电话业务。因特网电话(IP电话)正在向一种正式的商业电话模式演进,SIP就是用来确保这种演进实现而需要的NGN(下一代网络)系列协议中重要的一员。SIP是IETF标准进程的一部分,它是在诸如SMTP(简单邮件传送协议)和HTTP(超文本传送协议)基础之上建立起来的。它用来建立,改变和终止基于IP网络的用户间的呼叫。为了提供电话业务它还需要结合不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够提供目录(LDAP),能够鉴权用户(RADIUS)等等。SIP被描述为用来生成,修改和终结一个或多个参与者之间的会话。这些会话包括因特网多媒体会议,因特网(或任何IP网络)电话呼叫和多媒体发布。会话中的成员能够通过多播或单播联系的网络来通信。SIP支持会话描述,它允许参与者在一组兼容媒体类型上达成一致。它同时通过代理和重定向请求到用户当前位置来支持用户移动性。SIP不与任何特定的会议控制协议捆绑。1.2 SIP协议与H.323的对比H.323和SIP分别是通信领域与因特网两大阵营推出的建议。H.323企图把IP电话当作是众所周知的传统电话,只是传输方式发生了改变,由电路交换变成了分组交换。而SIP协议侧重于将IP电话作为因特网上的一个应用,较其他应用(如FTP,E-mail等)增加了信令和QoS的要求,它们支持的业务基本相同,也都利用RTP(Realtime Tranfer Protocol)作为媒体传输的协议。H.323是一个相对复杂的协议。H.323采用基于ASN.1和压缩编码规则的二进制方法表示其消息。ASN.1通常需要特殊的代码生成器来进行词法和语法分析。而SIP的基于文本的协议,类似于HTTP。基于文本的编码意味着头域的含义是一目了然的,如From、To、Subject等域名。综合以上得出这两个协议异同点如下:相同点:1均为多媒体通信的应用层控制(信令)协议,目前一般用于IP电话2能实现的信令控制功能基本相同3都利用RTP作为媒体传输的协议不同点:1H.323由ITU-T提出,采用的是传统的实现电话信令的模式,便于与传统的电话网互通;H.323协议发展得比较成熟,但相对复杂得多。2SIP由IETF提出,借鉴了其他Internet标准和协议的设计思想,SIP协议简单,采用文本方式,因而具有更好的功能扩充性和网络可扩展性,并易于实现。1.3 SIP协议功能概述1.3.1 SIP协议的功能和特点:1SIP是一个客户/服务器协议,2协议消息分为两类:请求和响应,其中请求消息由客户机发往服务器,响应消息由服务器发往客户机。3协议消息的目的是:建立或终结会话4“邀请”是SIP协议的核心机制5响应消息分为两类:中间响应和最终响应6媒体类型、编码格式、收发地址等信息由SDP协议(会话描述协议)来描述,并作为SIP消息的消息体和头部一起传送,因此,支持SIP的网元和终端必须支持SDP7 用SIP URL的寻址方式,特别地,其用户名字段可以是电话号码,以支持IP电话网关寻址,实现IP电话和PSTN的互通8 IP的最强大之处就是用户定位功能,用户定位基于登记和DNS机制9SIP独立于低层协议,可采用不同的传送层协议,若采用UDP传送,要求响应消息沿请求消息发送的同样路径回送;若采用TCP传送,则同一事务的请求和响应需在同一TCP连接上传送1.3.2 SIP主要支持以下5个方面的功能:1用户定位:确定通信所用的端系统位置。2 用户能力交换:确定所用的媒体类型和媒体参数。3用户可用性判定:确定被叫方是否空闲和是否愿意加入通信。4呼叫建立:邀请和提示被叫,在主被叫之间传递呼叫参数。5呼叫处理:包括呼叫终结和呼叫转交。第2章 SIP协议结构& 知识点 SIP协议结构。2.1 SIP 实体SIP网络由四种类型的逻辑SIP实体组成。每一实体具有特定的功能,并且作为客户机(初始请求),或作为服务器(响应请求),或作为两者的结合参与到SIP通信中。一个“物理设备”能够具有多于一个逻辑SIP实体的功能性。例如,作为代理服务器的网络服务器可同时具备注册服务器的功能。下面是四种功能实体:1 用户代理在SIP中,用户代理(UA)是端点实体。用户代理通过交换请求和响应初始和终止会话。UA作为一应用程序,它包含用户代理客户机和用户代理服务器,如下:(1)用户代理客户机(UAC):客户机应用程序,它初始SIP请求。(2)用户代理服务器(UAS):服务器应用程序,当接收到SIP请求时它联系用户并且代表用户返回一响应。(3) IP网络中具有UA功能的设备是:工作站,IP电话,电话网关,呼叫代理,自动应答服务。2 代理服务器代理服务器是同时作为服务器和客户机的中间实体,其目的是代表其他客户机生成请求。请求被内部处理或可能在翻译之后将其传递到其他服务器。如果需要,代理在转发之前可解释和重写请求消息。其主要完成SIP消息的转接、转发功能。在转发请求之前,它可能改写原请求消息中的内容。3 重定向服务器重定向服务器接受SIP请求,并将被呼叫方的SIP地址映射成零个(如果没有可知地址)或更多的新地址并且将它们返回客户机。不像代理服务器,重定向服务器不传递请求到其他服务器。4 注册服务器注册服务器是接受REGISTER请求的服务器,其目的是根据用户在请求中规定的联系信息更新位置数据库。2.2 SIP协议的格式与操作2.2.1 SIP URLSIP通过E-mail形式的地址来标明用户地址。每一用户通过一等级化的URL来标识,它通过诸如用户电话号码或主机名等元素来构造(例如:SIP:)。因为它与E-mail地址的相似性,SIP URLs容易与用户的E-mail地址关联。1URL格式:SIP:用户名:口令主机:端口;传送参数;用户参数;方法参数;生存期参数;服务器地址参数。2URL形式:USERHOST;3用途:代表主机上的某个用户,可指示From, To, Request URI, Contact等SIP头部字段。URL 应用举例:Sip:Sip:j.doe:;transport=tcp;subject=projectSip:+1-212-555-1212:1234;user=phoneSip:aliceSip:;method=REGISTER2.2.2 SIP 消息类型 SIP消息类型(1)请求:从客户机发到服务器的消息。(2)响应:从服务器发到客户机的消息。 请求消息操作1 INVITE:初始呼叫,用来邀请用户或应用程序加入某会话。2 ACK:确认INVITE的最终应答,和INVITE消息配套使用。3 BYE:终止呼叫。4 CANCEL:撤消搜索和振玲。该方法用于取消一个尚未完成的请求,对于已完成的请求则无影响。5 OPTIONS:查询另一方能力。6 REGISTER:客户使用该方法在服务器上登记列于To字段中的地址。用户代理在启动时向地址如S(5)发送REGISTER请求,以完成至本地服务器的登记。7 INFO:发送会话中信息而不改变会话状态,主要用于传递控制信息。8 PRACK:与ACK作用相同,但是用于临时响应。9 SUBSCRIBE:该方法用来向远端端点预订其状态变化的通知。10 NOTIFY:该方法发送消息以通知预订者它所预定的状态的变化。11 UPDATE:允许客户更新一个会话的参数而不影响该会话的当前状态。12 MESSAGE:通过在其请求体中承载即时消息内容实现即时消息。13 REFER:其功能是指示接受方通过使用在请求中提供的联系地址信息联系第三方。 响应消息包含数字响应代码。 SIP响应代码(集部分基于HTTP响应代码)的类型1临时响应(1XX):临时响应被服务器用来指示进程,但是不终结SIP事物。2最终响应(2XX,3XX,4XX,5XX,6XX):最终响应终止SIP事物。其数字相应代码共分为六类,如下: 1xx: Informational 请求建立的呼叫正在处理;2xx: Success 所请求的动作已成功收到、理解和接受;3xx: Redirection 需进行进一步的处理来完成该请求;4xx: Client Error 请求中包含错误文法或服务器不能完成;5xx: Server Error 服务器由于某些原因未能支持一个正确的请求;6xx: Global Failure 该请求在任何服务器上都不能得到支持。2.2.3 消息格式每条SIP消息由以下三部分组成:1起始行(Start Line):每个SIP消息由起始行开始。起始行传达消息类型(在请求中是方法类型,在响应中是响应代码)与协议版本。起始行可以是一请求行(请求)或状态行(响应)。2SIP头:用来传递消息属性和修改消息意义。它们在语法和语义上与HTTP头域相同(实际上有些头就是借自HTTP),并且总是保持格式::。3消息体:用于描述被初始的会话(例如,在多媒体会话中包括音频和视频编码类型,采样率等)。消息体能够显示在请求与响应中。SIP清晰区别了在SIP起始行和头中传递的信令信息与在SIP范围之外的会话描述信息。可能的体类型就包括本文将要描述的SDP会话描述协议。即SIP消息的一般格式为: SIP消息起始行/状态行 *消息头部(1个或多个头部) CRLF(空行) 消息体 SIP协议消息的主要头部字段1From: 所有请求和响应消息必须包含此字段,以指示请求的发起者。服务器将此字段从请求消息复制到响应消息。该字段的一般格式为:From:显示名SIP URL;tag=xxxFrom字段的示例有:From:”A.G.Bell”2To: 该字段指明请求的接收者,其格式与From相同,仅第一个关键词代之以To。所有请求和响应都必须包含此字段。3Call ID: 该字段用以唯一标识一个特定的邀请或标识某一客户的所有登记。用户可能会收到数个参加同一会议或呼叫的邀请,其Call ID各不相同,用户可以利用会话描述中的标识,例如SDP中的o(源)字段的会话标识和版本号判定这些邀请的重复性。 该字段的一般格式为: Call ID:本地标识主机,其中,主机应为全局定义域名或全局可选路IP地址。 Call ID的示例可为: Call ID:4Cseq: 命令序号。客户在每个请求中应加入此字段,它由请求方法和一个十进制序号组成。序号初值可为任意值,其后具有相同的Call ID值,但不同请求方法、头部或消息体的请求,其Cseq序号应加1。重发请求的序号保持不变。ACK和CANCEL请求的Cseq值与对应的INVITE请求相同,BYE请求的Cseq值应大于INVITE请求,由代理服务器并行分发的请求,其Cseq值相同。服务器将请求中的Cseq值复制到响应消息中去。Cseq的示例为:Cseq:4711 INVITE5Via: 该字段用以指示请求经历的路径。它可以防止请求消息传送产生环路,并确保响应和请求的消息选择同样的路径。该字段的一般格式为:Via:发送协议 发送方;参数其中,发送协议的格式为:协议名/协议版本/传送层,发送方为发送方主机和端口号。Via字段的示例可为:Via:SIP/2.0/UDP :40006Contact: 该字段用于INVITE、ACK和REGISTER请求以及成功响应、呼叫进展响应和重定向响应消息,其作用是给出其后和用户直接通信的地址。Contact字段的一般格式为:Contact:地址;参数其中,Contact字段中给定的地址不限于SIP URL,也可以是电话、传真等URL或mailto:URL。其示例可为:Contact:”Mr. Watson” 请求消息的格式与操作: SIP请求消息起始行=请求操作方法_请求URI_SIP版本号CRLF方法全大写请求URI:被邀用户的当前地址,不含传送参数,生存期和多播地址SIP版本,目前为SIP/2.0SIP请求消息举例: C-S: INVITE sip:WatsonB SIP/2.0 Via: SIP/2.0/UDP From: A. Bell To: T. Watson Call-ID: CSeq: 1 INVITE Contact: Subject: Mr. Watson, come here. Content-Type: application/sdp Content-Length: . v=0 o=bell IN IP4 s=Mr. Watson, come here. c=IN IP4 m=audio 3456 RTP/AVP 0 3 4 响应消息的格式与意义:状态行SIP版本_状态码_原因短语。响应类型分最终响应和非最终响应状态码可扩展原因短语给出简短的文字描述响应状态码共分为六类,内容见上节所述,常见的SIP响应状态码举例如下:100 Trying 181 Call Is Being Forwarded 182 Queued 200 OK 301 Moved Permanently 302 Moved Temporarily 400 Bad Request 404 Not Found 405 Not Allowed 500 Internal Server Error 504 Gateway Time-out 600 Busy EverywhereSIP响应消息举例: S-C: SIP/2.0 200 OK Via: SIP/2.0/UDP From: A. Bell To: ;tag= Call-ID: CSeq: 1 INVITE Contact: sip:WatsonB Content-Type: application/sdp Content-Length: . v=0 o=Watson IN IP4 s=Im on my way c=IN IP4 B m=audio 5004 RTP/AVP 0 SDP(Session Description Protocol,参见RFC2327)会话描述协议简介 SDP协议描述会话信息的协议,包括会话的地址、时间、媒体和建立等信息SDP描述的内容应包括:1会话名和目的2会话激活的时间段3构成会话的媒体4接收这些媒体所需的信息(地址、端口、格式)5会话所用的带宽信息(任选)6会话负责人的联系信息(任选) SDP的会话描述: 格式: = 规则: type为单个字符,区分大小写 value为结构化文本 =两侧无空格 一个会话级描述,从v=开始 若干媒体级描述, 从m=开始 SDP的会话级描述: v= (protocol version) o= (owner/creator and session identifier). s= (session name) i= * (session information) u= * (URI of description) e= * (email address) p= * (phone number) c= * (connection information - not required if included in all media) b= * (bandwidth information) z= * (time zone adjustments) k= * (encryption key) a= * (zero or more session attribute lines) SDP的媒体级描述: m= (media name and transport address) i= * (media title) c= * (connection information - optional if included at session-level) b= * (bandwidth information) k= * (encryption key) a= * (zero or more media attribute lines) SDP描述举例: v=0 (版本为0) o=bell IN IP4 (会话源:用户名bell,会话标识,版本,网络类型internet,地址类型Ipv4,地址) s=Mr. Watson, come here. (会话名:Mr.Watson, come here.) i=A Seminar on the session description protocol (会话信息) t= 0 (起始时间:t=(NTP 时间值),终止时间:无) c=IN IP4 (连接数据:网络类型internet, 地址类型Ipv4, 连接地址) m=audio 3456 RTP/AVP 0 3 4 5 (媒体格式:媒体类型audio, 端口号3456,传送层协议RTP/AVP,格式列表为0 3 4 5) a=rtpmap:0 PCMU/8000 (净荷类型0,编码名PCMU,抽样速度为8kHZ)a=rtpmap:3 GSM/8000 (净荷类型3,编码名GSM,抽样速度为8kHZ)a=rtpmap:4 G723/8000 (净荷类型4,编码名G723,抽样速度为8kHZ)a=rtpmap:5 DVI4/8000 (净荷类型5,编码名DVI4,抽样速度为8kHZ)总之,SDP有如下的特点:描述会话信息的协议与具体的传输协议无关文本形式,格式要求严格包含会话级描述和媒体级描述可扩展 SIP协议消息可靠机制1对于INVITE/ACK请求、响应消息的可靠性机制:(1) 基于不可靠传送协议(如UDP)请求消息的可靠性机制 采用重发机制每次重

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论