您的位置:首页 > 其它

SIP扩展与相关RFC介绍

2011-09-15 08:38 323 查看

SIP扩展综述

SIP扩展可分成几个类型:

SIP能力的某些欠缺;
业务能力增强,如IM、REFER;
安全性、Qos能力增强;
SIP适用于传统电信网络应用模型的能力,包括IMS专用扩展;

事件通知 - RFC3265

增加了消息SUBSCRIBE、NOTIFY,SIP头Allow-Events、Subscription State,响应202Accept、489等;该机制独立于dialog;
SUBSCRIBE发起订阅,订阅拥有状态(激活、等待、终止);收到2xx响应或NOTIFY消息时创建一个对话(与INVITE类似的对话?),后续SUBSCRIBE与NOTIFY在对话中传递;对话有一个expire时间,超时前需要重新订阅;SUBSCRIBE的超时及取消机制与REGISTER类似;
事件包,一种扩展机制;事件模板包,一种特殊的事件包;事件包定义自己的MIME类型;在NOTIFY的payload中携带状态信息;

状态发布 - RFC3903

PUBLISH方法,用于client主动向状态代理发布状态,使用payload携带;
Event head;

IM - RFC3428、RFC3862

两种消息交互方式:页面模式与session模式;
页面模式:每个消息是独立的,与它之前或之后的IM在protocol层无关;RFC3428定义的MESSAGE消息用于其实现,消息内容置于payload中,MIME正文填写text/plain;RFC3862定义了与SIP客户间的互操作,MIME使用message/cpim;
Session模式:使用SIP建立session,之后使用MSRP来携带消息内容;

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;

Precondition - RFC3312

用于session建立前的资源预留,对应SIP扩展标签precondition;
Caller在初始SDP中指明本次会话的约束,called对其响应(IMS中好像使用183),但既不建立会话也不提交给用户;在主被叫已知前提已经获得满足时主叫方再发送一个新的SDP offer,被叫方发送answer后session才建立;这在IMS中使用UPDATE;
SDP中的约束信息如:a=des:qos sptimal e2e send

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;

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;

Private - RFC3325

用于可信网络中判断终端用户、系统的身份;及提供终端用户指示其隐私要求的机制;

信令压缩 - RFC3486

RFC3320,信令压缩规范,将文本信令压缩成二进制流;
URI参数 comp=SigComp
使用request URI与via、route头,指示节点的压缩支持;

INFO - RFC2976

提供一种在sip session执行建立操作开始后,独立于sip信令路径发送session相关“控制”信息的机制——文献[2];INFO的发送时机与UPDATE一样;

SIP-T – RFC3372

在SIP消息体中包装ISUP消息;使用INFO(RFC 2976)消息传输呼叫中的信令;

SIP消息分段 – RFC3420

MIME类型message/sipfrag;

SIP-Sec-Agree – RFC3329

安全协商,允许UA与其第一跳服务器之间就后续通信中所使用的安全机制进行协商;

Media authorization – RFC3313

P-Media-Authorization

服务路由发现 - RFC3608

UA可以在发出的请求中包含一系列Route头,来使请求经过特定的proxy,从而获得相应服务;
Service-Route头,用于UA学习服务路由;registrar在响应REGISTER的200 OK中使用Service-Route头,从而提供给UA;

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介绍

RFC3665

Session Initiation Protocol (SIP) Basic Call Flow Examples

3PCC - RFC3725

3rd party call control in sip

SDP – RFC2327 RFC3264 RFC4566

新的SDP标准是RFC4566(2006.7),替换了RFC2327与RFC3266;

RFC3960

Early Media and Ringing Tone Generation in the Session Initiation

服务器定位 –RFC3263

Session Initiation Protocol (SIP): Locating SIP Servers

RFC2806

URLS for telephone calls

RFC3108

Conventions for the use of the Session Description Protocol (SDP) for ATM Bearer Connections

RFC3204

MIME media types for ISUP and QSIG Objects

RFC3323

A Privacy Mechanism for SIP

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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: