轉載地址:http://blog.csdn.net/lixin62001/archive/2009/05/25/4214678.aspx
SIP 擴展與相關 RFC 介紹
Version 1.0
2008-9-15
SIP 擴展綜述
SIP 擴展可分成幾個類型:
1)SIP 能力的某些欠缺;
2)業(yè)務能力增強,如 IM 、 REFER;
3)安全性、 Qos 能力增強;
SIP 適用于傳統(tǒng)電信網(wǎng)絡應用模型的能力,包括 IMS 專用擴展;
1. 事件通知 - RFC3265
增加了消息 SUBSCRIBE 、 NOTIFY , SIP 頭 Allow-Events 、 Subscription State,響應 202Accept、489 等;該機制獨立于 dialog;
SUBSCRIBE 發(fā)起訂閱,訂閱擁有狀態(tài)(激活、等待、終止);收到 2xx 響應或 NOTIFY 消息時創(chuàng)建一個對話(與 INVITE 類似的對話?),后續(xù) SUBSCRIBE 與 NOTIFY 在對話中傳遞;對話有一個expire時間,超時前需要重新訂閱; SUBSCRIBE 的超時及取消機制與 REGISTER 類似;
事件包,一種擴展機制;事件模板包,一種特殊的事件包;事件包定義自己的 MIME 類型;在 NOTIFY 的 payload 中攜帶狀態(tài)信息;
2. 狀態(tài)發(fā)布 - RFC3903
PUBLISH 方法,用于 client 主動向狀態(tài)代理發(fā)布狀態(tài),使用 payload 攜帶;
Event head ;
3. IM - RFC3428、RFC3862
兩種消息交互方式:頁面模式與 session 模式;
頁面模式:每個消息是獨立的,與它之前或之后的 IM 在 protocol 層無關; RFC3428 定義的 MESSAGE 消息用于其實現(xiàn),消息內容置于 payload 中, MIME 正文填寫 text/plain; RFC3862 定義了與 SIP 客戶間的互操作, MIME 使用 message/cpim;
Session 模式:使用 SIP 建立 session ,之后使用 MSRP 來攜帶消息內容;
4. PRACK - RFC3262
與傳統(tǒng)電信網(wǎng)絡中呼叫建立前信令對應的 SIP 臨時消息,如180,在某些場景下不可缺少,故增加了臨時消息可靠傳輸能力 —— 對 SIP 基本狀態(tài)機會產(chǎn)生什么影響?
僅適用于 INVITE 的臨時響應;
本擴展的標識 100rel;
RSeq 頭,類似 CSeq ; PRACK 的 RACK 頭,依次包括 RSeq 與 CSeq 頭的值;
不能對 100 Trying 使用可靠傳輸機制,因為 100 只是用于終止 INVITE 等的重傳;
UPDATE - RFC3311
用于不影響當前 dialog 情況下更新會話描述,僅用于由 INVITE 產(chǎn)生的 dialog ,可在 dialog 的早期階段和確定階段發(fā)送,但不能在 dialog 建立前發(fā)送 —— 如創(chuàng)建 dialog 的臨時響應發(fā)送、應答前;
早期階段( 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 ),但既不建立會話也不提交給用戶;在主被叫已知前提已經(jīng)獲得滿足時主叫方再發(fā)送一個新的 SDP offer ,被叫方發(fā)送 answer 后 session 才建立;這在 IMS 中使用 UPDATE;
SDP 中的約束信息如: a=des:qos sptimal e2e send
6. REFER - RFC3515
發(fā)送者指引接收者去訪問 REFER 請求中所標識的資源; Refer-To 、 Referred-By 頭域, 202 Accepted 響應;
REFER 與 NOTIFY 綜合使用,實現(xiàn)呼叫轉移功能; NOTIFY 被用于 Transferee 通知 Transferor 第二個呼叫的狀態(tài);從 NOTIFY 看出, REFER 創(chuàng)建了一個訂閱,該訂閱不帶 expire 參數(shù), expire 值由接收方?jīng)Q定;發(fā)起方可以發(fā)送 SUBSCRIBE 來延長該時間;由事件通知框架的要求,接收到 REFER 后需要立即產(chǎn)生和發(fā)送 NOTIFY ;
呼轉的類型:
Unattended transfer ,即盲轉 blind transfer , Transferor 與 Transferee 之間存在一個呼叫,但與 Transfer Target 之間不存在呼叫;
可能的過程: Transferor 向 Transferee 發(fā)送 REFER , Transferee 回送 202 Accepted ; Transferee 向 Transferor 發(fā) NOTIFY(100 Trying) ,并向 Transfer Target 發(fā)起 INVITE ,在收到 200 OK 時使用 NOTIFY(100 OK) 通知 Transferor ,然后 Transferor 或 Transferee 任一方 BYE 掛斷 primary call ;
Attended transfer ,即 supervised transfer , Transferor 與 Transferee 及 Transfer Target 間都存在呼叫;
成功的呼轉并不改變 Transferor 與 Transferee 間的媒體流,并不影響原有的 session ;任一方都可以在 REFER 后通過發(fā)送 BYE 消息來結束原有的 session ;
7. Path head – RFC3327
Path 擴展可用于記錄 REGISTER 從 UA 到 registrar 所經(jīng)過的路徑,即經(jīng)過的 proxy ; IMS 中用于歸屬網(wǎng)絡向 UA 發(fā)請求; Path 語法與 record-route 頭類似;擴展標識 “path” ;
如果 UA 支持 path 擴展,如果 proxy 希望發(fā)往 UA 的任何后續(xù)請求都通過自己或某個 URI ,則它在 UA 的 REGISTER 中加入一個 path 頭記錄該 URI ; registrar 記錄 path 及 AOR 及 contact ,在后續(xù)發(fā)往 UA 的請求中, path 記錄的 URI 被放到 route 頭中,以使消息發(fā)送經(jīng)過所指定的 URI ;
8. Private - RFC3325
用于可信網(wǎng)絡中判斷終端用戶、系統(tǒng)的身份;及提供終端用戶指示其隱私要求的機制;
信令壓縮 - RFC3486
RFC3320 ,信令壓縮規(guī)范,將文本信令壓縮成二進制流;
URI 參數(shù) comp=SigComp
使用 request URI 與 via 、 route 頭,指示節(jié)點的壓縮支持;
9. INFO - RFC2976
提供一種在 sip session 執(zhí)行建立操作開始后,獨立于 sip 信令路徑發(fā)送 session 相關 “ 控制 ”信息的機制 —— 文獻 [2] ; INFO 的發(fā)送時機與 UPDATE 一樣;
10. SIP-T – RFC3372
在 SIP 消息體中包裝 ISUP 消息;使用 INFO (RFC 2976) 消息傳輸呼叫中的信令;
11. SIP 消息分段 – RFC3420
MIME 類型 message/sipfrag ;
12. SIP-Sec-Agree – RFC3329
安全協(xié)商,允許 UA 與其第一跳服務器之間就后續(xù)通信中所使用的安全機制進行協(xié)商;
13. Media authorization – RFC3313
P-Media-Authorization
14. 服務路由發(fā)現(xiàn) - RFC3608
UA 可以在發(fā)出的請求中包含一系列 Route 頭,來使請求經(jīng)過特定的 proxy ,從而獲得相應服務;
Service-Route 頭,用于 UA 學習服務路由; registrar 在響應 REGISTER 的 200 OK 中使用 Service-Route 頭,從而提供給 UA ;
15. IMS 擴展頭 – RFC3455
專用于 3GPP IMS ;
P-Charging-Vector , IMS 計費 ID ( ICID )和相關接入網(wǎng)計費信息;
P-Charging-Function-Address ,歸屬網(wǎng)絡中計費功能的地址;
P-Visited-Network-ID ,注冊時傳遞拜訪網(wǎng)絡的標識;
P-Access-Network-Info ,拜訪網(wǎng)絡向歸屬網(wǎng)絡傳遞信息;
P-Called-Party-ID ,
P-Associated- URI ,與用戶相關聯(lián)的其他 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
相關規(guī)范列表
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 ,機械工業(yè), 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
阿蜜果 閱讀(2291)
評論(0) 編輯 收藏 所屬分類:
協(xié)議