首页 > 范文大全 > 正文

IMS网络中SIP应用服务器业务逻辑触发机制的研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇IMS网络中SIP应用服务器业务逻辑触发机制的研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】分析了AS中业务逻辑触发机制的必要性,提出了SIP应用服务器中业务逻辑触发模型,详细定义了业务逻辑触发数据,并给出了SLTA。通过性能分析发现SLTA可有效地提高S-CSCF的吞吐量,降低系统时延,而提出的AS业务逻辑触发机制完善了现有ims网络中的业务触发,对业务键和sFC的实现提供了一定的帮助,并从业务触发角度为IMS网络中的sip应服务器设计提供了一条思路。

【关键词】业务触发 应用服务器 会话初始协议 IP多媒体子系统

doi:10.3969/j.issn.1006-1010.2015.22.005 中图分类号:TP393 文献标识码:A 文章编号:1006-1010(2015)22-0023-07

引用格式:荀兆勇,张涛. IMS网络中SIP应用服务器业务逻辑触发机制研究[J]. 移动通信, 2015,39(22): 23-29.

[Abstract] The necessity of service logic triggering mechanism of AS was analyzed, and a service logic triggering model of SIP AS was proposed in this paper. The data of service logic triggering was defined in detail and the SLTA was presented. Performance analysis indicated that the SLTA can efficiently increase the throughput of the S-CSCF and reduce the delay of the ATA. The proposed service logic triggering mechanism perfects service triggering mechanism in existing IMS network, which is helpful to the implementation of Service Key and sFC. In addition, a way to design SIP AS in IMS network from the perspective of service triggering was provided.

[Key words]service triggering application server SIP IP multimedia system

1 引言

业务触发是IMS(IP Multimedia Subsystem,IP多媒体子系统)[1]业务提供的重要一环,3GPP TS 23.218[1]中给出了IMS网络中的ATA(Application Triggering Architecture,应用触发框架)及其应用触发算法,为IMS网络中的业务触发奠定了基础。ATA主要定义了S-CSCF(Serving Call Session Control Function,服务呼叫会话控制功能)与AS(Application Server,应用服务器)之间的关系,虽然3GPP在ATA的定义中提到了AS相关的业务逻辑触发数据,简单定义了SK(Service Key,业务键)和STP(Service platform Trigger Points,业务平台触发点)两种业务逻辑触发数据,但并未给出详细的AS业务逻辑触发模型及触发算法。为了便于讨论,在本文中业务触发指S-CSCF根据业务触发数据把SIP(Session Initiation Protocol,会话初始协议)呼叫信息从S-CSCF路由到相应的AS;业务逻辑触发指AS根据业务逻辑触发数据触发驻留在AS中的业务逻辑,进而完成业务逻辑的执行及业务的提供。

UMTS(Universal Mobile Telecommunications System,通用移动通信系统)从3GPP的R5版本开始引入IMS,在R5版本中给出了IMS的网络结构,提出了对IMS的要求。R6版本中IMS已经发展到第二阶段,对IMS的各种处理过程给出了定义,在R7版本中将重点研究与其它网络间的互操作问题。目前对SIP/IMS性能相关的研究工作主要集中在无线接入部分[2-4]和核心网(SIP/IMS Core)部分[5-7],尚未有对IMS业务层的性能研究。本文主要着眼于IMS业务层,分析了AS中的业务逻辑触发机制的必要性,提出了SIP[8]应用服务器中业务逻辑触发模型,并在研究了现有规范中的业务触发数据的基础上,详细定义了业务逻辑触发数据,最后给出了SLTA(Service Logic Triggering Algorithm,业务逻辑触发算法),并对其进行了性能分析。

本文的后续章节组织如下:第2节简单介绍了IMS R7版本中的应用触发框架及其业务触发;第3节分析了应用服务器中业务逻辑触发机制的必要性;第4节提出了一种业务逻辑触发模型,详细定义了业务逻辑触发数据并给出了SLTA;第5节对SLTA进行了性能分析;第6节对全文进行了总结。

为了讨论方便,本文认为“业务”和“应用”属于同一个概念。

2 IMS业务触发

2.1 应用触发框架

如图1所示,ATA主要由S-CSCF、HSS(Home Subscriber Server,归属用户服务器)和AS组成,其中S-CSCF是ATA的核心组件,由它完成业务的触发。HSS是一个综合数据库,用来存储用户配置信息。AS完成业务逻辑的触发、业务的执行和提供,当多个AS出现在同一个会话中时,各个AS互不感知。

iFC(initial Filter Criteria,初始过滤准则)是一种针对初始消息的业务触发数据,sFC(subsequent Filter Criteria,后续过滤准则)由AS设置,并通过信令由AS传递到S-CSCF,它允许AS在业务逻辑执行时动态设置相应的SPT(Service Point Trigger,业务点触发器实例)。3GPP虽然定义了sFC,但并未给出sFC的具体实现方式。

2.2 业务触发

IMS中的业务触发数据主要分两部分:一部分是配置在iFC中的静态业务数据,它是在用户定购业务时作为用户签约数据的一部分而预先配置好的静态触发条件,其主要目的是为了标识满足何种条件的SIP请求消息将被触发到相应的AS;另一部分是在用户发起请求时包含在SIP消息中的业务触发数据,它由S-CSCF从SIP消息中提取出来,用以判断是否满足iFC的触发条件。IMS网络中业务触发[1]的核心思想是:S-CSCF通过分析到达的SIP初始请求消息(INVITE),获取其中的SPT,并与iFC中配置在TP(Trigger Point,触发点)中的SPT实例进行比较,如果匹配,则触发该SIP消息到相应的AS,否则基于SIP路由机制对该消息进行转发。

3 业务逻辑触发机制的必要性分析

3.1 IMS业务触发机制完整性需要

IMS网络中定义了应用触发框架,并给出了基于iFC的业务触发算法。从图1中可以看到,当S-CSCF把业务触发到AS后,AS需要根据业务逻辑的需求设置后续过滤准则,为后续业务触发设置业务过滤准则。但3GPP并未给出AS设置sFC的相关动作的定义。同时从图1中可以看到,3GPP对AS中的业务逻辑触发只进行了初步研究,从业务触发角度,把AS分成了3层:SIP接口(SIP Interface)层、业务平台触发点(Service Platform Trigger Points)层和业务逻辑(Service Logic)层。但3GPP并未给出此3层的具体的功能定义及其关系描述。所以从业务触发机制的完整性角度来看,有必要对AS中的业务逻辑触发进行研究。

3.2 多业务逻辑执行环境的需要

SIP协议被3GPP接纳作为IMS的信令控制协议[9]。随着SIP协议不断的被扩展,SIP可以携带丰富的控制信息,如:呼叫控制信息、业务控制信息等。基于文本的编码方式和丰富的控制信息严重影响了SIP协议的性能[10],而AS提供多业务逻辑执行环境,可以使多个业务在一个AS中同时被提供,进而减少了SIP协议栈的编解码开销,提升了IMS网络业务提供效率。

IMS的出现为在电信网络中开展丰富的多媒体业务及业务组合提供了强有力的支持,随着业务的不断丰富及大量的应用服务器的加入,整个业务网络复杂性大大增加,业务网络提供业务的效率将成为制约IMS业务发展的关键。从业务触发角度来看,S-CSCF一次触发多个业务可以减少其触发次数,提高S-CSCF的吞吐量,而AS中多业务执行环境的存在可以满足S-CSCF的一次触发多个业务的需求。

由此可见,在IMS网络中AS提供多业务逻辑执行环境已经成为必要,在多业务逻辑执行环境中,业务逻辑触发算法的有效性和可用性就成为衡量AS的一个重要指标。

4 SIP应用服务器业务逻辑触发机制

4.1 逻辑触发模型

如图2所示,应用服务器业务逻辑触发模型主要由3部分组成:SIP接口、SLTF(Service Logic Triggering Function,业务逻辑触发功能模块)和业务逻辑,基于iFC、sFC的思路提出了slFC(service logic Filter Criteria,业务逻辑过滤准则)。SIP接口主要完成SIP消息的编解码工作;SLTF是业务逻辑触发模型的核心,它完成SPT的获取和slFC的评估,最终完成业务逻辑的触发,同时负责根据业务逻辑的需要,完成后续过滤准则的设置;业务逻辑是完成业务提供的核心模块,主要完成业务能力的提供。

4.2 业务逻辑触发数据

如图2所示,HSS与AS之间的接口是Sh接口[11],Sh接口主要完成HSS和AS之间用户相关数据、业务相关的数据的交互。AS可以通过Sh接口激活/去激活与其相关的iFC。

业务逻辑触发数据通常存储在HSS中,AS根据需要通过Sh接口从HSS中下载并暂存。如图3所示,定义了slFC作为业务逻辑触发的核心数据。目前slFC主要由两种业务逻辑触发数据组成:零个或一个业务平台触发点;业务键。其中:

(1)Priority表明了该slFC的优先级,该值越大,优先级越低。相同的优先级不能分配给多个slFC。

(2)ProfilePartIndicator属枚举类型,可能的取值为REGISTERED和UNREGISTERED,分别表明该slFC是属于registered user profile的一部分,还是属于unregistered user profile的一部分。如果slFC中的ProfilePartIndicator缺省,则表明该slFC同时属于registered user profile和unregistered user profile。

(3)STP描述了需要检查的触发点,以便决定是否触发到对应的业务逻辑。STP是一个布尔表达式,每个STP包括一个或多个业务点触发器实例(SPT)。其中ConditionTypeCNF属于布尔类型,当其为真(TRUE)时,表示STP的布尔表达式是一个CNF(Conjuctive Normal Form,合取范式);当其为假(FALSE)时,表示STP的布尔表达式是一个DNF(Disjunctive Normal Form,析取范式)。如果STP缺省,表明将无条件执行业务键标识的业务逻辑。

(4)当STP条件满足时就可以执行ServiceName所标识的业务逻辑。

(5)DefaultHandling决定了当ServiceName所标识的业务逻辑无法执行或执行错误时AS的后续动作,它是枚举类型,可能的取值为SERVICE_CONTINUED(业务继续,如果有低优先级slFC存在,继续执行)、SERVICE_TERMINATED(业务终结)或者SERVICE_ROUTED(业务路由,如果有低优先级slFC存在,不执行)。

(6)业务键信息包含零个或一个Service Infor-mation,ServiceInfo允许对业务逻辑进行进一步描述,以方便业务逻辑的管理。ServiceInfo是字符串形式。

(7)Service Point Trigger的定义与iFC的保持一致,在此不再赘述。

业务键是一种业务逻辑的标识,是业务逻辑触发的核心数据,AS根据业务键信息判断需要触发的业务逻辑。业务键由归属地PLMN(Public Land Mobile Network,公共陆地移动网络)统一管理。在CAMEL(Customized Applications for Mobile network Enhanced Logic,移动网增强逻辑的客户化应用)业务中,业务键属于CAMEL中(CAMEL Subscription Information,用户签约信息)的一部分。在IMS网络中,3GPP尚未给出明确的业务键定义及其实现、使用方式。在多业务逻辑执行环境中,要求业务键必须支持多业务的标识,即当S-CSCF要触发多个业务时,能通过业务键信息标识出需要触发的业务逻辑及其触发顺序(即优先级信息,此优先级信息也即是slFC的优先级,当SIP消息中携带的优先级信息与slFC中预先配置的优先级信息发生冲突时,以slFC中的优先级信息为准)。

业务键由终端添加或S-CSCF在业务触发时添加,并通过SIP消息携带到AS上,其实现方式有待进一步的研究。

4.3 业务逻辑触发算法

SIP应用服务器中的多业务逻辑触发如图4所示,为了便于描述,省略了SIP接口层。

AS业务逻辑触发算法描述如下:

当收到业务请求时,SLTF执行下列操作:

(1)查询本地缓存,若slFC不存在,则通过Sh接口从HSS中获取,并缓存。

(2)解析请求消息,找出业务键信息和业务点触发器实例,并进行slFC的评估,根据优先级建立过滤准则列表。

(3)检查下一个最高优先级的slFC中的业务平台触发点是否与该请求中的业务点触发器实例相匹配。

1)若不匹配,跳转到第4步;

2)若匹配,则SLTF触发业务键标识的业务逻辑,由业务逻辑层完成业务逻辑的执行,当执行完业务逻辑后,SLTF根据此业务逻辑的需要设置sFC。

(4)重复执行第3步,直到最后一个业务逻辑过滤准则被匹配完毕。

(5)若不再有slFC适用,则SLTF把请求消息传递给SIP接口层,由SIP接口层基于SIP路由机制对该消息进行转发。

由于3GPP并未给出sFC的具体实现,所以可以通过扩展SIP头的方式实现sFC,当sFC由SLTF设置完后,可以由SIP消息携带到IMS网络中的其他功能实体(如S-CSCF、P-CSCF及其他AS等),除S-CSCF和AS(AS只能修改自己设置的sFC,不能修改其他AS的设置的sFC)外,其他功能实体不能对sFC进行任何操作。当遇到后续请求消息时,S-CSCF可以根据此消息中的sFC完成后续请求消息的触发。

5 性能建模与仿真分析

5.1 建模分析

电信级业务节点设备通常由一个信令接入前台(简称“前台”)和业务处理后台(简称“后台”)组成[12-14]。前台是维护信令协议的模块,并完成业务逻辑的触发、消息的分发工作,一个前台可以支持多个后台。后台主要负责业务逻辑的执行,完成业务的提供。为了增加系统的处理能力,往往将前台模块放置在单独的服务器上,后台放置在另一个服务器上,这两个服务器通过局域网使用内部协议通信。由于业务逻辑放在后台服务器上,所以整个业务系统的瓶颈处于后台服务器。同一个业务节点可以根据需要起动多个后台。本文中应用服务器也采用两级架构模式,前台负责SIP信令的处理、消息的分发和业务逻辑的触发,后台负责业务逻辑进程的执行。当AS支持SLTA时,不同的业务逻辑由不同的进程负责,本文中假设前后台服务器之间的内部消息与SIP消息一一对应。

在本文中使用M/M/1排队网络模型对业务逻辑触发算法进行性能建模,如图5、图6所示,S-CSCF处的呼叫到达率符合泊松分布。

图5给出了没有SLTA的单业务环境下的业务触发性能分析模型,其中每个AS提供一个业务。由于AS上的业务触发是基于优先级的,所以假设ASi的优先级总是高于ASj(0

(1)n:AS的个数,即业务的个数;

(2)λ:S-CSCF的初始呼叫到达率;

(3)λs:S-CSCF的呼叫到达率;

(4)μs:S-CSCF的服务率;

(5)λi(0

(6)λ0i(0

(7)μi:ASi中各个模块的服务率(假设AS中前后台模块的服务率相同);

(8)T0:无SLTA下ATA的时延;

(9)T1:基于SLTA的ATA的时延。

一个呼叫流程中消息的数目并不影响最终的讨论,所以为了简化讨论,只讨论INVITE消息。根据3GPP定义的业务触发算法[1],假设呼叫流以λ到达S-CSCF,S-CSCF根据业务触发算法把λ触发到AS1的前台,AS1的前台处理完成后,触发业务逻辑到达后台。后成业务逻辑执行后把λ返回前台,由前台把INVITE转发回S-CSCF。接着S-CSCF把λ路由到AS2,AS2完成与AS1类似的处理后,把λ转返回S-CSCF,S-CSCF再把λ转发给后续AS,当ASn完成业务提供后,S-CSCF把呼叫路由到被叫。即呼叫流依次经过所有的业务/应用服务器。由此假设可以得到:

其中每个业务逻辑进程为一个后台服务器,λ0表示前台的呼叫到达率,λi(0

5.2 性能仿真与结果分析

文献[15]中指出每条SIP消息的处理时间大约为10ms~100ms,本文中假设μ=100,并使用SIMPROCESS软件进行仿真,仿真结果如图7、图8、图9所示。

图7给出了呼叫到达率对两种业务触发方式的影响,假设业务个数是8,即n=8。从图7中可以看出,基于SLTA的业务触发算法有效地降低了ATA的时延,提高了IMS网络的服务质量。

在图8的仿真中,假设λ=8,从图8中可以看出,当会话中只有一个业务时,两种触发算法的时延一样,随着业务数的增加,基于SLTA的业务触发明显优于无SLTA的业务触发方式。

图9给出了呼叫到达率对S-CSCF吞吐量的影响,其中假设n=10。由于SLTA可以一次触发多个业务,有效地降低了S-CSCF与AS的交互次数,进而减少了S-CSCF处理消息的条数,大大提高了S-CSCF的吞吐量。

通过以上分析可以看出,SLTA可以有效降低S-CSCF与AS的交互次数,提高S-CSCF的吞吐量,降低ATA的时延。

6 结束语

本文研究了IMS网络中的业务/应用触发框架――ATA,在ATA中3GPP对AS中的业务逻辑触发机制只进行了初步研究,并未给出完整的业务逻辑触发模型及其触发算法。本文在研究ATA的基础上,分析了SIP应用服务器中业务逻辑触发机制的必要性,接着提出了一种业务逻辑触发模型,详细定义了业务逻辑触发数据,给出了业务逻辑触发算法,并进行了性能分析,分析结果显示SLTA可以有效地提高S-CSCF的吞吐量,降低ATA的时延。同时本文对业务键和sFC的实现给出了要求和建议,通过本文的研究完善了IMS网络中的业务触发机制,对SIP应用服务器的设计有一定的指导意义。

后续工作包括:业务键、sFC的实现方式的进一步研究,给出完整的定义和实现方式;基于iFC+sFC的业务触发算法的研究及其性能仿真。

参考文献:

[1] 3GPP TS 23.218. IP Multimedia (IM) session handling; IM call model; Stage 2; release 7[S]. 2007.

[2] Hanane Fathi, Shyam S Chakraborty, Ramjee Prasad. Optimization of SIP Session Setup Delay for VoIP in 3G Wireless Networks[J]. IEEE Trans Mobile Computing, 2006,5(9): 1121-1132.

[3] G Camarillo, R Kantola, H Schulzrinne. Evaluation of transport protocols for the session initiation protocol[J]. IEEE Network, 2003,17(5): 40C46.

[4] G Foster, M I Pous, D Pesch, et al. Performance Estimation of Efficient UMTS Packet Voice Call Control[J]. Proc. IEEE Vehicular Technology Conf., 2002,3: 1447-1451.

[5] V K Gurbani, L Jagadeesan, V B Mendiratta. Characterizing session initiation protocol (SIP) network performance and reliability[J]. International Service Availability Symposium, 2005,3694: 196-211.

[6] B Zhu. Analysis of SIP in UMTS IP multimedia subsystem[Z]. 2003.

[7] Nisha Rajagopal, Michael Devetsikiotis. Modeling and Optimization for the Design of IMS Networks[J]. 39th Annual Simulation Symposium, 2006: 34-41.

[8] J Rosenberg, H Schulzrinne. RFC 3261 SIP: Session Initiation Protocol[J]. letf Rfc, 1997(2): 382-388.

[9] 3GPP TS 24.229. IP Multimedia Call Control based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP); Stage 3; release 7[S]. 2007.

[10] M Cortes, J R Ensor, J O Esteban. On SIP Performance[J]. Bell Labs Tech J, 2004,9(3): 155C172.

[11] 3GPP TS 29.328. IP Multimedia Subsystem (IMS) Sh Interface; Signalling flows and message contents[S]. 2007.

[12] 武家春,刘川. 移动智能网中SCP的性能测试[J]. 电信科学, 2004,(2): 45-47.

[13] 杨孟辉,廖建新,王纯,等. 移动智能网中SCP硬件配置方法的建模与分析[J]. 北京邮电大学学报, 2006,29(1): 52-55.

[14] 马旭涛,廖建新,朱晓民. 基于动态MSN的软交换多业务环境性能研究[J]. 电子学报, 2005,33(10): 1761-1765.

[15] T Eyers, H Schulzrinne. Predicting internet telephony call setup delay[Z]. 2000.