电信业务能力开放技术标准

2009-04-26 03:32董振江
中兴通讯技术 2009年2期

杨 勇 贾 霞 董振江

摘要:电信业务能力的开放是电信技术发展过程中长期研究的热门课题之一,电信业务能力的开放技术在不断的发展,相应的标准也在不断的提出或更新。在这些标准规范之中,JCP和Parlay系列规范是两大主流的国际规范,分别提供了不同层次的、面向不同用户对象的业务能力开放技术标准。其中,JCP针对JAVA应用开发人员制定了JSR21、JSR32、JSR116和JSR289等系列规范,而Parlay则提出了Parlay和Parlay X等规范,规范的版本也在不断地更新之中。各种不同的能力开发技术实现方法不同,各有各的优势和生命力。随着业务开发的群体不断壮大和融合业务开发的要求越来越明显,提供一种快速、高效和简易的业务能力开放技术就成为业务能力开放技术研究的重点。

关键词:电信业务能力;开放技术;JCP

Abstract: The open technique of telecommunication service capability is one of the most interesting subjects in the research of telecommunication technique, and the correspondent standards are also proposed or updated continuously. Among the standard group, JCP and Parlay are the two active international standards groups, which propose different kinds of technique standards for different users in different levels, such as JSR21, JSR32, JSR116 and JSR289 in JCP, and Parlay/Parlay X with different version in Parlay group. Each of these standards is realized in different technique, and each one has its own advantage and lifecycle. With the application developer and the need for the convergent applications becoming more and more obvious, it is more important to provide a kind of fast, efficient and easy service capability open technique.

Key words:telecommunication service capability; open technique; JCP

电信业务能力的开放是电信技术发展过程中长期研究的热门课题之一[1-7],其主要目的就在于将电信能力开放出来,使得电信业务开发变得更为容易和高效,丰富电信增值业务,促进电信行业的发展和繁荣。

最早的电信业务能力开放技术要追溯到传统的智能网和基于用户交换机(PBX)的计算机电话集成(CTI)技术[8],它为第三方监控和控制电话呼叫提供了技术支持。智能网[9]技术实现了业务和呼叫控制的分离,它将业务控制从交换机中分离出来,同时,提供了一种高效的、图形化的业务生成环境(SCE);随着业务能力开放的日益增长的需要和Java技术的发展,业务能力开放技术规范也在以更快的速度在不断地发展和完善。

关于业务能力开放技术的标准规范主要包括了两大组织,JCP和Parlay/OSA,其中,JCP是由SUN公司于1995年发起成立的一个开放的国际组织,主要由Java开发者以及被授权者组成,职能是发展和更新Java技术规范、参考实现和技术兼容包。目前JCP有1 200多个成员加入,由数百名来自世界各地Java代表成员一同监督Java发展的正式程序。Parlay/OSA组织成立于1999年,它是一个由65家通信和IT领域的公司共同参与的非盈利性组织,致力于定义一个让IT开发人员快速创建电信业务的应用程序接口(API)。这些接口覆盖了各种电信网的功能如呼叫控制、短消息服务/多媒体短消息服务(SMS/MMS)、定位、计费、在席和可用性管理以及策略管理等等。

下面,首先从传统的智能网技术入手,来分析并介绍一下业务开发和业务能力开放的不同模式以及标准规范。

1 CTI技术

最早的CTI技术有两大技术规范,其一是电话应用程序接口(TAPI),它是微软和英特尔推出的产品,其1.0版本最初在1993年发布,提供一组用于编程的应用程序接口(API)函数,支持Windows平台上的CTI应用。它的优点是能在基于Windows的应用系统和电话系统之间建立连接;其二是电话服务应用程序接口(TSAPI),它是由Novell和AT&T共同创造的。正因为有AT&T的参与,TSAPI可以与现有的电话交换机很好地兼容。基于CTI技术的呼叫中心业务,作为PBX交换机的功能补充,也得到了广泛的发展和应用,特别地,伴随着VoIP技术的发展,集成CTI技术的下一代呼叫中心业务目前得到了大规模的应用。

2 智能网技术

智能网的目标不仅在于今天能向用户提出诸多的业务,而且着眼于今后也能方便、快速、经济地向用户提供新的业务。因此,智能网为了向用户提供新的业务而采用了一种新的方法,即建立集中的业务控制点和数据库,进而进一步建立起集中的业务管理系统和业务生成环境来达到上述目的。

智能网定义了一个完整的业务总体架构,包括业务交换点(SSP)、业务控制点(SCP)、业务管理点(SMP)、业务数据点(SDP)和SCE等,它是一个用于产生和提供电信业务的体系结构,能快速、方便、灵活、经济、有效地生成和实现各种新业务的体系。这个体系的目标是为所有的网络服务,即它不仅可以为现有的公共交换电话网络(PSTN)、分组交换公共数据网(PSPDN)以及窄带综合业务数字网(N-ISDN)服务,还可以为宽带综合业务数字网(B-ISDN)、公共陆地移动电话网(PLMN)和Internet服务。

作为一个生成和提供新业务的体系,它的特征是:

●有效地使用网络资源;

●网络功能的模块化;

●重复使用标准的网路功能生成和实施新的业务;

●网路功能灵活地分配在不同的物理实体中;

●通过独立于业务的接口,网路功能之间实现标准通信;

●有效的使用信息处理技术;

●业务用户可以控制由用户所规定的业务属性;

●业务使用者可以控制由使用者所规定的业务属性;

●标准化的业务逻辑管理。

智能网的目标,是利用独立于业务的功能块、功能实体的标准通信,有效地利用已有的资源,快速、简便、灵活地提供各种新的补充业务。智能网的目标是逐步完成的,目前正在建设的智能网是能力级1(CS-1),CS-1主要限于向PSTN、N-ISDN和在一个网的网内提供各种智能网业务。但是随着网路发展以及实际网路运行的复杂性,用户还有业务管理和业务生成等方面的要求,因此在CS-2增加了网间互通业务、呼叫方处理业务(如呼叫转移、呼叫等待等等)、终端移动性业务、业务管理业务、业务生成业务等。

目前CS-1和CS-2方面的建议已经标准化,国际电信联盟远程通信标准化组(ITU-T)现正着手CS-3方面的研究。除了对CS-3进行研究外,还在研究智能网长期架构(LTA)。LTA的研究是为适应当前技术的快速进步,用户对业务需求的快速增长,各种业务间的互连以及由于通信市场引入竞争机制而提出的,目的在于提出一种灵活地、适应新技术发展的、又能满足各种可能的业务需求的新型通信网控制和管理机制。

因此,智能网的发展是以业务发展为前提,并且将逐步扩展到移动通信和宽带通信领域,还要与电信管理网结合起来,提供一种更灵活、适应最新技术发展的通信系统。

智能网近期的发展是使用综合智能网系统,同一个智能网可以接入GSM、CDMA、PSTN、Parlay、HTTP等不同的协议,业务逻辑处理与网络类型无关。

早在1994年,鉴于对国际智能网业务的迫切需求,我国首先建设了国际智能网,提供300、800及VPN三种电话业务。从1995年起,开始建设国内智能网,它与国际智能网是分别进行建设和使用的,各自提供不同的业务,拥有各自的用户。两个智能网间是不互通的。

智能网技术的出现,使得呼叫控制与业务相分离,极大促进了业务的发展。然而,在传统的智能网体系中,SCE是与业务执行点SCP紧密捆绑在一起的,没有形成统一的标准,也不具备开放性。通常情况下,只有电信设备商自己的开发人员利用自己的SCE来开发智能业务。

3 JCP相关规范

随着Java技术的迅速发展,Java开发人员和许多组织都投入研究基于Java技术的电信业务能力开放技术,相关的技术规范也在快速的制定或更新之中。

JCP是一个基于Java的开发组织,专门制定一些Java的技术规范。最早基于Java的CTI技术标准是Java电话应用程序接口(JTAPI)是由Intel、Lucent、Nortel Networks、Novell以及Sun微系统等公司组成的工作组在1996年共同开发出来的。JTAPI是一种为电脑电话应用程序而设的基于Java的应用编程接口,它由一组语言包组成,核心包为简单的电话过程提供了一个基本的框架,例如:打电话、接电话、还有挂电话等,而其它的扩展包提供了附加的电话特性。JTAPI在不同的电脑平台下可以共同使用,它与TAPI相类似,二者之间的关系就类似于开放数据库连接(ODBC)和Jave数据库连接(JDBC)的关系。

JCP组织在发展过程中,不断完善了基于Java的技术规范并定义为JCP的标准,陆续发布了多个电信业务能力开放的Java规范[10-11]。下面,我们对这些Java规范做一个较为详细的介绍。

3.1 JSR21规范

JSR21规范[12]全称是“JAIN Java Call Control Application Programming

Interface”,它是一组用于在融合的PSTN、分组交换和无线环境下创建、监控、控制、操作和拆除通讯会话的Java接口。它为第三方应用提供了使用包括核心网和外围设备在内的网络元素的能力。Java呼叫控制(JCC)允许应用在会话建立过程中被触发或调用,本质上类似于智能网(IN)或高级智能网(AIN)中业务被调用的模式。因而JCC允许编程人员开发应用,同时这些应用可以在支持这些API的任意平台上运行。这就使得业务提供商可以通过自己开发或购买第三方开发的业务的方式来快速高效的提供业务给终端用户。JCC规范中所定义的API是从JTAPI继承下来的。

JCC API并不是用于将电信网络信令架构开放给公众,它只是将网络能力进行封装,使得电信能力采用可见对象技术以一种安全、可管理和可计费的方式被表述和使用。这种方式允许独立的业务开发者来开发电信业务,不会对网络安全和可靠性带来不利影响。JCC API由一些相关的互相交互的对象的集合所定义,这些对象模化了一个会话中所涉及的不同的物理和逻辑元素或相关功能。应用通过面向对象的过程图与各个对象交互。JCC API不仅仅可以控制语音呼叫,而且还可以控制数据和多媒体会话。

JCC API从结构上可以分为3类:

●基本的呼叫控制,这个Java软件包包括了发起和应答呼叫的基本工具。

●核心的呼叫控制,这个Java软件包包括监视、发起、应答、处理和操纵呼叫的工具,同时还提供了在呼叫过程中调用其它应用并返回结果的一些工具,可以满足绝大部分基本呼叫和增值业务实现的需要。

●扩展的呼叫控制,该Java软件包还提供了一些扩展的细粒度的呼叫控制功能。特别地,与JCC不同,JCAT能够支持所有通用的AIN应用以及与其它的语音/数据和下一代业务的集成。

基于以上的软件包开发的应用可以执行在交换机平台自身上,也可以以协作式、分布式的方式横跨多个平台。

JCC API只提供Java API接口定义,接口的实现需要设备商自已去做。这组API屏蔽了网络传输层,适用于PSTN、IP网或无线网等任何网络类型,同时也不关心底层的通讯协议或信令,可以是媒体网关控制协议(MGCP) [13]、会话初始协议(SIP) [14]、或七号信令等任意信令方式。对于应用开发人员来讲,这些网络基础知识他都无需关心。

从以上的简要介绍可以看到,JSR21规范的主要目的是,满足第三方Java开发人员开发呼叫业务。但是,该规范中定义的API接口是一种面向底层的呼叫控制信令的操作接口,对于应用的开发人员而言,需要具备通讯的基础知识。此外,由于SIP协议的扩展性非常强,利用JCC API开发基于SIP协议的应用时,应用的功能往往会受到API的扩展性的限制。

3.2 JSR32

JSR32规范[15]的全称是“JAIN SIP API Specification”,它是JCP组织定义并开发的一套用于开发SIP应用的接口规范,为开发人员提供了一个与RFC3261规范兼容的基于Java语言的标准的SIP服务接口。

JSR32规范支持SIP基本规范RFC3261以及下述扩展规范:

●RFC2976:INFO方法

●RFC3262:可靠的SIP响应;

●RFC3265:事件通知框架;

●RFC3311:UPDATE方法;

●RFC3326:Reason头部;

●RFC3428:Message方法;

●RFC3515:REFER方法和即时消息的定义;

●RFC3581:通过共享的多播地址分发可靠的命名服务器;

●RFC3903:PUBLISH方法;

JSR32规范标准化了SIP协议定义的普通交易模型,提供从交易接口接入对话的功能。该架构用于J2SE环境下的应用开发,是一个基于事件的侦听/提供模型,定义了很多工厂类,用于创建请求消息和响应消息的SIP头。它为每个支持的头定义了通用接口,可添加到Request消息和Response消息中。SIP消息通过一个事务被传到侦听/提供模块用于监听到来的事件,包括请求的响应或者新的请求。此外,JAIN SIP被设计为可扩展的,定义了通用的扩展头接口,以便应用处理规范中不支持的SIP头域。

需要注意的是,对SIP消息重发的缺省处理是取决于应用类型,所有的重发都是由用户代理(UA)中的协议栈来处理的。

由于JAIN SIP API是对SIP标准的完整定义,任何基于SIP的程序可将JAIN SIP API用作Java标准接口,成为经JAIN SIP认证的栈。这意味着应用服务器、SIP电话、网关及网关控制器、SIP服务器、基于SIP的业务、SIP计费解决方案、开发者工具包、SIP测试工具、SIP用户代理以及SIP网络管理,均可利用JAIN SIP API实现在SIP栈实施中的通用性。典型的SIP网络中,JAIN SIP接口应用于代理服务器、媒体网关和客户端。JAIN SIP API涵盖了比用户代理或客户端软件所需更多的内容。

JAIN SIP API提供的基本类可以分为4个软件包,分别是:

●javax.sip:该程序包包含的是,从应用开发人员和协议栈提供商的角度所提供的基础架构的主要接口。

●javax.sip.address:该程序包包含用以表示SIP协议中的地址组件的接口。

●javax.sip.header:该程序包包含本规范所支持的SIP头域表示和获取接口。

●javax.sip.message:该程序包包含用以表示SIP消息体的接口。

JSR32规范同JSR21规范相比,它是一种专门针对下一代网络(NGN)或IP多媒体子系统(IMS)等SIP协议网络,同时,它为应用开发人员提供了一个Java的SIP协议栈及相应接口,这个接口是协议层的接口;而JSR21规范它是一种功能操作级别的接口,比JSR32规范的层次要高得多。JSR32提供的接口,允许开发人员获取或操作包括SIP头域中的各个字段和SIP消息体在内的所有的SIP消息内容,应用开发人员必须具备专业性的SIP协议知识,才能开发SIP应用。

3.3 JSR116

JSR116规范的全称是[16]“SIP Servlet Specification v1.0”,它是JCP组织定义并开发的一套基于SIP容器的SIP应用开发规范。

SIP Servlet是一个基于Java的应用组件,它由SIP容器管理,同时实现SIP信令的处理。和其它的基于Java的组件一样,Servlet是与平台无关的Java类,可以动态加载在基于Java的SIP应用服务器中来运行。容器是提供Servlet功能的服务器扩展,借助于Servlet容器,Servlet通过请求和响应消息之间的交换来实现与客户端的交互。SIP Servlet容器是应用服务器的一部分,它为网络层业务提供请求和响应消息的接收和发送,它决定了接收到的SIP消息触发哪个应用,同时,以什么顺序来触发。SIP Servlet容器同时包含Servlet的生命周期管理功能,它还负责网络侦听点的管理,SIP规范要求所有的SIP网元应该支持用户数据报协议(UDP)和传输控制协议(TCP),可选支持安全传输层(TLS)和流控制传输协议(SCTP)等。SIP Servlet主要用于开发基于SIP协议的应用,目前,基于SIP的应用主要包括呼叫类的应用、即时消息、在线和由SIP Message方法衍生出来的SIP短消息等。用于开发SIP应用的接口规范,为开发人员提供了一个与RFC3261规范兼容的基于Java语言的标准的SIP服务接口。

在JSR116规范中,SIP Servlet容器的作用主要包括:

●应用管理

一个SIP应用的Servlet上下文可以包含多个SIP Servlets一旦部署之后,Servlet上下文的生命周期由Servlet 来维护。尽管Servlet 上下文可以随着服务器的起停而起停,但是系统管理员也可以显式地启动/停止/重载Servlet 上下文。

●SIP消息处理

SIP Servlet容器提供的SIP消息功能包括:分析接收到的SIP消息、将分析后的SIP消息转发给相应的SIP Servlet、发送SIP Servlet产生的消息给相应的UA、自动生成SIP响应,如 "100 Trying"、自动管理SIP头部字段。SIP Servlet 处理的SIP消息都被表示为SipServletRequest 或SipServletResponse对象,接收到的SIP消息首先分析器分析之后,再翻译成这些对象,然后发送给SIP Servlet 容器。

●工具功能

SIP Servlet 定义了下述的工具:SIP会话和应用会话、SIP工场和代理。

JSR116规范是一种针对SIP协议,并提供容器式SIP应用管理的SIP应用开发工具。从接口的封装程度上讲,它是一种介于JSR21和JSR32之间的接口规范,不仅提供了方法级的操作接口,而且提供了协议层的数据操作接口。从应用开发的角度讲,灵活性和易用性都不错。JSR116是SIP容器产品的1.0规范版本,目前1.1版本规范JSR289也已经发布,同JSR116相比,大的框架上没有变化,仅仅对部分接口定义做了改进。最新的SIP Servlet规范是1.1版本,参见JSR289[17]。

此外,由于SIP Servlet规范仅仅定义了基于SIP Servlet所提供的接口来开发SIP应用,但是,我们知道,大多数电信应用都会涉及到放音、收号和会议等基本电信功能,而包括JSR116和JSR289在内的SIP Servlet规范,都没有定义与此相关的功能接口,因而2007年JCP组织发布了JSR309规范[18]——“Java MediaServer Control”,该规范定义了与媒体服务器控制相关的功能接口来配合基于Java的SIP应用开发。除以上规范之外,JCP还定义了一个关于业务执行环境的JAVA规范,JAIN SLEE V1.0。JAIN SLEE是JAIN API集合中的一个组成部分,它处于JAIN的核心地位,是应用的逻辑执行环境,具体参见JSR22[19],在此不在赘述。

4 Parlay相关规范

Parlay组织成立于1999年,它是一个由65家通信和IT领域的公司共同参与的非盈利性组织,致力于定义Parlay APIs为一组开放的、独立于技术的、可扩展的API,以便于第三方业务开发商、独立软件提供商能通过Parlay API来开发业务。到目前为止已经发布了多个版本的Parlay规范。Parlay组织的公司成员包括阿尔卡特、英国电信、爱立信、富士通、惠普、IBM、Incomit、朗讯、NTT、西门子、SUN、Telcordia科技、意大利电信、Teltier和其他50个北美、欧洲及亚洲的公司。OSA在3GPP和3GPP2的移动业务体协结构中被引用,而Parlay就是OSA中的API部分。

Parlay API[20]的定义采用接口描述语言(IDL)来描述,API的实现采用分布式的Corba中间件技术。

Parlay组织研究开放的接口部分,并不关心任何基础电信网络结构和技术,该接口介于业务提供网络部分和核心网络部分之间。当Parlay组织正着手研究Parlay2标准时,3GPP和ETSI也开始研究基于第三代网络的应用服务开发API接口。由于在研究领域上有很大的重叠性,3GPP和ETSI很快就发现Parlay可以应用在他们关于第三代网络的API接口上。因而,Parlay被引入了3GPP/ETSI标准框架中并命名为OSA,3GPP/ETSI对Parlay标准进行了进一步的补充。

现在3GPP已经发布了Release 5版本的API标准,ETSI和Parlay Group也发布了相应的版本,最高版本已经发展到Parlay6.0。

在Parlay API的版本发展到Parlay 4.0时,Parlay组织发现,Parlay规范在IT研发人员看来,还是相当的庞杂,对于IT研发人员而言,采用Parlay协议规范研发基于电信网络的应用还是有相当的难度。基于此,3GPP提出了Parlay X规范[21]。Parlay X协议在原有Parlay API协议的基础上,对API进行了进一步的抽象,并使用基于Web业务的WSDL语言对API进行描述,从而提供了IT研发人员一个更为清楚、简洁、抽象、易于理解的电信业务研发接口。这样IT研发人员无需掌控电信网络专业知识,即能够根据Parlay X协议接口研发、应用下一代网络业务。从而促进下一代网络业务的发展。

在Parlay4.1规范发展为ParlayX规范之后,后来逐渐出现了两个分支,原来的Parlay规范急需发展下去,直到现在的6.0规范,而ParlayX规范也不断发展,逐渐推出了2.0、2.1、2.2等,直到现在的ParlayX3.0规范。

下面,我们对Parlay组织定义的相关规范分别做一简单介绍。

4.1 Parlay规范

Parlay规范定义了多组业务能力特征(SCF),每组SCF对应有一组业务能力开放的接口API。

Parlay/OSA的逻辑结构中主要包括以下几个部分,如图1所示。Parlay 应用、Parlay/OSA框架、业务能力特征服务器(SCS)和核心网。其中,框架和业务能力服务器合称为Parlay网关。各部分的功能如下:

框架:负责应用的鉴权计入、业务能力的注册和发现以及完整性管理等功能;

SCS:负责业务能力开放接口API的实现;

Parlay 应用:它是基于Parlay GW开发的电信应用。

以Parlay4.0规范为例,共定义了11个SCF:呼叫控制、用户交互、移动管理、终端能力、数据会话控制、普通消息、连通性管理、账户管理、计费、策略管理和呈现和可用性管理。

3G网络的开放结构为Parlay GW控制网络资源提供了必要条件。在3G IMS网络中,CSCF设备是网络的中心。它独立于底层承载协议,完成呼叫控制、媒体网关接入控制、资源分配、协议处理、路由等,可以向用户提供现有网络能够提供的业务。基于Parlay GW开发的应用提供业务逻辑的驻留和执行环境;由Parlay GW提供的API为第三方的业务开发提供开发平台。Parlay GW是业务提供面中的主体,也是业务提供和开发的核心,它帮助业务平面利用下层网络的各种资源提供丰富的业务。这种架构将业务与呼叫控制分离、呼叫控制与承载分离来实现相对独立的业务功能,使得上层业务与底层网络无关,从而可以灵活、有效地实现业务提供。

4.2 Parlay X规范

Parlay X规范是在Parlay规范基础之上发展起来的。尽管Parlay规范定义了多组API将电信业务能力开放给第三方,但是,对于IT开发人员而言,这些API的使用仍然过于复杂,而且,由于采用了Corba中间件产品,使得API的开放性受到了一定的影响。基于以上原因,Parlay组织对Parlay API进行了进一步的简化,将API以Web服务的方式开放给第三方,形成了Parlay X规范。第一个规范Parlay X1.0于2003年4月正式发布,最新的规范版本是Parlay X3.0。

以Parlay X2.0规范为例,其中定义了多组业务能力,包括:第三方呼叫、呼叫通知、短消息、多媒体短消息、语音呼叫、终端状态、终端位置、账户管理、呼叫处理、支付、多媒体会议、地址列表管理和呈现。

Parlay X对原来的Parlay API经过高度的抽象和封装,定义了一组功能强大,但又简单、抽象和极富想象力的电信能力API,以便于通信开发人员和IT开发人员都能快速地理解和掌握,并在此基础上开发出具有创新意义的电信应用软件。

Parlay X采用Web业务的方式,Web业务技术的开放性使得Parlay X的开放性更为IT开发人员所接受和认可。基于Parlay X API开发的应用与实现Parlay X Web业务的服务器(也称做Parlay X网关)之间的交互方式采用基于可扩展标记语言(XML)的消息交换来实现;消息交换由应用发起,并且遵循同步的“请求/响应”模型。

当然,Parlay X Web业务服务器到应用的“响应”是可选的,根据实际的应用需求而定。然而,对于应用服务器作为被动方的消息通知类型的业务,就需要定义异步消息,这样才能实现消息从Parlay X网关到应用的消息传递。

Parlay X API的封装程度远远比Parlay API高,例如,在Parlay API中,应用侧发起一个呼叫至少需要3次API调用(不包括接入和业务能力的获取等前期大量的API调用),createCall→routeReq(A)→routeReq(B);而在ParlayX中,仅需要“makeACall”这一次API调用即可。这种较高的封装程度大大简化了开发人员的开发难度。然而从另一方面讲,业务开发的灵活性也受到了一定限制,所以,对呼叫的持续控制不足,用户交互能力的薄弱、缺少用户鉴权手段等成为Parlay X被人所诟病的一些缺点,目前,相关组织正在对它不断地改进。

5 各种业务能力开放技术的比较

综合前面的介绍,我们可以把业务能力开放技术或者业务开发模式做一个比较全面的比较和分析。

首先,我们来看JCP系列规范。JSR21和JSR32规范用于开发单独的应用,而JSR116规范引入了容器的概念,可以承载多个应用的运行,如图2所示。

同时,JSR116所提出的容器的概念可以和HTTP容器想结合,开发一些基于Web的融合SIP应用。此外,JSR32规范和JSR116规范相比的另一个差别是,JSR32所定义的JAIN SIP规范是面向J2SE应用的,而JSR116所定义的SIP Servlet规范则是面向J2EE应用的。

其次,我们来看基于JCP系列规范开发的应用与基于Parlay规范开发的应用的运行模式。从应用的部署和运行模式的角度来看,Parlay/Parlay X是基于分布式技术来实现的,所以应用的运行也是一种分布式的模式。而基于JCC、JAIN SIP和SIP Servlet规范开发的应用,API的实现和应用由同一个Java虚拟机来执行,物理上是捆绑在一起的。

二者的差别如图3所示。

从图3也可以看出,基于JSR系列规范的应用在部署时,是直接和核心网网元对接的,二者之间的接口是标准的SS7或SIP;而基于Parlay/Parlay X规范开发的应用,在部署的时候,是以IIOP/SOAP协议与Parlay/Parlay X网关对接,再由Parlay/Parlay X网关转换为标准的SS7或SIP协议。

相比而言,分布式的部署方式肯定要优于集成的应用模式。但是,分布式部署方式的缺点在于,开发人员除了熟悉基本的呼叫信令知识之外,还需要掌握Corba或Web服务等技术,在一定程度上提高了对开发人员的要求。

同时,JCP系列规范(JCC、JAIN SIP和SIP Servlet)仅仅定义的只是应用功能开发的接口,不涉及应用的鉴权接入和访问控制等功能,所以它只能适用于一些可信域内的应用开发,而Parlay规范,不仅提供基本的呼叫能力,而且还提供了从应用鉴权接入、访问控制、生命周期管理等一个完整的应用开发、运行和管理的体系。特别地,Parlay X通过SOAP头的扩展,也具备了业务接入和控制方面的一些基本功能。当然,任何事物都是具有两面性的,简单易用与灵活性之间通常是一种互斥的关系。

再次,从技术实现的角度讲,JSR系列标准定义的是Java语言的API实现,它继承了Java语言跨平台的特征;而Parlay API的实现是基于Corba中间件技术的,它是一种跨平台的技术,与操作系统和编程语言无关,即应用和服务可以运行不同的操作系统上,还可以以不同的编程语言来实现API的功能和调用。

Parlay X基于Web服务技术实现,具有更为优秀的开放性,可以用不同的编程语言来实现。对应用开发人员而言,跨平台的、与语言无关的接口技术肯定更受人欢迎。

当然,对于各种不同的业务能力开放技术,不能简单的说孰优孰劣,每一种技术都有自己的优势,对于不同层次的业务开发人员,面对不同的业务需求,可以选用适合自己的技术来开发电信应用。

此外,我们再从API的封装程度的角度对各个规范进行比较,如图4所示。从较高的层次上讲,可以将接口封装分为两类:操作级的API封装和协议层的API封装。其中,JCC和Parlay/Parlay X提供的是操作级的API,API的封装程度比较高,API的实现与具体的协议无关;而JAIN SIP和SIP Servlet提供的是协议层的API,它们提供了针对SIP协议的API封装,从某种程度上讲,相当于提供了一个Java版本的SIP协议栈,相比之下,SIP Servlet提供的API比JAIN SIP规范中的API更为高级一些。对应用开发人员而言,封装程度较高的接口技术更容易用来开发应用。

最后,从生命力的角度对各个规范做一比较,如图5所示。JCP和Parlay两个不同的组织所制定的规范一直还在发展之中,从目前的情况看,JCC和JAIN SIP规范,目前支持或积极响应的设备商并不多;而SIP Servlet产品,目前已经有多个厂商明确支持;支持Parlay/Parlay X的厂商比较多,其中,爱立信的Parlay GW产品应用最为广泛。各个厂商对Parlay X的支持就更为普遍了。

所以,从总体上讲,各个厂商对Parlay/Parlay X的支持要好于对JCP规范的支持。当然,JCP组织不仅在业务能力开放方面进行了研究,在业务执行环境方面也做了深入的研究工作,制定了JAIN SLEE等规范,该规范的制定,从另一方面又极大地促进了JCC、JAIN SIP等规范的发展和推广,后面我们会对JAIN SLEE规范做专门的介绍。

6 结束语

从电信领域的发展趋势来看,总的趋势可以归纳为:从封闭走向开放,从开放走向融合。最初的电信网作为一个封闭的体系,到不断地开放业务能力,不断地融入并开放新的业务能力,到现在电信域和IT域开始走向融合,整个过程将使得电信网成为一个开放的、可聚合的和可持续扩展的基础网络体系。

从电信的业务能力开放技术,特别是接口技术的实现上,不同的接口提供了不同的实现技术,前面已经说过,从接口的封装程度上讲,封装程度越高,基于接口的应用实现越容易;封装程度越低,接口功能越灵活,基于接口的应用实现也越复杂。因而,对于不同的技术,我们并不能简单地说孰优孰劣,而是要针对不同的需求和不同层次的应用开发人员,提供适合他们需要的业务接口开放,实现不同层次不同粒度的能力开放。

随着业务能力的逐步开放,业务开发的周期不断缩短,业务开发的群体不断壮大,业务之间的耦合关系和交互作用越来越复杂,如何实现业务和业务、业务能力和业务能力、业务和业务能力之间的有序监控和管理就成为下一代基于分布式开放ICT融合环境的业务生成环境和执行环境的研究重点。

7 参考文献

[1] 张云勇,刘韵洁,张智江,等. 下一代网络业务开放的相关问题[J]. 电信科学,2004,20(1):41-46 .

[2] 强磊,陈卉. NGN的统一业务开放平台与增值业务的创新[J]. 中国数据通信,2004,6(5):71-74.

[3] 刘韵洁.下一代网络的发展趋势—融合与开放[J].电信科学,2005,21(2):5-10.

[4] FALCARIN P, LICCIARDI C A. Analysis of NGN service creation technologies[J]. IEC Annual Review of Communications, 2003,56(6):100-110.

[5] LICCIARDI C A, FALCARIN P. Next generation networks: The services offering standpoint[R].Eurescom Project P1109. 2002.

[6] LAGO P, LICCIARDI C A, CANAL G, et al. An architecture for IN-Internet hybrid services[J]. Computer Networks Journal, 2001, 35(5):537-549.

[7] BOETSELAARS L, et al. CD-ROM: Enabling technologies for IN-Internet integration[R]. Eurescom Project P909 Deliverable 4. 2001.

[8] 叶飞,傅海阳. CTI技术及其在现代通信中的应用[J].电子工程师, 2001,27(6): 36-38, 41.

[9] 张雪丽. 智能网标准概况[J].电信工程技术与标准化, 2004(1):34-38.

[10] JAIN. A set of JavaTM APIs for integrated networks[R]. Telcordia Technologies Inc. 1999.

[11] The JAIN APIs: Integrated network APIs for the Java platform[R/OL]. White Paper. 2000.[2008-12-11]. http://java.sun.com/products/jain.

[12] JSR21-JAIN Java call control (JCC) applicaiton programming interafce (API), Version 1.0[S]. JCP. 2001.

[13] ARANGO M, DUGAN A, HUITEMA C, et al. Media gateway control protocol (MGCP), Version 1.0[R]. RFC 2705.1999.

[14] ROSENBERG J, SCHULZRINNE H, CAMARILLO G, et al. SIP: Session initiation protocol[S]. RFC 3261. 2002.

[15] JSR32-JSIP API specification v1.2, Final release [S]. JCP. 2006.

[16] JSR116- SIP servlet API, Version 1.0 [S]. JCP. 2003.

[17] JSR289-SIP servlet specification v1.1, Final release [S]. JCP. 2008.

[18] JSR309-Java media server control [S]. JCP. 2008.

[19] JSR22-JAIN SLEE 1.0 specification, Final release [S]. JCP. 2004.

[20] ETSI ES 201 915-1 V1.1.1. Open service access; Application programming interface. Part 1-Part 12[S]. 2001.

[21] Parlay APIs 4.0: ParlayX Webservices[R]. White Paper. Parlay Group, 2002.

收稿日期:2008-12-11

杨勇,毕业于东南大学,现工作于入中兴通讯股份有限公司。研究方向包括多媒体图像、视频处理技术、增值业务平台等,先后从事智能网以及Parlay/ParlayX网关的研发工作。已发表论文多篇。学。现任中兴通讯股份有限公司高级工程师,主要从事UMTS、LTE等无线通信系统的前沿技术研究工作。已发表论文5篇,提交专利2篇。

贾霞,硕士毕业于大连理工大学,现工作于中兴通讯股份有限公司,负责下一代业务网络预研。先后从事固定智能网业务、宽带业务、IMS业务等开发和设计工作,研究方向为业务网络,SDP、SOA、业务引擎、移动互联网。已发表过业务网络演进相关文章多篇。

董振江,硕士毕业于哈尔滨工业大学,现工作于中兴通讯股份有限公司。先后从事交换机和智能网等开发、设计和规划等工作,研究方向为SDP、P2P、业务引擎、3G业务和ICT等。参与和负责过多项国家发改委的技术课题,已发表过多篇增值业务相关文章。