2003-12-16
石锋 杨放春
北京邮电大学交换技术和通信网国家重点实验室
摘 要 本文总结了传统智能网提供增值业务的模式,指出Parlay API作为开放的应用编程接口的优势。并且介绍了Parlay组织的发展,Parlay API的体系结构和接口功能,以及如何使用Parlay API屏蔽底层网络开发业务,最后举例详细说明使用Parlay Mobility API实现移动位置业务的过程。
关键词 Parlay API 移动位置业务 开放式业务平台 智能网 下一代网络NGN
一、引言
新一代的电信网由传统电信网向IP电信网转换,它将在总结传统电信网经验的基础上,借助Internet的成功经验而完成。这种电信网是以IP技术为基础的开放平台,并将对电信网的运营带来新的业务,有巨大的市场空间。现有的IP网已被普遍用来承载电话业务、数据业务、会议电视。这一趋势标志着未来的电信网是业务驱动的网络,而开放式的业务接口则是在新一代电信网中快速提供丰富业务的基础。
二、开放式业务接口
1.与传统智能网的比较
智能网是传统的电信增值业务提供方式,它通过SCP控制SSP的方式来提供增值业务,SCP和SSP之间通过INAP协议进行交互。虽然经过多年的发展,智能网技术已经非常成熟,而且广泛应用于各种呼叫卡业务,但是智能网本身还是具有其设计当初就带有的缺陷。这些缺陷主要体现在其业务开发和提供方式不够灵活,一项新业务的提出到实现的时间虽然比直接在交换机上提供业务已经大大缩短,但是其业务生成还是依赖于智能网设备提供商,而且其业务主要针对的是大众市场,很少针对企业用户和个人用户。
2.开放式业务接口的优势
与传统智能网相对封闭的缺陷相比,使用开放的应用编程接口为业务提供商方便快捷地开发业务提供了可能,它可以根据网络的能力,向用户提供更为丰富的业务。开放式应用编程接口的目的和意义在于:将业务开发接口公共化、抽象化,使得第三方开发商也能够加入通信增值业务的开发者行列;并且屏蔽下层网络的具体协议,使得第三方开发商不需要太多的专门协议知识;最终达到快速、廉价开发和部署新业务的目的。
新一代可编程业务接口技术的开放性主要体现在两点:一是业务可扩充性。传统的电信网络上,接入控制、媒体传输控制及呼叫处理、智能业务、应用业务和业务运营等是靠不同的业务平台和协议完成的。这样,电信业务就可以灵活地加以扩充。二是业务的交换性。电信业务是由模块组成,用户可以自由定义,任何业务可以通过增加模块的方式实现新的业务,这样可以产生针对不同用户的个性化业务。
3.开放式业务接口的现状
目前,使用公共、开放的业务接口体系来搭建综合业务支撑平台已经成为电信领域研究的热点之一。在业务接口规范的制定方面,比较有代表性的规范有两个:Parlay和JAIN。它们并不是由标准化组织制定的,但是正在获得越来越多的支持。尤其是Parlay组织制定的Parlay规范,目前已成为工业界最具影响力的API规范,并已得到大多数标准化研究机构和厂商的认可,很可能成为未来网络开放的标准接口。
三、Parlay 概述
Parlay接口规范体系是当前国际上最有生命力的开放式业务接口标准规范,除了具备传统开放式信令控制接口的特征外,Parlay接口主要的特征是可以用于支持外部应用安全访问网络内部资源,从而将网络智能的应用范围拓宽到包括设备提供商与传统运营商以外的众多软件开发商和业务提供商。Parlay接口将通过抽象的网络能力来打开电信网络的封闭之门,创造全新的电信业务市场和价值链。
1.Parlay Group的发展
Parlay组织成立于1998年3月,由BT、Ulticom、Microsoft、Nortel和Siemens 5家公司联合发起成立,主要研究支持外部应用访问安全网络内部资源的网络接口规范,其目的是根据下一代通信网络发展的需求,提出一系列API把底层通信网络的各种协议抽象为容易理解的一套接口,对于通信网络的开放和与Internet互通有很大作用,因此得到了业界的广泛关注,发展很快,目前其成员几乎已包括所有业内的知名企业。 Parlay组织的目标是要开放电信领域的能力,以使最大范围内的市场参与者可开发和提供先进的电信业务。为此该组织制定了一套开放的、独立于具体技术的、用于第三方业务开发和部署的API,称为Parlay API (Parlay规范)。
从在1998年12月推出了Parlay API 1.0规范到目前为止已推出到Parlay API 4.0版本。目前Parlay研究组定义的 API已得到大多数工业组织的引用。很可能成为未来网络开放的标准接口。
2.Parlay API定义的商业模型和功能
传统上,网络运营商,结合网络设备供应商,设计、开发、部署和管理运行在语音和数据上的应用。这些应用典型地适应市场需求的大规模业务如虚拟专网(VPN),800等。需求较少和生命周期较短的小规模应用由于在商业方面难以实行常常被网络运营商忽略:网络运营商不可能认为大量开发只被一小部分用户使用若干天的特定应用是合理的。
在很多种实现第三方应用供应的途径中,Parlay组织采用了开放应用编程接口(API)方法解决这个问题。API方法的强处在于通过定义一组安全的可扩展的实时接口,Parlay API在网络运营商和第三方应用供应商之间提供了一个清晰的划分。外部的或第三方公司通常是典型的最终用户、业务供应商、企业和其他的网络运营商,Parlay API为处在可信任的网络运营商空间之外的第三方应用提供了接入和控制核心网络资源的标准方法。
3.Parlay API实现业务驱动
Parlay API定义了四种商业角色,所有商业活动围绕他们展开:网络运营商、服务提供商、第三方业务提供商以及业务开发商。
采用Parlay接口来提供增值电信业务可以给运营商带来更多的业务使用者,从而提高网络访问量和使用率,获得更多的运营收入。让第三方业务开发者与提供者进入电信业务开发和提供领域可以增加运营商提供的业务种类,进一步提供运营商的竞争能力,提高用户忠诚度。
采用Parlay接口来进行增值业务开发可以进一步降低技术门槛。由于Parlay接口采用的技术是通用计算技术,未来还可能向Web Service发展,与传统智能业务使用ASN.1和INAP协议相比,现在普通的软件开发商也可以开发智能业务。另外Parlay接口设计了强大的网络访问控制功能,使业务的正确性要求大大降低,有利于更多的业务开发者;Parlay接口通过抽象的接口屏蔽了具体的底层网络细节,开发业务更为方便,真正实现业务驱动。
Parlay接口也给包括广大的ISP在内的第三方业务开发商提供了进入电信增值业务市场的机会,从而有利于大量新业务的产生,而传统的增值业务市场为少数智能网设备提供商所垄断。
四、Parlay API的体系结构
Parlay API可以看作由两大部分组成:框架(Framework)和服务(Service),如下图所示。图中框架主要提供业务接口必须的安全和管理支撑能力。服务则封装各种具体网络服务能力,向业务开发者提供网络能力的抽象视图。而应用则是使用这两种能力的客户端。
![03111545_zeG3.gif](http://static.oschina.net/uploads/img/201503/03111545_zeG3.gif)
图1
图1中的结构体现了Parlay组织所提出的一套面向未来通信市场的商业模型:框架作为网络运营商提供的一个平台,在整个商业模型中担当交易场和中间人的作用。服务提供商把呼叫控制,移动管理等基于各种底层网络的服务注册到框架上,第三方业务提供商通过框架定购这些服务,并利用这些服务提供的API接口,开发各种增值业务。
1.框架接口部分(Framework)
框架提供业务接口必需的安全认证和管理的能力,以确保业务接口的的开放性、安全性、可管理性和弹性。Parlay API 4.0版规范的框架接口包含四个基本模块(信任与安全接入模块、业务发现与注册模块、完整性管理模块以及业务合约管理模块),分别提供认证和鉴权,业务注册、订购和查找,完整性管理等功能。下面我们详细介绍这三个模块的功能划分。
(1)信任与安全接入模块
本模块提供应用和网络服务之间的初始化接入、鉴权、业务接入等一系列功能,由IpInitial、IpAuthentication和IpAccess接口组成。其中每个接口都包括应用侧和网络侧两部分,供客户应用程序和网络服务之间相互调用。
a) IpInitial接口
该接口是框架对客户应用程序提供的最初接入点,提供初始化鉴权、请求接入的功能。
b) IpAuthentication接口
该接口提供鉴权方面的功能,包括:鉴权、放弃鉴权等。处理Client和框架之间的相互认证身份。
c) IpAccess接口
该接口提供接入Parlay业务的功能,包括:获得其他框架接口的引用、签署业务使用协定、终止业务使用协定、终止接入等。接口提供一些方法使Client能检索和获得框架提供的引用,或者释放引用和终止访问等功能。
(2)业务发现与注册模块
本模块提供业务的动态查找发现和动态注册两部分功能。本模块由IpServiceDiscovery、IpServiceRegistration等接口组成。
a) IpServiceDiscovery
该接口提供对框架中所有已注册的Parlay业务的查找和发现功能。包括:列出所有业务类型、描述业务类型、选择业务等。
b) IpServiceRegistration
该接口被Parlay业务调用,完成业务注册功能。包括:注册、宣布业务可用、注销等。
(3)完整性管理模块
本模块提供对各业务以及客户应用程序的监测和管理功能 。本模块由IpFaultManager、IpHeartBeatMgmt、IpLoadManager、IpOAM等多个接口组成。
a) IpFaultManager(IpFwFaultManager)
该接口用于故障管理,应用可以要求框架测试某个服务是否可用;应用(服务)向框架报告某个服务(应用)不可用;应用(服务)向框架要求框架或者某个服务(应用)的故障统计记录等 。
b) IpHeartBeatMgmt(IpFwHeartBeatMgmt)
该接口用于心跳管理,具有启/停心跳监控或者改变心跳间隔的作用。IpHeartBeat利用同步方法调用来确定对方是否活跃。
c) IpLoadManager(IpFwLoadManager)
该接口用于负载控制,应用可以要求框架或某个服务(应用)报告负载情况;注册负载控制:负载等级改变时获得通知等。
d) IpOAM(IpFwOAM )
该接口用于相互查询系统时间等。
(4)业务合约管理模块
本模块提供应用程序和框架之间签署业务合约功能。本模块只包含了一个IpServiceAgreementManagement接口,可实现的功能包括应用选择/中止使用服务,根据应用接入的情况初始化协议,双方对协议进行签名。
2. 服务接口部分(Service)
服务部分包括各种能力集,例如呼叫控制服务(Call Control)、移动位置服务(Mobility)、帐户管理服务(Account Management)、用户交互服务(User Interaction)、终端能力管理服务(Terminal capabilities Management)、计费服务(Charging)等等。其中呼叫控制服务、用户交互服务和移动位置服务都是Parlay API提供的比较重要的能力集,使用这些API可以开发出呼叫相关和呼叫无关的业务。以下将介绍几个比较重要的服务。
(1)呼叫控制服务
Parlay API的呼叫控制服务包括普通呼叫控制服务(GCCS:General Call Control Service)、多方呼叫控制服务(MPCCS:MultiParty Call Control Service)、多媒体呼叫控制服务(MMCS:MultiMedia Call Control Service)和会议呼叫控制服务(CCCS:Conference Call Control Service)。
接口两侧分别称为应用(Application)和服务(Service),分别以IpApp-和Ip-表示。
接口包括三部分内容:应用侧的应用逻辑,是整个应用的核心处理逻辑;应用侧的回调(callback)对象,是接受服务侧对象的事件通知的回调接口;服务侧的对象,反映底层网络中的呼叫,应用逻辑通过调用这些对象的方法来干预底层网络的呼叫。
呼叫控制服务中,应用(Application)和呼叫控制服务 (Call Control Service)之间采用callback机制来通知底层网络的事件,应用侧有回调对象来接受事件报告。应用可以通过调用服务侧对象的方法来控制底层网络中的呼叫。
另外,MMCC是从MPCC继承来的,CCCS又继承了MMCC,如图2:
![03111546_qccH.gif](http://static.oschina.net/uploads/img/201503/03111546_qccH.gif)
图2
(2)用户交互服务
用户交互(UI)接口是应用程序用来与最终用户交互的接口。Parlay的用户交互服务(GUIS)由以下几个对象表示:
a) IpUIManager
提供对用户交互服务的管理能力,如创建UI、UICall,激活事件通知等;
b) IpUI
用户交互服务要向最终用户发送、收集信息,而UI对象使得应用能够不受其它服务的限制,独立完成信息交互的能力;
c) IpUICall
继承自IpUI,因此具有IpUI的所有能力,此外加强了对短消息的处理能力,可以记录、删除消息。
IpUICall与IpUI的不同在于IpUICall是与某个抽象的对象如呼叫(Call)或者呼叫腿(Call Leg)关联,而IpUI则是与某个具体的地址相关联,因此使用的方式不同。
(3)移动位置服务(Mobile Service)
移动位置服务接口提供与移动用户的位置和状态有关的服务。由以下对象组成:
a) User Location:
提供基本的地理位置服务,由IpUserLocation和IpTriggeredUserLocation 两接口组成:其中IpUserLocation提供管理功能,应用的编写者可以通过该接口得到地理位置信息;而IpTriggeredUserLocation扩展自IpUserLocation接口,可以在为止位置改变时触发位置报告。
b) User Location Camel
提供与网络有关的信息如VLR号码,蜂窝小区标识等。
c) User Location Emergency
在紧急呼叫中网络自动定位呼叫方的位置并上报相应的应用。
d) User Status
提供固话、移动或者IP电话用户的状态,可以在状态改变时触发报告。
(4)普通消息服务
应用通过该接口可以收、发、存储消息(语音邮件或电子邮件),该服务接口包含的对象如下:
a) Messaging Manager:
提供管理功能,应用可以打开信箱或者设置在新消息到来时通知。
b) Mailbox:
![03111547_cLC4.gif](http://static.oschina.net/uploads/img/201503/03111547_cLC4.gif)
图3
提供对信箱的操作如管理文件夹和消息等。Mailbox Folder:提供对文件夹的操作如打开、查询、删除消息等。(见图3)
c) Message:
提供对消息的管理如查询属性等。
(5)终端能力查询服务
为应用提供查询终端能力的途径,只有一个方法getTerminalCapabilities。
(6)帐户管理服务
为应用提供对帐户监视的方法,使得应用可以设置、取消在与计费相关的事情发生时进行事件通知;查询帐户的余额等。
(7)计费服务
用来对应用的使用计费,可能是应用的使用者被计费,也可能是其他人交费。计费会话采用串行request-response方式。由以下两对象组成:
a)Charging Manager
具有管理功能,创建计费会话
b)Charging Session
提供销售商和用户之间的交易操作,应用编写者可以通过本方法向用户进行直接和预付费的计费。
(8)数据会话控制服务
为应用提供数据会话的控制功能,由以下两部分组成:
a) Data Session Manager
管理功能,包括设置、修改、查询和取消对相关事件的通知规则;可以管理多个Data Session。
b) Data Session
提供对数据会话的控制,包括:连接、释放、监视和计费;只能被一个Data Session Manager管理。
五、使用Parlay API开发业务
使用标准的Parlay接口可以提供丰富的业务,比如多媒会议业务、语音邮箱业务,以及移动位置业务等等。第三方业务开发商还可以根据市场的需求开发出适合用户使用的各种增值业务,而且这种业务的提供可以更加迅速快捷。Parlay API在下一代网络中所处的位置,如下图:图3中,Parlay网关位于底层网络之上,负责将Parlay API映射为具体的网络协议,并且可以根据不同的网络能力为第三方业务开发商提供业务开发平台。
例如,通过Parlay 网关,应用开发人员可以使用Parlay API的Mobility能力开发基于移动网络的各种移动数据业务。下面,我们以一个具体的例子介绍如何使用Parlay Mobility API开发移动定位业务。
1.Parlay Mobility 服务类型
(1)用户位置服务(User Location)
用户位置服务(UL)提供一般的地理位置服务。UL允许应用获得固定、移动和基于IP的电话用户的地理位置和状态。使用UL功能,应用可以请求平面位置、海拔高度、终端类型(固定、移动或IP)等信息。
(2)用户位置Camel服务(User Location Camel)
用户位置Camel服务(ULC)提供了基于与网络有关的位置信息,而不是通过用户位置业务UL得到的地理相关信息。它对UL进行补充,提供与网络相关的信息。使用ULC功能,应用可以请求VLR号码、位置区域标识、全球蜂窝标识以及其他移动电话特殊位置信息。该种业务方式已经大范围使用。
(3)用户位置紧急呼叫服务(User Location Emergency)
在用户位置紧急服务(ULE)中还有一些特殊的功能来处理紧急呼叫。使用UL功能,可以得到平面位置、海拔高度等信息,而且紧急呼叫业务的用户由UserID、 NaESRD、 NaESRK 和 IMEI的组合来标识,只有当紧急呼叫业务的用户在北美地区发起紧急呼叫业务,NaESRD、 NaESRK和 IMEI 才被提供。
(4)用户状态服务(User Status)
用户状态服务(US)提供了一般的用户状态业务。US允许应用程序获得固定、移动和基于IP的电话用户的状态。如果是移动用户,应用还可以得到移动电话的状态(可达、不可达或忙)。
2.Parlay Mobility 请求方式
第三方业务开发商使用Mobility业务特征,其目的无非是获得有关用户的位置、用户所处网络、用户终端状态等信息,共有四种请求的方式。
(1)触发请求(Triggered Request)
应用可以设定触发条件,当该触发条件满足时,Mobility业务不断地报告请求的信息,直到应用发出“停止”的消息。适用的Mobility业务类型:UL、ULC和US。
(2)周期请求(Periodic Request)
应用可以设定时间间隔,Mobility业务按照该时间间隔周期性地报告请求的信息,直到应用发出“停止”的消息。适用的Mobility业务类型:UL和ULC。
(3)交互请求(Interactive Request)
Mobility业务接受到应用的请求后,立即报告请求的信息,该信息只发送一次。适用的Mobility业务类型:UL、ULC、ULE和US。
(4)预订(Subscription)
该方式只适用于ULE,应用事先预订紧急呼叫业务,即由其负责紧急呼叫。当紧急呼叫发生时,Mobility业务将相应的信息发给预订了紧急呼叫业务的应用。
3.Parlay Mobility的业务流程举例 图4就是使用Parlay Mobility API实现的移动定位业务的流程,该流程使用用户位置Camel业务(User Location Camel),并且使用周期请求方式(Periodic Request)。
![03111547_teLP.gif](http://static.oschina.net/uploads/img/201503/03111547_teLP.gif)
图4
通过上述使用Parlay Mobility API实现移动定位业务的过程,我们可以清楚看到以Parlay API为基础快速方便地实现新业务强大的优势。
六、结论
下一代网络(NGN)是业务驱动的网络,业务已经成为最强的兴奋剂,Parlay API作为通用的编程接口势必会成为开发业务必不可少的工具。本文简要介绍了Parlay技术,Parlay技术现在还处于发展阶段,可以预料,当Parlay技术成熟并市场化后,将给网络应用带来巨大的发展。