前言
IP多媒体子系统(IMS)最早由3GPP在其标准系列R5中提出,是一个基于PS域提供IP多媒体业务的子系统。IMS系统结构分为业务层、IMS核心层和接入层(见图1),其中业务层由各种应用服务器提供最终用户的业务逻辑;IMS核心层完成多媒体业务的呼叫控制和连接控制功能,提供QoS保障和计费管理;接入层包括xDSL、WLAN、UMTS/CDMA、GPRS等不同类型的接入网络,为用户提供IP接入。

IMS系统中有3种用户状态。
a) 注册状态:用户成功注册,并且网络给用户分配了一个S-CSCF。
b) 注销状态:用户没有进行注册,网络没有给用户分配S-CSCF。
c) 未注册状态:在2种情况下,用户处于未注册状态。
(a) 用户签约了未注册状态业务,当用户为注销状态时,作为一个终止呼叫而进行的注册。此时HSS中会将用户从注销状态改变为未注册状态,同时为用户指配一个S-CSCF,该S-CSCF会从HSS下载用户相关信息。
(b) 用户发起注销时,HSS保留用户注册的S-CSCF名,同时S-CSCF上不清除相关用户信息,HSS和S-CSCF只是将用户状态从注册状态改变为未注册状态。
另外,在IMS系统中,未注册状态业务指与用户注销状态或者未注册状态有关的业务,如呼叫转移类业务等。
1 标准IMS会话流程
3GPP TS24.228定义了呼叫不同用户的会话流程(见图2~4)。本文按照不进行拓扑隐藏的场景进行说明,本方案与是否需要进行拓扑隐藏无关。



图5对图2~4定义的被叫用户为不同状态用户时的会话流程进行了总结,当主叫S-CSCF收到初始Invite请求后,处理过程如图5所示。

2 优化的IMS会话流程
本文中的优化方案是在上述3GPP定义的会话流程的基础上进行一定的扩展,使得在局内会话的情况下,可以有效减少不必要的信令交互,降低设备负荷,节省带宽等网络资源。本文中,IMS局内会话指以下3种情况。
a) 主被叫用户都是registered状态,同时注册在同一个S-CSCF上。
b) 主叫用户为Registered状态,被叫用户为unregistered状态,同时签约了unregistered状态的业务,被叫用户数据保留在主叫用户注册的S-CSCF上。
c) 主叫用户为Registered状态,被叫用户为unregistered状态,并且没有签约unregistered状态的业务,被叫用户数据保留在主叫用户注册的S-CSCF上。
对于前2种局内会话的情形,在3GPP定义的会话流程中,主叫侧S-CSCF收到初始Invite请求后,会根据被叫PUI将请求转发给相应的I-CSCF(图2中步骤24,图3中的步骤34),由I-CSCF向HSS发起用户位置查询-LIR/LIA(图2中步骤26/27,图3中步骤36/37),由于主被叫用户信息保存在同一个S-CSCF上,I-CSCF会根据LIR/LIA查询结果,将Invite请求又转回给主叫S-CSCF(图2中步骤28,图3中步骤39)。对于这2种局内会话的情形,经过一系列Invite消息的处理转发,以及LIR/LIA信令处理之后,Invite请求又回到了主叫侧的S-CSCF,因此这些信令处理过程(图2中步骤24-29,图3中的步骤34-310)是不必要的。同样,对于图2中后续的183、180、200 OK消息(对Invite消息的应答)也没有必要经过I-CSCF。
第3种局内会话的情形,尽管被叫用户没有签约未注册状态的业务,S-CSCF可以设置在用户注销时保留用户的相关数据,而将用户状态更新为未注册状态。在3GPP定义的会话流程中,对于该局内会话的情形,主叫侧S-CSCF收到初始Invite请求后,会根据被叫PUI将请求转发给相应的I-CSCF(图4中步骤44),由I-CSCF向HSS发起用户位置查询-LIR/LIA(图4中的步骤46/47),由于被叫PUI为未注册状态,同时没有签约未注册状态的业务,HSS会在LIA响应中将Experimental-Result-Code设置为DIAMETER_ERROR_IDENTITY_NOT_RE-GISTERED,之后I-CSCF根据LIA响应,向主叫侧S-CSCF返回失败消息,如404消息(图4中步骤48),主叫S-CSCF将该消息转发给主叫侧P-CSCF。而实际上,对于这种局内会话的情形,当主叫侧S-CSCF收到Invite请求后,可以经过查询自身保存的被叫用户数据,得知被叫用户为未注册状态,同时没有签约未注册状态的业务,这样S-CSCF可以直接向P-CSCF返回失败消息,如404消息,而无需再根据被叫PUI来选择I-CSCF,经过I-CSCF向HSS发起LIR/LIA查询后,由I-CSCF返回失败指示消息,即对于第三种局内会话的情形,图4中的步骤44~49是不必要的。
本方案主要是对S-CSCF的会话处理过程进行扩展,以减少局内会话时上述不必要的信令处理,如图6所示。

优化的会话处理流程,优势主要体现在前面讲的3种局内会话的情况。当主叫侧S-CSCF收到初始Invite请求后,主叫侧S-CSCF通过查询自身数据获知其保存了被叫用户信息,进而直接进行相应的处理,如调用合适的业务逻辑,或向P-CSCF返回“not reachable indication”消息等,而减少了不必要的信令交互和处理。
3 相关设备要求
优化后的会话流程,只对S-CSCF会话处理过程进行了一定的扩展,对其他IMS网络设备没有要求,不影响与不支持这种优化会话流程设备间的互通。
S-CSCF扩展要求为:
a) 目的地址分析。S-CSCF收到Invite请求后,首先分析目的地址,判断目的地址是否在该S-CSCF允许注册的域内。
b) 用户数据查询。当S-CSCF判断目的地址在自己允许注册的域内,S-CSCF进一步查询自身是否保存了该目的地址的相关信息(被叫用户为registered或unregistered状态),并根据上述的优化流程进行相应的处理。
c) Invite消息的构建。对于第2种局内会话的情况,当S-CSCF调用被叫用户签约的业务逻辑来建立会话时,在Invite消息中Via头域和Record-Route头域分别添加2条S-CSCF地址;当S-CSCF收到响应消息后,根据响应消息中Via头域中2条S-CSCF地址分别进行被叫侧和主叫侧会话处理。
4 优化流程的优劣性比较
4.1 优势
在IMS发展初期,用户数及业务量比较小,同时IMS设备容量很大,IMS核心设备(如P-CSCF、I-CSCF、S-CSCF、HSS等)只需部署一套或少量几套即可满足需求。在这种情况下,当被叫用户为registered或unregistered状态时,大部分IMS用户到IMS用户的会话将会是局内会话。
在大规模部署IMS阶段,这种优化的会话流程的优势不如初期部署时明显,但由于IMS系统设备容量相比现网MSC有非常大的提高,在网络大规模部署IMS时,也会有一定的业务量是局内会话。
本文中的方案主要是对局内会话的流程进行优化,其优势主要有以下2点。
a) 减少S-CSCF与I-CSCF,I-CSCF与HSS之间不必要的信令交互,降低I-CSCF及HSS处理负荷,节省带宽等网络资源。
b) 通过减少信令交互,可以降低会话处理时延,提升业务质量。
4.2 劣势
对于非局内会话的场景,由于增加了S-CSCF对目的号码进一步分析的过程,可能会加大会话处理时延。但IMS设备作为高性能的IP设备,这种地址分析及数据查询也是基本的功能之一,因此对于非局内会话的情况,不会对时延及业务质量造成明显的影响。
参 考 文 献
1 3GPP TS23.228 v
2 3GPP TS24.228 v
3 3GPP TS24.229 v
4 3GPP TS29.228 v
5 3GPP TS29.229 v
作者:杨艳松 符刚
TAG: IMS 流程 会话
