您好,欢迎光临本网站![请登录][注册会员]  
文件名称: RFC3261中文.pdf
  所属分类: C++
  开发工具:
  文件大小: 1mb
  下载次数: 0
  上传时间: 2019-09-02
  提 供 者: qq_34******
 详细说明:标准使用SIP的各个视频厂家对协议理解不同,造成不同厂家通信困难,统一协议标准。定义了关于sip的一些标准。atlanta. com .bi⊥。xi.cor PrOXy A1ice′s Bob′s softphone sIP Phone TNV工TEF1 INVITE F2 100 Trying E3 工 NVITE E4 100 Trying F5 1< 180 Ringing F6 180Rng⊥ng 180 Ringing E8 I< 200○KF9 2000KF10 200OKF11|< 一一一一 ACK F12 Media scssion 1<=======三三中======= BYE F13 一一一一一一一一一一 200KE14 Figure 1: SIP session setup example with SIp trapezoid 在文本消息的第一行,包含了请求的类型( )。在这行之后的是这个请求的头域 这个例子中包含了最少需要的头域集合。简单介绍一下 域包含了接收发送请求的服务器地址( )。同样这个包含了 一个分支参数来标志和这个服务器的会话事务。 域包含了显示姓名()和个或者 )请 求将首先传输到这个中。显示姓名( )在 中描述 域也同样包含一个显示姓名()和一个 或者 )这个用来标志请求的原始发起者。 这个域也包含了一个参数,这个参数是一个随机字串( ),是软 电话( )在上增加的个随机串。用来做标志用途的。 包含一个仝局的唯一标志,用来唯一标志这个呼叫,通过随机字串和 的自己名字或者抵制混和产生的通过 和 完整定义了 和之问的端到端的关系,并且表示这个是一个对话性质的关系 或者 包含了一个整数和一个请求名字。这个数字是 顺序递增的。每当对话中发起一个新的请求都会引起这个数字的顺序递增。 域包含一个或者 用来表示访问的直接方式,通常由用户 名和一个主机的全名( )组成。当 作为首选的 时侯,许多终端用户由」不会由名字登记(而导致不能访问的主机),所以地址是 可选的。 域告诉大家本请求发送到哪里并且应答到哪里, 域告诉大家将米的请求将 发送到哪里(奇怪..不是发起的么,将来的请求应该是才对啊) 最大转发数量限制了通讯中转发的数量。它是由一个整数组成,每转发 次,整数减 包含」消息正文的描述(消息正文在本范例中没有列出)。 包含消息正文的长度(字节数) 完整的包头域的定义在节。会话的细节,比如媒体的类型, ,或者采样 速率,没有通过来描述。这个可以通过的消息正文来描述,可以通过其他定义的 办议在正文中进行描述。有一种是会话描述协议 )。这个消息(没有在例子中列出)通过的消息中传送,就像通过 附件发送 样,或者说通过 传输的网页一样。 由于 并不知道或者的服务器 在哪里,所以 发送 请求到的服务器, 服务器应该已 经在的 中配置了,或者可以通过 获得。 服务器是 台代理服务器。代理服务器接收请求并且根据请求转发。在这个例子中,代理服务 器接收到 请求,并且回送一个()应答给的 应答表示 请求已经收到,并且代理服务器正在转发 请求。的应答是通 过一个三位数的数字表小的。应答同样包含 和在中 的分支参数,这个参数使得的 可以把请求和应答关联起来。 代 理服务器收到 请求之后,就去找 可能通过 服务来找提供这个 的服务器。这在中有措述。最后,转发 请求到 或者能 到达 的代理服务器。在转发请求之前, 代理服务器会在头上增 加一个一段包含自己抵制的值( 已经包含了的的地址域) 代 理服务器收到这个 请求并且返回一个( )应答给 代理服务器 标志这它已经收到这个请求并且正在处理这个请求。这个代理服务器通过查询数据库,通常 叫做地址服务,这个服务中包含了的当前地址。(我们在下一节可以看到这个数据库 是怎么回事) 代理服务增加另一段包含自己地址的头域并且发送它到 的电话。 的电话接收到 请求并且提醒有一个从的呼入,这样可 以决定是否响应这个呼入。这个意思就是 的电话响了 的电话发送个 ( )回应,这个回应减通过两个代理服务器原路返回给每一个代理服务器通 过头域决定该把这个应答发送给哪里,并且在发送之前把自己的地址从头上拿走。虽然 和定位服务在路由最初的 请求,( )响应可以简单返回给发起者而 不需要查找发起者在哪里,并且不需要在代理服务器保留状态,同时,每一个转发 的代理也可以得到 的每个应答,这样的特性也非常有用。 当的 收到 )应答的时候,它提示可能是通过一个回铃 音,或者屏幕上的一个消息提示 在这个例子中,决定响应这个呼叫。当他拿起电话,他的电话发送()回 应给发送者,表示这个电话已经接起来了。这个()包含了一个消息体,这个消息体包 含媟体描述,这个媒体描述包含希望和建立何种媒体连接。同样,消息也 是两段交换: 发送一个给 发送一个回给这个两段的交换提供基本的兼容 性协商,并且基于简单的提出应答交换模型。如果不想响应这个呼叫或者正在响应 别的呼叫,一个错误的响应会代替正常的 )回送出去,这样,就不会有连接建立。 完整的返回代码在节有介绍。发出的()(图一的消息)可能长得像这样的: (Bob’ S SDP not shown) 应答的第一行包含了应答代码()和原因()。剩下的行包含了包头域。 包头域是从请求包中直接拷贝过来的。(有三个 域值一一个是 电话增加的,一个是 代理加的,一个是 代理加的)。 的电话增加了一个参数。这个参数会被参与对话的各方所使用,并且在以后的 对话中被使用。 域包含了一个能直接联系到的 和 域包含了消息体(没有在例子中体现),这个消息体里边是的媒体 信息 除了和位置服务之外,代理服务器可以自主决定路由,也就是说自己决定应该向 哪里转发请求。比如,如果的电话返回一个(电话正忙)信号, 这个 代理服务器可以转发这个请求到的语音邮箱服务器。一个代理服务器可以同时向 个地方发送 诮求。这种并发寻找就是传说中的分流( 在这个例子中,()应答通过两个代理并且发送到的 上 的 收到这个应答,停止振铃,并且标志电话已经接听。最后,的电话发送 个确认消息,,到的电话来确认接收到了这个最后的(’)应答。在这 个例子中,信号是直接由的 发送到的 上,跨过了两个代理 服务器。这是因为两个端点(和)通过 的请求应答包中的 包头域都知道互相之间的地址了,这个地址是最开始发起 请求的时候所不知道的。 所以,不需要两个代理服务器再査找对方的地址了,所以代理服务器不参与接下来的通话流 了。这就完成了一个完整的使用 三方握手来建立会话的过程。会话建 立过稈中的细节措述再节由描述 现在,和的媒体会话开始了,他们通过发送刚才建立会话所交换的包中约 定的互相明白的媒体包来进行会话。一般情况下,端到端的媒体包和信号控制包通过不 同的通讯略径来发送。 在会话中,或者都可以改变他们自υ的媒体会话属性。这个可以通过发送一个 包含新媒体属性措述的 请求来完成。这个 是捆绑在一个现有的公话的 这样参与会话的对方可以明白这是要改变现有的会话属性而不是新建立一个会话。对方收到 这个 请求后,会发送一个()应答表示接受这个改变。请求方通过一个 来表示接受了对方的这个 应答。如果对方不同意这个媒体属性变化,他会发送一个 错误的应答比如(暂时不能进行),这个也会收到发起者的一个响应。不管怎样, 就是 的失败也不会影响到现有的会话一原有的会话还可以用上次的媒体会话属性 继续。可以在节找到会话属性更改的细节说明。 在通话结束的时候 首先断开(挂机 ),并且发送一个的消息。这个 的消息将直接送到的 ,同样是跳过代理的。通过发送()应 答来确认收到了这个消息,这个消息终止了会话并且应答了的请求。在这里 不需要发送一一个信号只在响应一个 的响应的时侯被发送。我们焇晚一点会讨 论这个 的特别处理,但是基于的可靠性的机制,一个通话的时间可以认为包含电 话振铃和挂机的吋间( )基于这样的原因,请求的处理通常根 据是否 请求进行分类 类和非 类请求分开处理。结束会话的细节可以在 节查到 节描述了图中使用的全部消息详细解释。在某些情况下,所有会话中的包都继续 通过代理转发会很有用。比如,如果 代理服务器希望在 之后继续保持 消息流,他会在中增加一个头域( )包含一个指向这个代理服务 器的 或者地址。这个消息会破的电话和 所接到(因为 头域将在 应答中被送回),并且在会话中一直保存。那么 代 理服务器就可以继续接收和转发 给的()应答。每一个代理都可以单 独决定是否接收 以后的后续消息,并且这些后续消息都可以被发送到那些决定接收 后续消息的代理服务器。这种情况通常发生在提供 业务的代理服务器上。 登记服务是另一个常用的操作。登记服务是 代理服务器知道当前地址 的一个方法。在初始化的时候,或者每隔一段时间,的电话发送 消息给 的一个注册服务器。 消息包含了当前登陆服务器的或者 的( )(转换成为 域中的或者 )。登记服务器登 记这个映射,这个叫做绑定( ),写到一个数据库里边,叫做定位服务( ),这个数据库可以被 的代理服务器使用。通常登记服务器和代理服务器 是做在·起的。一个很重要的概念就是服务器的差别在逻辑上,并非在物埋上的差别 并没有限定非得在一个单个设各上发起注册。比如,他家里的电话和公司的 电话都可以注册。这些消息在定位服务 中保存,并且允许代理服务器通 过不同的手段查找。同样的,不同的用户也可以在同一个设备上同时注册。 定位服务( )是一个逻辑慨念。他是让代理服务通过输入一个来查 询到底应该向哪里转发请求。可以简单通过用户注册来建立这个定位服务所需要的资料,也 可以通过其他方法。可以通过其他任意的地上映射方式来实现定位服务。 最后在中需要注意的是,注册服务只是用米提供路由收到的请求的,它并不做 请求的身份认证的判定。在中授权和认让可以通过建立在基请求应答的模式上的上 文相关的请求来实现,也可以使用更底层的方式来实现(具体在节有描述)。 完整的注册消息描述例子在节 其他的操作,比如检查服务器的负载,或者使用客户端使用可选项( ), 或者用 取消一个未决的请求,在后续的章节中会介纽。 协议的结构 是一个分层的协议,意思是说协议由一组相当无关的处理层次组成,这些层次 之间只有松散的关系。协议分成不同层次来描述是为了能够更清晰的表达,在同一个小节里 有功能的公共要素的交叉描述。本协议并没有规定一个具体的实现。当我们说一个要素”包 含”某一个层,我们的意思是这个要素复核这个层定义的规则 不是每一个要素都一定包含每一个层。此外,定义的要素是逻辑上的要素,不 是物理要素。一个物理的实现可以实现不同的逻辑要素,或许甚至是基于串行事务处理原理。 最底层的是它的语法和编码层。编码方式是采用扩展的 范式。完整的述在节:第节有简要的消息结构描述 第层是传输层。它定义了一个客户端如何发送请求和接收应答,以及一个服务器如何 接收请求和发送应答。所有的要素都包含一个通讯层。第节有通讯层的描述 第三层是事务层。事务是的基本组成部分。一个事务是客户发送的一个请求事务 (通过通讯层)发送到个服务器事务,连同服务器事务的所有的该请求的应答发送回客户 端事务。事务层处理应用服务层的重发,匹配请求的应答,以及应用服务层的超时。任何 个用户代理客户端( )完成的事情都是由一组事务构成的。有关事务 的讨论在第节有描述。用户代理包含一个事务层,来实现有状态的代理服务器。无状态 的代理服务器并不包含事务层。事务层包含一个客户元素(可以认为是一个客户事务)和 个服务器元素(可以认为是个服务器事务),他们都可以用个有限状态机来处理特定的 请求 在事务层之上是事务用户()。每一个实体,除了无状态代理,都是一个事务用 户。当一个发出一个请求,它首先创建一个客户事务实例( 并且和请求一起发送,这包括了目标地址、端口号、以及发送请求的设备。可以创建 客户事务,也可以取消客户事务。当客户取消个事务,它请求服务器终止正在处理的事务, 并且回滚状态到该事务开始前的状态,并且产生指定的该事务的错诶报告。这是由 请求完成的,这个请求有自己的事务,并且包含一个被取消的事务(第节)。 要素,包含,用户代理客户端和服务器,无状态和有状态代理服务器和注册服务器, 包含一个可以互相区别的核心() ,除了无状态代理服务器,都是事务用户。 用户代理客户端和用户代理服务端的的行为依赖于实现,对所有的实现 来说,有几个公共的原则(第节)。对来说,这些规则约束请求的建立;对来 说,这些规则约束请求的处理和应答。由于注册服务在中是一个重要的角色,所以 处理 请求有个特别的名字:登记员( 登记服务器)。第节描述 的对 实现的(核心)行为。第节描述了 的 的实现,这个 用米检测的处理能力的( 在对话中,有其他的相关会被发送。一个对话是一个持续一定时间的两个用户之问的端 到端的关系。对话过程要求两个用户代理之间的信息是有序的而且请求被正确路由传 输的。在这个规范中,只有 请求可以用来建立会话。当个在·个对话中发 岀请求的时候,它不仅遵循第节描述的一般规则而且也遵循对话中的请求规则。第 节讲述了对话并且讨论了对话的创建和维持,以及在对话中创建一个请求 中最重要的方法就是 方法,它用来在不同的参与者中创建会话使用。一个 公话由一组参与者,他们之间用于交流的媒体流组成。第节讲述了这些会话的创建初始 化过程,以及创建个或组对话。第节讲述了在对话中使用 请求来收变会话 的属性。最后,第节,讲述了如何终止会话。 第 节讲述了完整的核心(第节描述了取消,在 核心和代瑆核心中使用)。第节讲数了代理服务器,代理服务器用于在两个之间 做消息路由使用。 6、协议的定义 以下讲述的名词对有着额外的意义 :记录地址。一个 是一个或者 它指向了一个具有定位服务的主机,这个主机可以把映射成为用户真正物理位置的 。通常情况下,定位服务器是通过登记服务米建立的。一个经常被认为是一个用 户的”公共地址” 背对背的用户代理( )是一个逻辑实体,它就像用 户代理服务器()一样接收和处理请求。为了决定该如何应答一个请求 就像 样工作,并且发出请求。但是它不像代理服务器(),它维持对话状态,并且 参与已经建立的对话中的每一个请求。由于它是直接的和的串连,所以,不需 要对他有额外的定义 :呼叫,一个呼叫是一个非正式的术语,它是指在端点之间一个一些通讯行为,通 常用于建立多媒体对话。 对话的别名;在木规范中没有使用 如果一个代理服务器()保存一个对话的状态(从最开始的 到对话终结的,那么这个代坦服务器就是请求有状态的。个请求有状态( )的代理服务器也一定是事务有状态的,但是事务有状态的不一定是凊求有状态的、 客户端。一个客户端是一个任意的网络元素,它发出请求和接收应答。 客户端可能会也可能不会和人交互。用户代理客户端()和代理服务器()都是 客户端。 个包含多个参与方的多媒体会话(见后)。 :核心。核心定义了实体的特定类别。比如定义∫一个有状态和无状态的代 理服务器,一个用户代理或者注册服务器( )。所有的核心,除了无状态代理服务 器,都是事务用户。 对话,一个对话是持续一段时间的两个之间的端刭端的关系。一个对 话由消息建立,就像用响应 请求。我们用 (本地 ), (对方)来标志一个对话,一个对话在 中被正式叫做 它是事务中的消息传递方向。它特指从到的请求流的方向。 终结响应。一个响应终端事务的应答,和事务中间的临时响应 相反。所有的 响应都是终结响应 头。头域是在消息头部用来描述这个消息信息的部分。它由一堆头 域字段组成。 头域字段。头域字段是在消息头域的字段。·个头域字段可以由多 个头域字段行组成。一个头域字段由一个头域名和(零个或多个)头域值组成。多个头域值 用’分割。某些头域字段只能有单个值,比如结果域()就只能有一个值 头域值。一个头域值是一个单个的值,一个头域字段可以有个或 者多个头域值 宿主机。·个提供服务的主机。般指的是在登记服务中指明的 记录地址中的的主机 提示应答,和临时应答一样 用 初始一个会话(和对话)的那方。一个 从发出 请求建立对话开始,到对话终止都一直是这个角色。 个 请求。 破叫方。收到 请求并且建立会话的那 方。一个被叫方从收到 请求起,到终止 建的对话结束,都称作被叫方。 定位服务。定位服务是用来给转发或者代理服务器确定被叫方 可能的位置使用的。它包含一张绑定了 的表,被叫方可能有到多个 录。绑定的记录可以通过多种渠道添加和删除;本规范定义了 方法米更新绑定 表 环路。当请求抵达一个代理服务器,代理服务器转发这个请求,当这个请求再 次来到同一个代理服务器,就称之为环路。当第次抵达的时候 中包含了 上次抵达的资料,并且由于并没有什么东西可以改变转发的策略,这样就导致这个请求还会 再次被转发冋来。环路请求是错误的,所以,处理程序需要检测和防止协议中岀现的环跻请 求 丢失路由。代理服务器在下述情况下会丢失路由。 A proxy is said tc be loose routing if it follows the procedures defined in -his specification for processing of the Route header field. These procedures separate the destination of the request (present in the Request-URI)from the set of proxies that need to be visited along the way (present in the Route header =ield).A proxy compliant to e se mechanisms is also known as a loose router 消息。元素之间传送的办议数据就是消息。消息既可以是请求也可 以是应答。 方法。方法是在服务器请求处理的主要功能。方法是请求消息自身携带的。典 型的方法就是 和 对外代理服务器。一个代理服务器接收到客户的请求,即使它不是由 所决定的服务器。通常一个会手工配置一个对外的代理服务器,或者可 以通过一个自动配置的协议自动配置一个 并行搜索。并行搜索情况下,代理服务器会向多个用户可能存在的地 方发起请求,并且等待应答。同串行搜索不同的地方是,并行搜索不会等待上一个请求应答 回来之后再发起下一个搜索,而是一个接一个的发起搜索请求 临吋应答。服务器用来标志自己正在处理的应答,但是本应答 并不结束一个事务。应答就是临时的,其他应答标志着事务的结束。 代理、代理服务器。一个中间的实体。它本身既作为客户端也作 为服务端,为其他客户端提供请求的转发服务。一个代理服务器首先提供的是嵱由服务,乜 就是说保证请求被发到更加”靠近”目标用户的地方。代理服务器对某些强制政策有用(比如 确认个用户是否允许建立个呼叫等)。个代理服务器翻译,并且,如果有需要的话, 再转发前会重写请求消息。 回路、递归。一个客户端,在响应请求的时候产生新的到 包头域 的请求的时候,会在响应中陷入递归。Ac1 ient recurses on a3 Xx -esponse when it generates a new request to one or more of the uRIs in the Contact header field in the response 重定向服务器。一个重定向服务器是一个产生应答的 务器, 指示客户端连接别的 登记员。一个登记员(登记服务器)是一个接收 请求得服务器。 他把请求得信息放到定伩服务器中,这样可以讣定位服务器很方便得査找位置信息。 常规事务。凡不包含 或者 方法得事务就是 常规事务。 请求。一个由客户端发到服务端得信息,用于执行特定得功能 :应答。一个由服务端发到客户端得信总。用来标志从客户端发往服务 端得请求处理得情况得。 回铃音。回铃音是一个信号音。是给呼叫方得一个信号表示被叫方正在振铃 路由集。路由集合是一个顺序得或者 。这些描述了传 递一个请求所必须经历得代理列表。一个路由集可以是自适应得,因为包头中包含了 记录路由,也可以是依赖配置得到得。 服务器。一个 是一个网终元素接收请求并且处理请求并且发送回应给 请求方。典型得服务器就是代理服务器( ),用户代理服务器( ), 重定向服务器,登记服务器。 :顺疗查找。在顺序查找中,代理服务器顺序尝试联系地址,在处 理下一个之前必须等待上一个请求已经有一个结束应答。一个或者系列得最终应 答总是结束一个顺序查找 会话。根据得描述:”·个多媒体会话是个由多媒体发送方和接受方 组成得集合,并且包括在发送方和接受方之间得数据流。一个多媒体会议是一个典型得多媒 体会话。” 在订一下可以是一个或者多个 在定义中,一个被叫方可以被多次邀请,被不同得呼叫方邀请,到同一个会话。在中, 个会话可以被用户名, 网络类型,地址类型,地址元素得一个集合串所 规定。 事务:一个事务是在客户端和服务端待事件,包括」从第一个由客户端发送 到服务端得请求,到最后一个(非)服务端向客户端发出得终结应答。如果请求是一个 请求,并且终结应答是一个非得应答,那么事务还包括一个给服务器做 应答。给 请求的应答的回应,是一个独立的事务。 回溯。一个回溯是指一个请求,路由给一个 并且转发,但是又被 路由回这个,但是不冋于回路(递归)的是,这次路由回来的请求包的包头中,包含 了不同于原请求的请求包部分,使得本次决定的路由转发与上次不同。通常,这是说, 请求的 不同于上次的 。·个回溯不是个错误,不同于回路(环 路 )。通常导致这样的现象是呼叫转发 )。二个用户呼叫 代理服务器转发请求到的并且的呼叫 转移到 这个请求被转发回 代理服务器。可是这个并不 是一个环路()。因为请求的目的地址变成了另一个用户,这就是回溯,是一个合法的 情况 有状态的代理服务器。在逻辑上,有状态的代理服务器就是处理一个请 求的过程中,维持的一个本规范所定义的客户端和服务端的事务状态机。也是一个事务又状 态代理服务器 。具体的 在第节定义。一个(事 务)有状态代理服务器和一个 不是一回事 无状态的代理服务器。在逻辑上,无状态代理服务器在处理请求中, 并不维持客户和服务端的事务状态机。一个无状态的代理服务器直接转发每一个接收到的请 求和每一个接收到的响应。 严格路由。路由处理规则如果复核 协议( )就是一个严格路由。在这个规则下,如果在包头中包含 域,那么代理服务器就会删除 域内容。本文档并不要求一定要有严格 路由,本文档只要求松散路由就可以了。支持严格路由的代理服务器也叫严格路由器。 目标刷新请求。一个 是一个在对话 中发出的请求,用来更改对话目标的请求。 事务用户。在 层之上的协议层。包括了 核 和 上行流。一个在事务中的消息流向方向。它是指由用户代理服务器()
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: RFC3261中文.pdf
 输入关键字,在本站1000多万海量源码库中尽情搜索: