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消息(FramingSIPMessages)
8一般用户代理行为
8.1UAC特性
8.1.1产生一个请求
8.1.1.1Request-URI
8.1.1.2TO
8.1.1.3From
8.1.1.4Call-ID
8.1.1.5Cseq
8.1.1.6Max-Forwards
8.1.1.7Via
8.1.1.8Contact
8.1.1.9Supported和Require
8.1.1.10附加信息部分
8.1.2发送一个请求
8.1.3处理应答
8.1.3.1:transaction层的错误
8.1.3.2未知的应答
8.1.3.3Vias
8.1.3.4处理3xx应答
8.1.3.5处理4xx应答
8.2UAS特性
8.2.1方法判定
8.2.2包头判断
8.2.2.1TO和Request-URI
8.2.2.2合并的请求
8.2.2.3Require
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客户行为(ClientBehavior)
9.2服务端行为(ServerBehavior)
10注册(Registrations)
10.1概览
10.2构造一个REGISTER请求
10.2.1增加绑定
10.2.1.1设置Contact地址的过期参数
10.2.1.2ContactAdress的参数选择
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.1UAS行为
12.1.2UAC行为
12.2对话中的请求
12.2.1UAC行为
12.1.1.1产生请求
12.2.1.2处理应答
12.2.2UAS行为
12.3终止对话
13初始化一个会话
13.1概览
13.2UAC处理
13.2.1创建一个初始化的INVITE
13.2.2处理INVITE应答
13.2.2.11xx应答
13.2.2.23xx应答
13.2.2.34xx,5xx,6xx应答
13.2.2.42xx应答
13.3UAS处理
13.3.1处理INVITE
13.3.1.1提示进度
13.3.1.2INVITE请求转发
13.3.1.3INVITE请求的拒绝
13.3.1.4接受INVITE请求
14更改已经存在的会话
14.1UAC行为
14.2UAS行为
15结束一个会话
15.1使用BYE请求终止一个会话
15.1.1UAC行为
15.1.2UAS行为
16proxy行为
16.1概述
16.2有状态的proxy
16.3验证请求
16.4路由信息预处理
16.5确定请求的目的
16.6请求转发
16.7应答的处理
16.8处理定时器C
16.9处理通讯层的错误
16.10CANCEL处理
16.11无状态的proxy
16.12ProxyRoute处理的总结
16.12.1例子
16.12.1.1基本SIP四边形
16.12.1.2穿越一个严格路由proxy
16.12.1.3重写Record-Route头域值。
17事务
17.1客户端事务
17.1.1INVITE客户事务
17.1.1.1INVITE事务概述
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.1INVITE服务端事务
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常见消息部件(CommonMessageComponents)
19.1SIP和SIPS统一资源标记
19.1.1SIP和SIPS部件
19.1.2CharacterEscapingRequirements(字符转码要求)
19.1.3SIP和SIPSURI例子
19.1.4URI比较
19.1.5从URI中产生请求
19.1.6关联SIPURI和telURL
19.2OptionTags
19.3Tags
20头域
20.1Accept
20.2Accept-Encoding
20.3Accept-Language
20.4Alert-Info
20.5Allow
20.6Authentication-Info
20.7Authorization
20.8Call-ID
20.9Call-Info
20.10Contact
20.11Content-Disposition
20.12Content-Encoding
20.13Content-Language
20.14Content-Length
20.15Content-Type
20.16Cseq
20.17Date
20.18Error-Info
20.19Expires
20.20From
20.21In-Reply-To
20.22Max-Forwards
20.23Min-Expires
20.24MIME-Version
20.25Organization
20.26Priority
20.27Proxy-Authenticate
20.28Proxy-Authorization
20.29Proxy-Require
20.30Record-Route
20.31Reply-To
20.32Require
20.33Retry-After
20.34Route
20.35Server
20.36Subject
20.37Supported
20.38Timestamp
20.39To
20.40Unsupported
20.41User-Agent
20.42Via
20.43警告
20.44WWW-Authenticate
21应答代码
21.1临时应答1xx
21.1.1100Trying
21.1.2180Ringing
21.1.3818CallisBeingForwarded(呼叫被转发)
21.1.4182Queued
21.1.5183会话进度
21.2成功信息2xx
21.2.1200OK
21.3转发请求3XX
21.3.1300MultipleChoices
21.3.2301MovedPermently
21.3.3302MovedTemporarily
21.3.4305UseProxy
21.3.5380AlternativeService
21.4请求失败4xx
21.4.1400BadRequest
21.4.2401Unauthorized
21.4.3402PaymentRequired
21.4.4403Forbidden
21.4.5404NotFound
21.4.6405MethodNotAllowed
21.4.7NotAcceptable
21.4.8407ProxyAuthenticationRequired
21.4.9408RequestTimeout
21.4.10410Gone
21.4.11413请求实体过大。
21.4.12414Request-URITooLong
21.4.13415UnsupportedMediaType
21.4.14416UnsupportedURIScheme
21.4.15BadExtension
21.4.16421ExtensionRequired
21.4.17423IntervalTooBrief
21.4.18480TemporarilyUnavailable
21.4.19481Call/TransactionDoesNotExist
21.4.20482LoopDetected
21.4.21483TooManyHops
21.4.22484AddressInComplete
21.4.23485Ambiguous
21.4.24486BusyHere
21.4.25487RequestTerminated
21.4.26488NotAcceptableHere
21.4.27491RequestPending
21.4.28493Undecipherable
21.5ServerFailure5xx
21.5.1500ServerInternalError
21.5.2501NotImplemented
21.5.3502BadGateway
21.5.4503ServiceUnavailable
21.5.5504ServerTime-out
21.5.6505VersionNotSupported
21.5.7MessageToLarge
21.6GlobalFailures6xx
21.6.1600BusyEverywhere
21.6.2603Decline
21.6.3604DoesNotExistsAnywhere
21.6.4606NotAcceptable
22使用HTTP认证
22.1框架
22.2用户到用户的认证。
22.3Proxy到用户的认证
22.4Digest认证方案
23S/MIME
23.1S/MIME认证
23.2S/MIME密钥交换
23.3加密MIME包体
23.4SIP头隐私和用S/MIME的完整性:SIP地道
23.4.1SIP头的完整性和机密属性
23.4.1.1完整性
23.4.1.2机密性
23.4.2隧道的完整性和身份认证
23.4.3隧道加密
24例子
24.1注册
24.2建立会话
25SIP协议的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.2SIPSURI方案
26.2.3HTTPAuthentication
26.2.4S/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.4DoS防护
26.4限制
26.4.1HTTPDigest
26.4.2S/MIME
26.4.3TLS
26.4.4SIPSURI
26.5Privacy(隐私)
27IANA认证
27.1OptionTags
27.2Warn-Codes
27.3头域名
27.4方法和应答码
27.5“message/sip”MIME类型
27.6新Content-Disposition参数注册
28同RFC2543的改变
28.1主要的功能改变
28.2小功能性的变更
29标准索引
30信息索引: