sip RFC3261中文版 (一)

1、SIP协议介绍
Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。本SIP(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许建立一个可共享的会话描述。为了能够定位精确的会话参与者,并且也为了其他的目的,SIP允许创建基础的network hosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。
2、SIP协议功能概况
SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)。SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点。SIP在建立和维持终止多媒体会话协议上,支持5个方面:
用户定位: 检查终端用户的位置,用于通讯。
用户有效性:检查用户参与会话的意愿程度。
用户能力:检查媒体和媒体的参数。
建立会话:”ringing”,建立会话参数在呼叫方和被叫方。
会话管理:包括发送和终止会话,修改会话参数,激活服务等等。
              SIP 不是一个垂直集成的通讯系统。 SIP 可能叫做是一个部件更合适,它可以用作其他 IETF 协议的一个部分,用来构造完整的多媒体架构。比如,这些架构将会包含实时数据传输协议( RTP )( RFC 1889 )用来传输实时的数据并且提供 QoS 反馈,实时流协议( RSTP (RFC 2326) 用于控制流媒体的的传输,媒体网关控制协议( MEGACO (RFC 3015) 用来控制到公共电话交换网( PSTN )的网关,还有会话描述协议( SDP )( RFC 2327 )用于描述多媒体会话。因此, SIP 应该和其他的协议一起工作,才能提供完整的对终端用户的服务。虽然基本的 SIP 协议的功能组件并不依赖于这些协议。
SIP本身并不提供服务。但是,SIP提供了一个基础,可以用来实现不同的服务。比如,SIP可以定位用户和传输一个封装好的对象到对方的当前位置。并且如果我们利用这点来通过SDP传输会话的描述,立刻,对方的用户代理可以得到这个会话的参数。如果我们用这个像传输会话描述(SESSION DESCRIPTION SD)一样呼叫方的照片,一个”呼叫ID”服务很容易就建立了。这个简单的例子说明了,SIP作为一个基础,可以在其上提供很多不同的服务。
SIP并不提供会议控制服务(比如议席控制或者投票系统),并且并没有建议会议应该则那样管理。可以通过在SIP上建立其他的会议控制协议来发起一个会议。由于SIP可以管理参与会议的各方的会话,所以会议可以跨异构的网络,SIP 并不能,也不打算提供任何形式的网络资源预留管理。
安全对于提供的服务来说特别重要。要达到理想的安全程度,SIP提供了一套安全服务,包括防止拒绝服务,认证服务(用户到用户,代理到用户),完整性保证,加密和隐私服务。
SIP可以基于IPV4也可以基于IPV6
3、术语
 
 
在这个文档中,关键词 必须 ”,” 不允许 ”,” 要求 ”,” 可以 ”,” 不可以 ”,” 应该 ”,” 不应该 ”,” 建议 ”,” 不建议 ”,” 可能 ”,” 可选 是根据 BCP14,RFC 2119[2] 的规范描述 SIP 实现需要的不同层次.   
 
4、实施概览
这节通过简单的示例介绍了 SIP 的基本实现。本节是通过自然的而非正则的示例来介绍的。
              第一个例子说明了SIP的基本功能:定位一个断点,发出通讯请求,通过协商会话参数建立会话,拆卸刚才建立的会话。
              图一表示一个典型的Alice和Bob两个用户间的SIP消息交易交换例子.(每一个消息采用字母”F”和一个用来指向正文的一个数字做标记)在这个例子里,Alice在她的PC上使用一个SIP的应用程序(比如说一个软的电话),呼叫Bob在Internet上的一个SIP电话。这个例子也掩饰了两个SIP代理之间,怎样为Alice和Bob建立会话连接。 This typical arrangement is often referred to as the "SIP trapezoid" as shown by the geometric shape of the dotted lines in Figure 1.
Alice 通过 Bob SIP 标志 呼叫 ” Bob ,这个 SIP 标志是统一分配的资源( Uniform Resource Identifier URI )称作 SIP URI SIP URI 19.1 节中定义。它很像一个 email 地址,典型的 SIP URI 包括一个用户名和一个主机名。在这个范例中, SIP URI sip:bob@biloxi.com,biloxi.com Bob SIP 服务提供商。 Alice 有一个 SIP URI: sip:alice@atlanta.com Alice 可以输入 Bob URI ,也可以直接在地址本的一个超级链接上点击一下 Bob URI SIP 也提供保密 URI ,称作 SIPS URI 。例如: sips: bob@biloxi.com 一个基于 SIPS URI 的通话保证这个通话是安全的,并且对呼叫者和被叫的所有的 SIP 消息是加密传输的(叫做 TLS )。在 TLS 中,请求是通过加密方式传输给被叫方,但是这个加密机制是基于被叫方宿主服务器的实现的。
SIP 是基于一个类似 HTTP 协议的请求应答的通讯模式。每一个通讯都包含对某个功能的请求,并且起码需要一个应答。在这个应答中, Alice 的软电话发送一个含有 Bbo SIP URI 抵制的 INVITE 通讯请求。 INVITE 是一个 SIP 请求的例子,表示请求方( Alice )希望服务方( Bob )应答。 INVTE 请求包含一系列的包头域( Header fields )。包头中包含很多属性并且包含了传输消息的附加信息。在 INVITE 中有如下的字段:呼叫的唯一标志,目的抵制, Alice 的地址, Alice Bob 建立会话的类型。 INVITE 请求(图 1 中的 F1 )可能看起来像这样的:
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142
(Alice’s SDP not shown)
atlanta.com . . . biloxi.com
.      proxy                                                proxy                  .
.                                                                                                                                        .
Alice’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . Bob’s
softphone                                                                                                                                                          SIP Phone
|                                                                     |                                                                     |                                                              |
| INVITE F1                                       |                                                                    |                                                              |
|--------------->                                      | INVITE F2                                       |                                                              |
| 100 Trying F3                    |--------------->                                      | INVITE F4                                       |
|<---------------                                      | 100 Trying F5                    |--------------->                                      |
|                                                                     |<--------------                                       | 180 Ringing F6                  |
|                                                                     | 180 Ringing F7                  |<---------------                                      |
| 180 Ringing F8                  |<---------------                                      | 200 OK F9                                      |
|<---------------                                      | 200 OK F10                      |<---------------                                      |
| 200 OK F11                      |<---------------                                      |                                                                     |
|<---------------                                      |                                                                     |                                                              |
|                                                                                                 ACK F12                                                                             |
|                                                                     ------------------------------------------------->                   |
|                                                                                   Media Session                                                                     |
|<================================================>           |
|                                                                                                 BYE F13                                                                             |
|                                                                     <-------------------------------------------------                   |
|                                                                                   200 OK F14                                                                                       |
|                                                                     ------------------------------------------------->                   |
|                                                                                                                                                                                                          |
图一: SIP 矩形表达的 SIP 会话建立例子。
在文本消息的第一行,包含了请求的类型(INVITE)。在这行之后的是这个请求的头域。这个例子中包含了最少需要的头域集合。简单介绍一下:
VIA域包含了Alice接收发送请求的服务器地址(pc33.atlanta.com)。同样这个包含了一个分支参数来标志Alice和这个服务器的会话事务。
TO域包含了显示姓名(Bob)和一个SIP或者SIPS URI(sip:bob@biloxi.com)请求将首先传输到这个URI中。显示姓名(Display names)在RFC 2822中描述。
From域也同样包含一个显示姓名(Alice)和一个SIP或者SIPS URI(sip:alice@atlanta.com)这个URI用来标志请求的原始发起者。
这个域也包含了一个TAG参数,这个TAG参数是一个随机字串(1928301774),是软电话(softphone)在URI上增加的一个随机串。用来做标志用途的。
Call_ID包含一个全局的唯一标志,用来唯一标志这个呼叫,通过随机字串和softphone的自己名字或者IP地址混和产生的。通过TO TAG, FROM TAG和CALL-ID完整定义了Alice和Bob之间的端到端的SIP关系,并且表示这个是一个对话性质的关系。
CSEQ或者Command Sequence包含了一个整数和一个请求名字。这个Cseq数字是顺序递增的。每当对话中发起一个新的请求都会引起这个数字的顺序递增。
Contact域包含一个SIP或者SIPS URI用来表示访问Alice的直接方式,通常由用户名和一个主机的全名(Fully Qualified Domain Name FQDN)组成。当FQDN作为首选的时候,许多终端用户由于不会由名字登记(而导致不能访问Alice的主机),所以IP地址是可选的。
VIA域告诉大家本请求发送到哪里并且应答到哪里,Contract域告诉大家将来的请求将发送到哪里(奇怪…不是Alice发起的么,将来的请求应该是Bob才对啊)。
Max-Forwards:最大转发数量限制了通讯中转发的数量。它是由一个整数组成,每转发一次,整数减一。
Content-type包含了消息正文的描述(消息正文在本范例中没有列出)
Content-length:包含消息正文的长度(字节数)
完整的SIP包头域的定义在20节。会话的细节,比如媒体的类型,codec,或者采样速率,没有通过SIP来描述。这个可以通过SIP的消息正文来描述,可以通过其他定义的协议在正文中进行描述。有一种是会话描述协议(Session Descripotion Protocol SDP)(RFC2327[1])。这个SDP消息(没有在例子中列出)通过SIP的消息中传送,就像通过附件发送EMAIL一样,或者说通过HTTP传输的网页一样。
由于softphone并不知道bob或者bob的sip服务器biloxi.com在哪里,所以softphone发送INVITE请求到Alice的sip服务器,atlanta.com。这个atlanta.com SIP服务器应该已经在Alice的softphone中配置了,或者可以通过DHCP获得。atlanta.com SIP服务器是一台代理服务器。代理服务器接收SIP请求并且根据请求转发。在这个例子中,代理服务器接收到INVITE请求,并且回送一个100(Trying)应答给Alice的softphone。100(Trying)应答表示INVITE请求已经收到,并且代理服务器正在转发INVITE请求。SIP的应答是通过一个三位数的数字表示的。SIP应答同样包含TO、FROM、Call-ID,CSEQ和在VIA中的分支参数,这个参数使得Alice的softphone可以把请求和应答关联起来。atlanta.com代理服务器收到INVITE请求之后,就去找biloxi.com可能通过DNS服务来找提供这个biloxi.com的SIP服务器。这在[4]中有描述。最后,转发INVITE请求到biloxi.com或者能到达biloxi.com的代理服务器。在转发请求之前,atlanta.com代理服务器会在via头上增加一个一段包含自己抵制的值(INVITE已经包含了Alice的的地址VIA域)。biloxi.com代理服务器收到这个INVITE请求并且返回一个100(Trying)应答给atlanta.com代理服务器标志这它已经收到这个请求并且正在处理这个请求。这个代理服务器通过查询数据库,通常叫做地址服务,这个服务中包含了bob的当前ip地址。(我们在下一节可以看到这个数据库是怎么回事)biloxi.com代理服务增加另一段包含自己地址的VIA头域并且发送它到bob的sip 电话。
Bob的SIP电话接收到INVITE请求并且提醒bob有一个从Alice的呼入,这样bob可以决定是否响应这个呼入。这个意思就是:bob的电话响了。bob的sip电话发送一个180(Ringing)回应,这个回应将通过两个代理服务器原路返回给Alice。每一个代理服务器通过via头域决定该把这个应答发送给哪里,并且在发送之前把自己的地址从头上拿走。虽然DNS和定位服务在路由最初的INVITE请求,180(ringing)响应可以简单返回给发起者而不需要查找发起者在哪里,并且不需要在代理服务器保留状态,同时,每一个转发INVITE的代理也可以得到INVITE的每一个应答,这样的特性也非常有用。
Alice softphone 收到 180 Ringing )应答的时候,它提示 Alice, 可能是通过一个回铃音,或者屏幕上的一个消息提示。
在这个例子中, Bob 决定响应这个呼叫。当他拿起电话,他的 SIP 电话发送 200 OK )回应给发送者,表示这个电话已经接起来了。这个 200 OK )包含了一个消息体,这个消息体包含 SDP 媒体描述,这个媒体描述包含 Bob 希望和 Alice 建立何种媒体连接。同样, SDP 消息也是两段交换: Alice 发送一个给 Bob Bob 发送一个回给 Alice 。这个两段的交换提供基本的兼容性协商,并且基于简单的 SDP 提出 / 应答交换模型。如果 Bob 不想响应这个呼叫或者正在响应别的呼叫,一个错误的响应会代替正常的 200 OK )回送出去,这样,就不会有连接建立。 SIP 完整的返回代码在 21 节有介绍。 Bob 发出的 200 OK )(图一的 F9 消息)可能长得像这样的:
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:bob@192.0.2.4>
Content-Type: application/sdp
Content-Length: 131
(Bob’s SDP not shown)
应答的第一行包含了应答代码( 200 )和原因( ok )。剩下的行包含了包头域。 VIA,TO,FROM,CALL-ID,Cseq 包头域是从 INVITE 请求包中直接拷贝过来的。(有三个 VIA 域值-一个是 Alice SIP 电话增加的,一个是 atlanta.com 代理加的,一个是 biloxi.com 代理加的)。 Bob SIP 电话增加了一个 TAG 参数。这个 TAG 参数会被参与对话的各方所使用,并且在以后的对话中被使用。Contract域包含了一个能直接联系到Bob的URI。Content-type和Content_Length域包含了消息体(没有在例子中体现),这个消息体里边是Bob的SDP媒体信息。
除了DNS和位置服务之外,代理服务器可以自主决定路由,也就是说自己决定应该向哪里转发请求。比如,如果Bob的SIP电话返回一个486(电话正忙)信号,biloxi.com这个代理服务器可以转发这个INVITE请求到Bob的语音邮箱服务器。一个代理服务器可以同时向N个地方发送INVITE请求。这种并发寻找就是传说中的分流(forking)。
在这个例子中,200(OK)应答通过两个代理并且发送到Alice的softphone上,Alice的softphone收到这个应答,停止振铃,并且标志电话Bob已经接听。最后,Alice的电话发送一个确认消息,ACK,到Bob的SIP电话来确认接收到了这个最后的200(o’k)应答。在这个例子中,ACK信号是直接由Alice的softphone发送到Bob的SIP phone上,跨过了两个代理服务器。这是因为两个端点(Alice和Bob)通过INVITE/200(OK)的请求应答包中的Contact包头域都知道互相之间的地址了,这个地址是最开始发起INVITE请求的时候所不知道的。所以,不需要两个代理服务器再查找对方的地址了,所以代理服务器不参与接下来的通话流了。这就完成了一个完整的使用INVITE/200/ACK 三方握手来建立SIP会话的过程。会话建立过程中的细节描述再13节由描述。
现在,Alice和Bob的媒体会话开始了,他们通过发送刚才建立会话所交换的SDP包中约定的互相明白的媒体包来进行会话。一般情况下,端到端的媒体包和SIP信号控制包通过不同的通讯路径来发送。
在会话中,Alice或者Bob都可以改变他们自己的媒体会话属性。这个可以通过发送一个包含新媒体属性描述的re-INVITE请求来完成。这个re-INVITE是捆绑在一个现有的会话的,这样参与会话的对方可以明白这是要改变现有的会话属性而不是新建立一个会话。对方收到这个re-INVITE请求后,会发送一个200(OK)应答表示接受这个改变。请求方通过一个ACK来表示接受了对方的这个200(OK)应答。如果对方不同意这个媒体属性变化,他会发送一个错误的应答比如488(暂时不能进行),这个也会收到发起者的一个ACK响应。不管怎样,就是是re-INVITE的失败也不会影响到现有的会话-原有的会话还可以用上次的媒体会话属性继续。可以在14节找到会话属性更改的细节说明。
 
 
 
 
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
sip RFC3261 中文版 1、SIP协议介绍 10 2、SIP协议功能概况 10 3、术语 12 4、实施概览 12 5、协议的结构 22 6、协议的定义 24 7、SIP消息: 32 7.1 请求 33 7.2应答 34 7.3 头域 35 7.3.1 头域格式。 35 7.3.2 头域分类。 39 7.3.3 缩写格式 39 7.4包体 39 7.4.1 消息正文类型(MessageBodyType) 39 7.4.2 消息体长度 40 7.5 分帧的SIP消息(Framing SIP Messages) 40 8 一般用户代理行为 40 8.1 UAC特性 41 8.1.1 产生一个请求 41 8.1.1.1 Request-URI 42 8.1.1.2 TO 42 8.1.1.3 From 43 8.1.1.4 Call-ID 44 8.1.1.5 Cseq 45 8.1.1.6 Max-Forwards 45 8.1.1.7 Via 45 8.1.1.8 Contact 46 8.1.1.9 Supported 和 Require 47 8.1.1.10 附加信息部分 47 8.1.2 发送一个请求 47 8.1.3 处理应答 48 8.1.3.1: transaction 层的错误 49 8.1.3.2 未知的应答 49 8.1.3.3 Vias 49 8.1.3.4 处理3xx应答 49 8.1.3.5 处理4xx应答 51 8.2 UAS特性 52 8.2.1 方法判定 53 8.2.2 包头判断 53 8.2.2.1 TO 和Request-URI 53 8.2.2.2 合并的请求 54 8.2.2.3 Require 54 8.2.3 内容处理 55 8.2.4 应用扩展 55 8.2.5 处理请求 56 8.2.6 产生应答 56 8.2.6.1 发送一个临时应答 56 8.2.6.2 包头和Tags 57 8.2.7 无状态UAS行为 57 8.3 重定向服务器 58 9 取消一个请求(Cancel) 60 9.1 客户行为(Client Behavior) 60 9.2 服务端行为(Server Behavior) 62 10 注册(Registrations) 63 10.1 概览 63 10.2 构造一个REGISTER请求 64 10.2.1 增加绑定 66 10.2.1.1 设置Contact地址的过期参数 67 10.2.2 删除绑定 68 10.2.3 访问绑定 68 10.2.4 刷新绑定 69 10.2.5 设置内部时钟 69 10.2.6 寻找注册服务器 69 10.2.7 传送一个请求 70 10.2.8 错误响应 70 10.3 处理REGISTER请求 70 11 查询能力 73 11.1 构造OPTIONS请求 74 11.2 处理OPTIONS请求 75 12 对话(Dialog) 77 12.1 创建一个对话 78 12.1.1 UAS行为 78 12.1.2 UAC行为 79 12.2 对话中的请求 80 12.2.1 UAC行为 81 12.1.1.1 产生请求 81 12.2.1.2 处理应答 83 12.2.2 UAS行为 84 12.3 终止对话 85 13 初始化一个会话 85 13.1 概览 85 13.2 UAC处理 86 13.2.1 创建一个初始化的INVITE 86 13.2.2 处理INVITE应答 89 13.2.2.1 1xx应答 89 13.2.2.2 3xx应答 89 13.2.2.3 4xx,5xx,6xx应答 90 13.2.2.4 2xx 应答 90 13.3 UAS处理 91 13.3.1 处理INVITE 91 13.3.1.1 提示进度 92 13.3.1.2 INVITE请求转发 93 13.3.1.3 INVITE请求的拒绝 93 13.3.1.4 接受INVITE请求 93 14 更改已经存在的会话 94 14.1 UAC行为 95 14.2 UAS行为 96 15 结束一个会话 98 15.1 使用BYE请求终止一个会话 99 15.1.1 UAC行为 99 15.1.2 UAS行为 100 16 proxy行为 100 16.1 概述 100 16.2 有状态的proxy 101 16.3 验证请求 103 16.4 路由信息预处理 105 16.5 确定请求的目的 106 16.6 请求转发 108 16.7 应答的处理 117 16.8 处理定时器C 125 16.9 处理通讯层的错误 126 16.10 CANCEL处理 126 16.11 无状态的proxy 127 16.12 Proxy Route处理的总结 129 16.12.1例子 130 16.12.1.1 基本SIP四边形 130 16.12.1.2 穿越一个严格路由proxy 132 17事务 134 17.1 客户端事务 136 17.1.1 INVITE客户事务 137 17.1.1.1 INVITE事务概述 137 17.1.1.2 正式的描述 138 17.1.1.3 构造ACK请求 142 17.1.2 非INVITE客户端事务 143 17.1.2.2 正式的描述 143 17.1.3 客户端事务匹配应答 145 17.1.4 处理通讯错误 145 17.2 服务端事务 147 17.2.1 INVITE服务端事务 147 17.2.2 非INVITE服务端事务 150 17.2.3 为服务端事务匹配请求。 151 17.2.4 处理通讯错误 154 18 通讯(transport) 154 18.1 客户Clients 155 18.1.1 发送请求 155 18.1.2 接收应答 157 18.2 服务端 158 18.2.1 接收请求 158 18.2.2 发送应答 159 18.3 分块 160 18.4 错误处理 161 19 常见消息部件(Common Message Components) 161 19.1 SIPSIPS统一资源标记 161 19.1.1 SIPSIPS部件 162 19.1.2 Character Escaping Requirements(字符转码要求) 166 19.1.3 SIPSIPS URI例子 168 19.1.4 URI比较 168 19.1.5 从URI中产生请求 171 19.1.6 关联SIP URI和tel URL 173 19.2 Option Tags 175 19.3 Tags 175 20 头域 176 20.1 Accept 178 20.2 Accept-Encoding 181 20.3 Accept-Language 182 20.4 Alert-Info 182 20.5 Allow 183 20.6 Authentication-Info 183 20.7 Authorization 183 20.8 Call-ID 184 20.9 Call-Info 184 20.10 Contact 185 20.11 Content-Disposition 186 20.12 Content-Encoding 187 20.13 Content-Language 188 20.14 Content-Length 188 20.15 Content-Type 189 20.16 Cseq 189 20.17 Date 190 20.18 Error-Info 190 20.19 Expires 191 20.20 From 191 20.21 In-Reply-To 192 20.22 Max-Forwards 193 20.23 Min-Expires 193 20.24 MIME-Version 193 20.25 Organization 194 20.26 Priority 194 20.27 Proxy-Authenticate 195 20.28 Proxy-Authorization 195 20.29 Proxy-Require 196 20.30 Record-Route 196 20.31 Reply-To 196 20.32 Require 197 20.33 Retry-After 197 20.34 Route 198 20.35 Server 198 20.36 Subject 198 20.37 Supported 199 20.38 Timestamp 199 20.39 To 199 20.40 Unsupported 200 20.41 User-Agent 200 20.42 Via 200 20.43 警告 202 20.44 WWW-Authenticate 204 21 应答代码 205 21.1 临时应答1xx 205 21.1.1 100 Trying 205 21.1.2 180 Ringing 205 21.1.3 818 Call is Being Forwarded(呼叫被转发) 205 21.1.4 182 Queued 206 21.1.5 183 会话进度 206 21.2 成功信息2xx 206 21.2.1 200 OK 206 21.3 转发请求3XX 206 21.3.1 300 Multiple Choices 206 21.3.2 301 Moved Permanently 207 21.3.3 302 Moved Temporarily 207 21.3.4 305 Use Proxy 208 21.3.5 380 Alternative Service 208 21.4 请求失败4xx 208 21.4.1 400 Bad Request 208 21.4.2 401 Unauthorized 208 21.4.3 402 Payment Required 209 21.4.4 403 Forbidden 209 21.4.5 404 Not Found 209 21.4.6 405 Method Not Allowed 209 21.4.7 406 Not Acceptable 209 21.4.8 407 Proxy Authentication Required 209 21.4.9 408 Request Timeout 210 21.4.10 410 Gone 210 21.4.11 413请求实体过大。 210 21.4.12 414 Request-URI Too Long 210 21.4.13 415 Unsupported Media Type 211 21.4.14 416 Unsupported URI Scheme 211 21.4.15 Bad Extension 211 21.4.16 421Extension Required 211 21.4.17 423 Interval Too Brief 211 21.4.18 480 Temporarily Unavailable 212 21.4.19 481 Call/Transaction Does Not Exist 212 21.4.20 482 Loop Detected 212 21.4.21 483 Too Many Hops 212 21.4.22 484 Address InComplete 213 21.4.23 485 Ambiguous 213 21.4.24 486 Busy Here 213 21.4.25 487 Request Terminated 214 21.4.26 488 Not Acceptable Here 214 21.4.27 491 Request Pending 214 21.4.28 493 Undecipherable 214 21.5 Server Failure 5xx 214 21.5.1 500 Server Internal Error 215 21.5.2 501 Not Implemented 215 21.5.3 502 Bad Gateway 215 21.5.4 503 Service Unavailable 215 21.5.5 504 Server Time-out 216 21.5.6 505 Version Not Supported 216 21.5.7 Message To Large 216 21.6 Global Failures 6xx 216 21.6.1 600 Busy Everywhere 216 21.6.2 603 Decline 217 21.6.3 604 Does Not Exists Anywhere 217 21.6.4 606 Not Acceptable 217 22 使用HTTP认证 218 22.1 框架 218 22.2 用户到用户的认证。 221 22.3 Proxy到用户的认证 222 22.4 Digest 认证方案 225 23 S/MIME 227 23.1 S/MIME 认证 227 23.2 S/MIME 密钥交换 228 23.3 加密MIME 包体 231 23.4 SIP头隐私和用S/MIME的完整性:SIP地道 233 23.4.1 SIP头的完整性和机密属性 234 23.4.1.1 完整性 234 23.4.1.2 机密性 234 23.4.2 隧道的完整性和身份认证 236 23.4.3 隧道加密 239 24 例子 242 24.1 注册 242 24.2 建立会话 244 25 SIP协议的BNF范式 251 25.1 基本规则 252 26 安全考虑:威胁模式和安全应用建议。 273 26.1 攻击和威胁模式 274 26.1.1 注册服务 Hijacking。 274 26.1.2 模仿一个服务器 275 26.1.3 修改消息包体 276 26.1.4 破坏会话 277 26.2 安全机制 278 26.2.1 通讯和网络层的安全 279 26.2.2 SIPS URI方案 281 26.2.3 HTTP Authentication 282 26.2.4 S/MIME 282 26.3 安全机制的实现 283 26.3.1 对SIP实现者的要求 283 26.3.2 安全解决方案 284 26.3.2.1 注册 284 26.3.2.2 在域之间的请求 286 26.3.2.3 点对点请求 288 26.3.2.4 DoS 防护 289 26.4 限制 290 26.4.1 HTTP Digest 290 26.4.2 S/MIME 291 26.4.3 TLS 292 26.4.4 SIPS URI 293 26.5 Privacy(隐私) 295 27 IANA 认证 295 27.1 Option Tags 296 27.2 Warn-Codes 296 27.3 头域名 297 27.4 方法和应答码 297 27.6 新Content-Disposition 参数注册 299 28 同RFC 2543的改变 299 28.1 主要的功能改变 300 28.2 小功能性的变更 304 29 标准索引 304 30 信息索引: 307 定时器值的表格: 308 感谢书 310 版权声明 313
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值