IMS中的业务交互管理
赵耀 彭晋 魏冰 2008/07/02
1、引言图1 集中控制
集中控制方式由一个ServiceBroker来协调控制所有业务之间的交互,S-CSCF把ServiceBroker视为AS,通过ISC接口与惟一的ServiceBroker联系,Service Broker与AS之间的接口仍然是ISC接口,这种方式容易实现,但是Service Broker容易成为网络中的瓶颈。
图2 分布式控制
分布式控制方式为每一个AS都配置一个ServiceBroker,S-CSCF把每个ServiceBroker都视作AS,通过ISC接口与其交互。S-CSCF将请求触发给ServiceBroker,AS执行完后,Service
Broker可以向S-CSCF发送sFC(subsequent filter criteria)以指示S-CSCF该如何触发接下来的业务,这样Service
Broker可以根据冲突关系,动态地将后续业务排除出业务链,这种方式可以解决集中式方式的瓶颈问题,但是实现较为复杂,控制流程也较难设计。
混合式控制结合了上述两种方式,即有的ServiceBroker管理多个AS之间的业务交互,而有的ServiceBroker只和一个AS交互。在这种模式下,ServiceBroker不但要管理由它控制的AS之间的业务交互,还要管理属于不同Service
Broker的AS之间的业务交互。图3(a)、(b)是两种可能的实现方式。
图3 混合控制
3.3 交互流程改进
影响SCIM实际应用的重要原因之一是SCIM的处理流程并不规范和统一,这不仅使SCIM对于业务交互的处理范围、处理方式都“无章可循”,而且SCIM与网络中其他实体之间也难以互通。TR23.810中对部分实际遇到的交互问题提出了改进意见,这其中一部分改进可以由SCIM来完成,另一部分可以脱离SCIM,直接改进现网中的设备。
3.3.1 请求URI被修改的情况
SIP请求中的请求URI实际承担着两种角色:一是代表被服务的对象,被叫侧S-CSCF根据请求URI中所指示的共有用户标识进行iFC触发;二是代表着会话的目的地址,S-CSCF根据请求URI所指示的共有用户标识来进行路由,然而在业务触发阶段,某个AS可能改变了请求消息中的请求URI,结果S-CSCF将消息发往新的目的地,这导致后续本该被触发的AS无法被正常触发。因此,TR23.810建议将请求URI所承担的这两种角色分离,S-CSCF根据当前服务URI进行业务触发,针对目的地URI进行呼叫路由。
3.3.2 对冲突业务划分等价类
在一次会话中触发的业务之间可能存在着冲突,通过在iFC中引入指示业务之间冲突关系的信息,可以避免互相冲突的业务被引入到同一个会话中。实现方法是将所有的iFC按照所触发的业务间的相容关系划分为若干个等价类,每条iFC中有专门的字段指示该iFC所属的等价类,等价类之间可能存在冲突。S-CSCF在判断是否触发某条iFC之前,需要断定是否有与该iFC所处等价类相冲突的某条iFC已经被执行,若已执行,则S-CSCF不能触发目前的iFC。
此外,S-CSCF必须能够判断一个业务的触发以及执行情况,以便确定冲突的业务是否已经执行。如果一个业务的iFC没有被匹配,或者iFC匹配了,但是AS返回一个错误响应或者没有返回响应,在这种情况下,S-CSCF视该业务执行失败。另外,即使S-CSCF触发了某个AS,并且AS也将请求消息返回给S-CSCF,也不能表明AS执行了该业务。因为AS是否执行还可能取决于与具体业务相关的用户数据配置情况。为了判断AS是否成功执行了业务,可以让S-CSCF在触发时添加一个标签,如果AS成功执行,则在返回的请求消息中继续保存该标签,如果AS没有执行,则在返回的请求消息中删除该标签,S-CSCF据此判定AS是否成功执行了业务,并判定下一个不相容的业务是否可以被触发。
3.3.3 AS返回错误响应情况下的改进
当某个AS返回一个错误响应的时候,S-CSCF会立刻将响应送回主叫方,而不会继续匹配剩下的iFC,后续原本可以执行的AS将由于之前AS的错误而失去了执行机会。然而在许多情况下,S-CSCF可以在前面的AS返回错误响应时,继续触发后续AS。为此,可以在iFC中设置某个选项,以决定在先前AS返回错误响应时是否还要继续触发,若要继续触发,则S-CSCF将根据原始的请求消息对下一条iFC进行匹配。
3.3.4 扩充SPT
目前的SPT定义了5个触发点类型,然而某些业务的触发需要考察终端的能力,例如CSI业务,为了解决这种情况下的问题,扩充了一个新的触发点类型:终端能力。用户在注册过程中将终端能力通知S-CSCF,如果业务需要,S-CSCF可以检查终端能力是否匹配。
3.3.5 携带触发的业务信息
在一般情况下,一个AS中可以部署多个业务。iFC中只标明了应该触发的AS的地址,而没有指出具体业务名称。这样,当请求到达AS的时候,AS并不知道究竟该触发哪一个业务。为此,将iFC中AS地址改为“业务名称@AS”的形式,并将它放置于S-CSCF传给AS消息的Route头域中,AS根据业务名称来触发相应业务。
另外,如果用户订阅了一个AS中的多个业务,并且这些业务的iFC优先级是相邻的,而S-CSCF针对每一个业务分别触发一次,这样消息将在S-CSCF与同一个AS之间来回多次,势必造成不必要的延迟。因此可以考虑将原来各个业务的iFC归并为一条,一次性触发AS将多个业务执行完毕后返回给S-CSCF。为此,需要iFC添加一个项,指示AS中哪些业务应该被一次性执行以及执行顺序。
4、结束语
业务交互问题是影响IMS实际部署和运营的一个重要问题。合理有效地解决业务交互问题,不仅可以快速、经济地提供新业务,还可以减少业务之间的冲突,从正反两方面共同提高用户满意度。但是,由于业务交互问题自身的复杂性,特别是业务冲突问题目前仍然处于研究阶段,离实际应用还有一段距离。目前常采用的冲突检测和解决方法仍然是通过人工方式识别冲突,然后修改业务逻辑或部署方式来解决,而业务协作方面的研究相对更为成熟,所以如何通过SCIM来组合已有业务能力,是目前的研究热点之一。
泰尔网
UMA固定移动网络融合解决方案 2008-07-02 |
WiMAX在IPTV(网络电视)接入网中的应用 2008-07-02 |
积极发展IPTV 努力实践转型战略 2008-07-01 |
一种新型的分布式IMS(IP多媒体子系统)实现方法 2008-07-01 |
IMS正在从智能网中吸取教训 2008-07-01 |