转载地址:http://blog.csdn.net/lixin62001/archive/2009/05/25/4214678.aspx
SIP 扩展与相关 RFC 介绍
Version 1.0
2008-9-15
SIP 扩展综述
SIP 扩展可分成几个类型:
1)SIP 能力的某些欠缺;
2)业务能力增强,如 IM 、 REFER;
3)安全性、 Qos 能力增强;
SIP 适用于传统电信网络应用模型的能力,包括 IMS 专用扩展;
1. 事件通知 - RFC3265
增加了消息 SUBSCRIBE 、 NOTIFY , SIP 头 Allow-Events 、 Subscription State,响应 202Accept、489 等;该机制独立于 dialog;
SUBSCRIBE 发起订阅,订阅拥有状态(激活、等待、终止);收到 2xx 响应或 NOTIFY 消息时创建一个对话(与 INVITE 类似的对话?),后续 SUBSCRIBE 与 NOTIFY 在对话中传递;对话有一个expire时间,超时前需要重新订阅; SUBSCRIBE 的超时及取消机制与 REGISTER 类似;
事件包,一种扩展机制;事件模板包,一种特殊的事件包;事件包定义自己的 MIME 类型;在 NOTIFY 的 payload 中携带状态信息;
2. 状态发布 - RFC3903
PUBLISH 方法,用于 client 主动向状态代理发布状态,使用 payload 携带;
Event head ;
3. IM - RFC3428、RFC3862
两种消息交互方式:页面模式与 session 模式;
页面模式:每个消息是独立的,与它之前或之后的 IM 在 protocol 层无关; RFC3428 定义的 MESSAGE 消息用于其实现,消息内容置于 payload 中, MIME 正文填写 text/plain; RFC3862 定义了与 SIP 客户间的互操作, MIME 使用 message/cpim;
Session 模式:使用 SIP 建立 session ,之后使用 MSRP 来携带消息内容;
4. PRACK - RFC3262
与传统电信网络中呼叫建立前信令对应的 SIP 临时消息,如180,在某些场景下不可缺少,故增加了临时消息可靠传输能力 —— 对 SIP 基本状态机会产生什么影响?
仅适用于 INVITE 的临时响应;
本扩展的标识 100rel;
RSeq 头,类似 CSeq ; PRACK 的 RACK 头,依次包括 RSeq 与 CSeq 头的值;
不能对 100 Trying 使用可靠传输机制,因为 100 只是用于终止 INVITE 等的重传;
UPDATE - RFC3311
用于不影响当前 dialog 情况下更新会话描述,仅用于由 INVITE 产生的 dialog ,可在 dialog 的早期阶段和确定阶段发送,但不能在 dialog 建立前发送 —— 如创建 dialog 的临时响应发送、应答前;
早期阶段( early INVITE-initiated ): client 获得 1xx (非 100 )应答后, dialog 可能在早期阶段后直接终结;
确定阶段:得到 2XX 应答后;
UPDATE 仅用于 dialog ;
UPDATE 携带 SDP offer ,其 2xx 应答携带 answer ;
5. Precondition - RFC3312
用于 session 建立前的资源预留,对应 SIP 扩展标签 precondition ;
Caller 在初始 SDP 中指明本次会话的约束, called 对其响应( IMS 中好像使用 183 ),但既不建立会话也不提交给用户;在主被叫已知前提已经获得满足时主叫方再发送一个新的 SDP offer ,被叫方发送 answer 后 session 才建立;这在 IMS 中使用 UPDATE;
SDP 中的约束信息如: a=des:qos sptimal e2e send
6. REFER - RFC3515
发送者指引接收者去访问 REFER 请求中所标识的资源; Refer-To 、 Referred-By 头域, 202 Accepted 响应;
REFER 与 NOTIFY 综合使用,实现呼叫转移功能; NOTIFY 被用于 Transferee 通知 Transferor 第二个呼叫的状态;从 NOTIFY 看出, REFER 创建了一个订阅,该订阅不带 expire 参数, expire 值由接收方决定;发起方可以发送 SUBSCRIBE 来延长该时间;由事件通知框架的要求,接收到 REFER 后需要立即产生和发送 NOTIFY ;
呼转的类型:
Unattended transfer ,即盲转 blind transfer , Transferor 与 Transferee 之间存在一个呼叫,但与 Transfer Target 之间不存在呼叫;
可能的过程: Transferor 向 Transferee 发送 REFER , Transferee 回送 202 Accepted ; Transferee 向 Transferor 发 NOTIFY(100 Trying) ,并向 Transfer Target 发起 INVITE ,在收到 200 OK 时使用 NOTIFY(100 OK) 通知 Transferor ,然后 Transferor 或 Transferee 任一方 BYE 挂断 primary call ;
Attended transfer ,即 supervised transfer , Transferor 与 Transferee 及 Transfer Target 间都存在呼叫;
成功的呼转并不改变 Transferor 与 Transferee 间的媒体流,并不影响原有的 session ;任一方都可以在 REFER 后通过发送 BYE 消息来结束原有的 session ;
7. Path head – RFC3327
Path 扩展可用于记录 REGISTER 从 UA 到 registrar 所经过的路径,即经过的 proxy ; IMS 中用于归属网络向 UA 发请求; Path 语法与 record-route 头类似;扩展标识 “path” ;
如果 UA 支持 path 扩展,如果 proxy 希望发往 UA 的任何后续请求都通过自己或某个 URI ,则它在 UA 的 REGISTER 中加入一个 path 头记录该 URI ; registrar 记录 path 及 AOR 及 contact ,在后续发往 UA 的请求中, path 记录的 URI 被放到 route 头中,以使消息发送经过所指定的 URI ;
8. Private - RFC3325
用于可信网络中判断终端用户、系统的身份;及提供终端用户指示其隐私要求的机制;
信令压缩 - RFC3486
RFC3320 ,信令压缩规范,将文本信令压缩成二进制流;
URI 参数 comp=SigComp
使用 request URI 与 via 、 route 头,指示节点的压缩支持;
9. INFO - RFC2976
提供一种在 sip session 执行建立操作开始后,独立于 sip 信令路径发送 session 相关 “ 控制 ”信息的机制 —— 文献 [2] ; INFO 的发送时机与 UPDATE 一样;
10. SIP-T – RFC3372
在 SIP 消息体中包装 ISUP 消息;使用 INFO (RFC 2976) 消息传输呼叫中的信令;
11. SIP 消息分段 – RFC3420
MIME 类型 message/sipfrag ;
12. SIP-Sec-Agree – RFC3329
安全协商,允许 UA 与其第一跳服务器之间就后续通信中所使用的安全机制进行协商;
13. Media authorization – RFC3313
P-Media-Authorization
14. 服务路由发现 - RFC3608
UA 可以在发出的请求中包含一系列 Route 头,来使请求经过特定的 proxy ,从而获得相应服务;
Service-Route 头,用于 UA 学习服务路由; registrar 在响应 REGISTER 的 200 OK 中使用 Service-Route 头,从而提供给 UA ;
15. IMS 扩展头 – RFC3455
专用于 3GPP IMS ;
P-Charging-Vector , IMS 计费 ID ( ICID )和相关接入网计费信息;
P-Charging-Function-Address ,归属网络中计费功能的地址;
P-Visited-Network-ID ,注册时传递拜访网络的标识;
P-Access-Network-Info ,拜访网络向归属网络传递信息;
P-Called-Party-ID ,
P-Associated- URI ,与用户相关联的其他 URI ;
其他 SIP 相关 RFC 介绍
16. RFC3665
Session Initiation Protocol (SIP) Basic Call Flow Examples
17. 3 PCC - RFC3725
3rd party call control in sip
SDP – RFC2327 RFC3264 RFC4566
新的 SDP 标准是 RFC4566(2006.7) ,替换了 RFC2327 与 RFC3266 ;
18. RFC3960
Early Media and Ringing Tone Generation in the Session Initiation
服务器定位 –RFC3263
Session Initiation Protocol (SIP): Locating SIP Servers
19. RFC2806
URLS for telephone calls
20. RFC3108
Conventions for the use of the Session Description Protocol ( SDP ) for ATM Bearer Connections
21. RFC3204
MIME media types for ISUP and QSIG Objects
22. RFC3323
A Privacy Mechanism for SIP
23. RFC3326
The Reason Header Field
相关规范列表
RFC 3261: SIP Session initiation protocol.
RFC 3263: Session Initiation Protocol (SIP): Locating SIP Servers.
RFC 2327: SDP Session Description Protocol.
RFC 3420: Internet Media Type message/ipfrag.
RFC 2976: The SIP INFO Method
RFC 2806: URLS for telephone calls
RFC 3108: Conventions for the use of the Session Description Protocol ( SDP ) for ATM Bearer Connections
RFC 3204: MIME media types for ISUP and QSIG Objects
RFC 3262: Reliability of Provisional Responses in SIP
RFC 3264: An Offer/Answer Model with the Session Description Protocol ( SDP )
RFC 3265: SIP-Specific Event Notification
RFC 3310: HTTP Digest Authentication Using AKA
RFC 3311: The SIP UPDATE method
RFC 3313: Media Authorization
RFC 3323: A Privacy Mechanism for SIP
RFC 3325: Asserted Identity within Trusted Networks
RFC 3326: The Reason Header Field
RFC 3327: Extension Header Field for Registering Non-Adjacent Contacts (Path)
RFC 3372 : SIP for Telephones (SIP-T): Context and Architectures
RFC 3428: The SIP MESSAGE method
RFC 3455: Private Header Extensions to SIP for 3GPP
RFC 3515: The SIP REFER method
RFC 3581: An Extension to SIP for Symmetric Response Routing.
RFC 3608: SIP Extension Header Field for Service Route Discovery During Registration
RFC 3842: A Message Summary and Message Waiting Indication Event Package for SIP
RFC 3856: SIP Extensions for Presence
RFC 3891: The SIP "Replaces" Header
RFC 3892: The SIP Referred-By Mechanism
RFC 3959: early session disposition type for SDP
RFC 4028: Session Timers in SIP
ITU-T T.38 Annex D (04/2004) and RFC 3362 for support of T.38 in SIP
IETF draft-levy-sip-diversion-08.
draft-ietf-sipping-kpml-07.
参考文献
[1] Miikka Poikselka 等, The IMS IP Multimedia Concepts and Services ,机械工业, 2007.7;
[2] Dialogic , Dialogic Global Call IP , 2008.3 ;
本文来自CSDN博客,转载请标明出处:
http://blog.csdn.net/lixin62001/archive/2009/05/25/4214678.aspx
posted on 2010-05-06 19:01
阿蜜果 阅读(2263)
评论(0) 编辑 收藏 所属分类:
协议