恩施信息港

当前位置:

IMS中的业务交互管理1

2019/04/25 来源:恩施信息港

导读

1、引言IMS(IP多媒体子系统)是第三代移动络的核心技术。它采取IP传送技术,同时业务层面在兼容目前已有的业务的同时开放了络能力接口,

1、引言

IMS(IP多媒体子系统)是第三代移动络的核心技术。它采取IP传送技术,同时业务层面在兼容目前已有的业务的同时开放了络能力接口,为业务开发商提供了方便、快捷、经济地提供业务的途径。这类开放的全IP的架构使得IMS上的业务可以变得丰富多彩,同时也使业务交互问题变得更加明显。

业务交互指的两个或多个业务在同时实行的进程中相互影响乃至干扰。根据是否违背用户期望,业务交互分为业务协作和业务冲突。业务协作是用户期望的交互行为,例如将已有的多个业务或业务能力组合成为一个新业务;业务冲突是用户未预期的交互行动。一个业务冲突的例子是“主叫呼出限制(OCS)”和“被叫呼叫转移(CFU)”:假定用户A订购了OCS业务并限制拨打用户B,而用户C订购了CFU业务并设置前转地址为B,当用户A呼叫用户C时,该呼唤被CFU业务转移到用户B,而用户B在OCS限制的范围内,这便产生了违背用户意愿的业务冲突,原本用户A与B的通话应当被OCS业务限制的,而现在用户A却与B进行通话。

业务协作有助于方便、快速、经济地提供新业务,可以提高用户体验,而业务冲突则会影响用户体验,乃至影响系统稳定性和安全性。由于业务交互问题的重要性,业界给予了长时间的关注。在IMS发展部署进程中,这也是亟待解决的重要问题。3GPP定义了SCIM/ServiceBroker(业务能力交互管理器/业务代理)实体来处理IMS中的业务交互问题。目前3GPP对该问题正处于研究之中,相干标准尚未成熟。

2、IMS中的触发机制和存在的问题

业务交互问题的已有研究和统计分类表明,多数业务交互问题都与业务触发机制相干。例如,同享触发类的业务冲突就是在同一事件点触发了多个业务从而产生冲突。在甚么情况下触发业务,选择哪一个业务来执行,就是触发机制应当解决的问题,如果不能恰当地解决此问题就会导致冲突。

3GPP的标准中,业务触发的方式是S-CSCF(服务呼唤会话控制功能)按照iFC(初始过滤准则)的优先级顺次匹配每一条iFC,匹配成功后触发相应的运用服务器(AS)来执行业务。AS可以对请求消息作一定的处理后再返回给S-CSCF,S-CSCF接着匹配下1优先级的iFC,触发相关的AS,顺次进行直到匹配完所有的iFC。iFC中规定了多个触发点(SPT),在匹配进程中S-CSCF检查当前会话的情况是不是满足触发点的要求。目前规定有5类触发点,分别是RequestURI、SIP方法、SIPHeader、会话描述、会话情形(Originating、Terminating Terminating_Unregistered)。

为了使S-CSCF按正确的顺序处理不同的FC,每个FC都必须分配一个优先级,并且在提供给用户的FC中,不应当有一个优先级对应一个以上的FC。如果S-CSCF不能联系到AS,那末S-CSCF应当为这个触发使用默许的处理方式。默许处理可以是:如果在列表中匹配了一个低优先级触发项,则继续检验,放弃与列表中低优先级匹配的校验,并释放这个对话。这类基于优先级限制每一个优先级只对应一个FC的触发方式,可以在一定程度上解决共享触发类的业务冲突问题。

这种iFC触发机制的功能较为薄弱,它依照静态的优先级顺次触发各个AS,因此难以处理多个业务交互的情况。具体来说,它存在的不足之处以下。

●静态性:iFC机制在初始请求到来的时候,按静态配置好的顺序触发相关AS,而没法根据业务的触发情况、会话的进展动态地触发AS。

●使用范围有限:只能根据目前的5类触发点来判断是不是触发一个业务,然而除此之外尚有许多因素可作为触发点,例如:终端能力、用户偏好、时间因素、前一个业务执行情况等。

●表达能力有限:iFC只能依照规定的优先级顺序触发AS,实现简单的业务组合,而对实现复杂的业务组合则无能为力,例如它无法将Presence业务和补充业务有效结合起来,根据用户不同Presence状态调用不同的补充业务。

●缺少规避业务冲突的手段:iFC简单的顺序触发方式没有斟酌AS之间的冲突问题,在这种情况下,相互冲突的业务可以在同一次会话中触发,影响用户体验。

3、SCIM研究和应用现状

为了有效控制和处理IMS中存在的业务交互问题,3GPP在IMS体系中引入一个新的元——SCIM来专门负责调和业务运行,有时又称为ServiceBroker。SCIM早出现在TS23.218规范。在规范中,SCIM作为一种特殊的AS或作为AS中的特殊功能实体,但是除此概念之外,缺少更进一步的定义以及关于SCIM的功能结构和实现方式的说明。

由于业务交互问题本身也较为复杂,业界缺少对SCIM的统一认识和理解,所以不同厂商和研究人员从不同的角度对SCIM提出了自己的理解,其中以MichaelPalmeter观点较有代表性,他把SCIM分为以下5类。

●AS InternalFunction:SCIM作为AS内部的功能,作为requestdispatcher存在。SCIM作为SIP AS的对外访问入口,根据收到的SIP要求有选择地调用各个业务。这类机制与AS的实现方式相干,是私有的,大部分SIP应用服务器都会提供类似的功能。

●SIP Broker:主要用于在外部管理SIP应用服务器之间的交互,可能有复杂的路由和排序规则引擎,其功能类似于S-CSCF的业务触发功能。

●Service Broker:解决业务能力的交互问题,业务能力需要使用WSDL和SOAP抽象并开放出来,SCIM将业务之间的交互看作是业务流程组合。

●Legacy/NGN:解决SIP和传统信令系统之间的交互。传统系统接口之间的辨别很大,业务实现基于络设备商的私有平台,因此这类SCIM估计不会是一种通用的解决方案,这类SCIM除了触发和路由机制外还需要有协议的映照机制。

●Service-Type Optimized:针对一种特定的服务类型而不是一组特定的实现技术进行了优化的SCIM。SCIM负责把特定的服务类型和一系列与其相干的服务组件集成,从而提供可定制的服务,例如,“”SCIM将与一些和相关的组件集成,这些组件支持媒体类型协商,用于的媒体服务器的控制、呼叫转移、呼唤等待、呼唤保存等标准过程。“”SCIM可以用来专门提供和业务相干的业务组合能力。

3GPP组织对SCIM的功能和控制流程进行了进一步研究,在TR23.810中对ServiceBroker(即SCIM)的功能需求和部份交互流程的控制方式和改进方式提出了建议。

3.1Service Broker的功能需求

从总体上说,Service Broker提供一个可管理、可控制的手段让多个业务依照用户料想的方式执行。它掌握用户的业务订购情况,明确这些业务该按照何种顺序被触发,并且能够对存在冲突的业务进行调和。

对Service Broker功能上的需求目前达成共鸣的主要有以下几点:

●尽可能减小因Service Broker的引入而对IMS核心造成的影响;

●Service Broker必须采取灵活的架构以便能够应付新业务之间的交互问题;

●支持业务交互,即业务组合以及避免业务冲突;

●Service Broker应能够管理IMS应用与非IMS应用之间的交互;

●支持传统智能与IMS业务的交互;

●支持不同接入方式的业务之间的交互,如UMTS、WiMAX、WLAN;

●支持SIP与非SIP业务之间交互;

●支持不同业务提供商的业务之间的交互;

●支持由用户配置、控制业务交互的方式。

3.2 ServiceBroker实现方式

TR23.810提出了ServiceBroker的3种实现方式,分别是集中控制、分布式控制、混合式控制(如图1~3所示)。

图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来完成,另外1部分可以脱离SCIM,直接改进现中的设备。

3.3.1请求URI被修改的情况

SIP要求中的要求URI实际承当着两种角色:1是代表被服务的对象,被叫侧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.3AS返回毛病响应情况下的改进

当某个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来组合已有业务能力,是目前的研究热点之一。

渐冻人
孕期睡觉腰酸背痛
男士心火旺肾阴虚如何调理
标签

友情链接