1、SIP协议介绍
2、SIP协议功能概况
3、术语
4、实施概览
5、协议的结构
6、协议的定义
7、SIP消息:
7.1 请求
7.2应答
7.3 头域
7.3.1 头域格式。
7.3.2 头域分类。
7.3.3 缩写格式
7.4包体
7.4.1 消息正文类型(MessageBodyType)
7.4.2 消息体长度
7.5 分帧的SIP消息(Framing SIP Messages)
8 一般用户代理行为
8.1 UAC特性
8.1.1 产生一个请求
8.1.1.1 Request-URI
8.1.1.2 TO
8.1.1.3 From
8.1.1.4 Call-ID
8.1.1.5 Cseq
8.1.1.6 Max-Forwards
8.1.1.7 Via
8.1.1.8 Contact
8.1.1.9 Supported 和 Require
8.1.1.10 附加信息部分
8.1.2 发送一个请求
8.1.3 处理应答
8.1.3.1: transaction 层的错误
8.1.3.2 未知的应答
8.1.3.3 Vias
8.1.3.4 处理3xx应答
8.1.3.5 处理4xx应答
8.2 UAS特性
8.2.1 方法判定
8.2.2 包头判断
8.2.2.1 TO 和Request-URI
8.2.2.2 合并的请求
8.2.2.3 Require
8.2.3 内容处理
8.2.4 应用扩展
8.2.5 处理请求
8.2.6 产生应答
8.2.6.1 发送一个临时应答
8.2.6.2 包头和Tags
8.2.7 无状态UAS行为
8.3 重定向服务器
9 取消一个请求(Cancel)
9.1 客户行为(Client Behavior)
9.2 服务端行为(Server Behavior)
10 注册(Registrations)
10.1 概览
10.2 构造一个REGISTER请求
10.2.1 增加绑定
10.2.1.1 设置Contact地址的过期参数
10.2.1.2 Contact Adress的参数选择
10.2.2 删除绑定
10.2.3 访问绑定
10.2.4 刷新绑定
10.2.5 设置内部时钟
10.2.6 寻找注册服务器
10.2.7 传送一个请求
10.2.8 错误响应
10.3 处理REGISTER请求
11 查询能力
11.1 构造OPTIONS请求
11.2 处理OPTIONS请求
12 对话(Dialog)
12.1 创建一个对话
12.1.1 UAS行为
12.1.2 UAC行为
12.2 对话中的请求
12.2.1 UAC行为
12.1.1.1 产生请求
12.2.1.2 处理应答
12.2.2 UAS行为
12.3 终止对话
13 初始化一个会话
13.1 概览
13.2 UAC处理
13.2.1 创建一个初始化的INVITE
13.2.2 处理INVITE应答
13.2.2.1 1xx应答
13.2.2.2 3xx应答
13.2.2.3 4xx,5xx,6xx应答
13.2.2.4 2xx 应答
13.3 UAS处理
13.3.1 处理INVITE
13.3.1.1 提示进度
13.3.1.2 INVITE请求转发
13.3.1.3 INVITE请求的拒绝
13.3.1.4 接受INVITE请求
14 更改已经存在的会话
14.1 UAC行为
14.2 UAS行为
15 结束一个会话
15.1 使用BYE请求终止一个会话
15.1.1 UAC行为
15.1.2 UAS行为
16 proxy行为
16.1 概述
16.2 有状态的proxy
16.3 验证请求
16.4 路由信息预处理
16.5 确定请求的目的
16.6 请求转发
16.7 应答的处理
16.8 处理定时器C
16.9 处理通讯层的错误
16.10 CANCEL处理
16.11 无状态的proxy
16.12 Proxy Route处理的总结
16.12.1例子
16.12.1.1 基本SIP四边形
16.12.1.2 穿越一个严格路由proxy
16.12.1.3 重写Record-Route头域值。
17事务
17.1 客户端事务
17.1.1 INVITE客户事务
17.1.1.1 INVITE事务概述
17.1.1.2 正式的描述
17.1.1.3 构造ACK请求
17.1.2 非INVITE客户端事务
17.1.2.1 非INVITE事务概览
17.1.2.2 正式的描述
17.1.3 客户端事务匹配应答
17.1.4 处理通讯错误。
17.2 服务端事务
17.2.1 INVITE服务端事务
17.2.2 非INVITE服务端事务
17.2.3 为服务端事务匹配请求。
17.2.4 处理通讯错误
18 通讯(transport)
18.1 客户Clients
18.1.1 发送请求
18.1.2 接收应答
18.2 服务端
18.2.1 接收请求
18.2.2 发送应答
18.3 分块
18.4 错误处理
19 常见消息部件(Common Message Components)
19.1 SIP和SIPS统一资源标记
19.1.1 SIP和SIPS部件
19.1.2 Character Escaping Requirements(字符转码要求)
19.1.3 SIP和SIPS URI例子
19.1.4 URI比较
19.1.5 从URI中产生请求
19.1.6 关联SIP URI和tel URL
19.2 Option Tags
19.3 Tags
20 头域
20.1 Accept
20.2 Accept-Encoding
20.3 Accept-Language
20.4 Alert-Info
20.5 Allow
20.6 Authentication-Info
20.7 Authorization
20.8 Call-ID
20.9 Call-Info
20.10 Contact
20.11 Content-Disposition
20.12 Content-Encoding
20.13 Content-Language
20.14 Content-Length
20.15 Content-Type
20.16 Cseq
20.17 Date
20.18 Error-Info
20.19 Expires
20.20 From
20.21 In-Reply-To
20.22 Max-Forwards
20.23 Min-Expires
20.24 MIME-Version
20.25 Organization
20.26 Priority
20.27 Proxy-Authenticate
20.28 Proxy-Authorization
20.29 Proxy-Require
20.30 Record-Route
20.31 Reply-To
20.32 Require
20.33 Retry-After
20.34 Route
20.35 Server
20.36 Subject
20.37 Supported
20.38 Timestamp
20.39 To
20.40 Unsupported
20.41 User-Agent
20.42 Via
20.43 警告
20.44 WWW-Authenticate
21 应答代码
21.1 临时应答1xx
21.1.1 100 Trying
21.1.2 180 Ringing
21.1.3 818 Call is Being Forwarded(呼叫被转发)
21.1.4 182 Queued
21.1.5 183 会话进度
21.2 成功信息2xx
21.2.1 200 OK
21.3 转发请求3XX
21.3.1 300 Multiple Choices
21.3.2 301 Moved Permently
21.3.3 302 Moved Temporarily
21.3.4 305 Use Proxy
21.3.5 380 Alternative Service
21.4 请求失败4xx
21.4.1 400 Bad Request
21.4.2 401 Unauthorized
21.4.3 402 Payment Required
21.4.4 403 Forbidden
21.4.5 404 Not Found
21.4.6 405 Method Not Allowed
21.4.7 Not Acceptable
21.4.8 407 Proxy Authentication Required
21.4.9 408 Request Timeout
21.4.10 410 Gone
21.4.11 413请求实体过大。
21.4.12 414 Request-URI Too Long
21.4.13 415 Unsupported Media Type
21.4.14 416 Unsupported URI Scheme
21.4.15 Bad Extension
21.4.16 421Extension Required
21.4.17 423 Interval Too Brief
21.4.18 480 Temporarily Unavailable
21.4.19 481 Call/Transaction Does Not Exist
21.4.20 482 Loop Detected
21.4.21 483 Too Many Hops
21.4.22 484 Address InComplete
21.4.23 485 Ambiguous
21.4.24 486 Busy Here
21.4.25 487 Request Terminated
21.4.26 488 Not Acceptable Here
21.4.27 491 Request Pending
21.4.28 493 Undecipherable
21.5 Server Failure 5xx
21.5.1 500 Server Internal Error
21.5.2 501 Not Implemented
21.5.3 502 Bad Gateway
21.5.4 503 Service Unavailable
21.5.5 504 Server Time-out
21.5.6 505 Version Not Supported
21.5.7 Message To Large
21.6 Global Failures 6xx
21.6.1 600 Busy Everywhere
21.6.2 603 Decline
21.6.3 604 Does Not Exists Anywhere
21.6.4 606 Not Acceptable
22 使用HTTP认证
22.1 框架
22.2 用户到用户的认证。
22.3 Proxy到用户的认证
22.4 Digest 认证方案
23 S/MIME
23.1 S/MIME 认证
23.2 S/MIME 密钥交换
23.3 加密MIME 包体
23.4 SIP头隐私和用S/MIME的完整性:SIP地道
23.4.1 SIP头的完整性和机密属性
23.4.1.1 完整性
23.4.1.2 机密性
23.4.2 隧道的完整性和身份认证
23.4.3 隧道加密
24 例子
24.1 注册
24.2 建立会话
25 SIP协议的BNF范式
25.1 基本规则
26 安全考虑:威胁模式和安全应用建议。
26.1 攻击和威胁模式
26.1.1 注册服务 Hijacking。
26.1.2 模仿一个服务器
26.1.3 修改消息包体
26.1.4 破坏会话
26.1.5 拒绝服务和扩展。
26.2 安全机制
26.2.1 通讯和网络层的安全
26.2.2 SIPS URI方案
26.2.3 HTTP Authentication
26.2.4 S/MIME
26.3 安全机制的实现
26.3.1 对SIP实现者的要求
26.3.2 安全解决方案
26.3.2.1 注册
26.3.2.2 在域之间的请求
26.3.2.3 点对点请求
26.3.2.4 DoS 防护
26.4 限制
26.4.1 HTTP Digest
26.4.2 S/MIME
26.4.3 TLS
26.4.4 SIPS URI
26.5 Privacy(隐私)
27 IANA 认证
27.1 Option Tags
27.2 Warn-Codes
27.3 头域名
27.4 方法和应答码
27.5 “message/sip” MIME类型
27.6 新Content-Disposition 参数注册
28 同RFC 2543的改变
28.1 主要的功能改变
28.2 小功能性的变更
29 标准索引
30 信息索引: