利用开源VoIP技术建设NGN业务平台的应用研究

2012-06-27 05:59汪少敏钟青峰
电信科学 2012年9期
关键词:开源运营商部署

夏 雷,汪少敏,钟青峰

(中国电信股份有限公司上海研究院 上海200122)

1 引言

随着VoIP和NGN的快速发展,开源VoIP平台解决方案已成为业界不可忽视的重要力量。开源平台技术以其独特的低成本性、高可用性、灵活性和开放性等优势获得越来越多企业的青睐,众多公司都采用开源技术部署自己的VoIP平台。目前,业界处于领先地位的开源VoIP平台包 括 Asterisk、sipX、PBX4Linux、YATE。 其 中 ,Asterisk 和sipX表现最为出色。Asterisk是最早的开源VoIP平台,目前在开源VoIP平台的市场份额占有率最高,占绝对的主导地位,其技术也最为成熟。sipX是业界第一个采用分布式纯 SIP(session initiation protocol,会话发起协议)构架的企业级IP PBX(private branch exchange,用户级交换机)系统,在SIP的支持完善性和与其他SIP设备的互通性方面广受业界好评。

电信运营商具有众多的业务平台,仅中国电信集团公司(以下简称中国电信)的各种业务平台不下上百个,并且随着新业务的拓展,有不断增加的趋势。这造成了电信运营商硬件、软件投资和维护升级成本居高不下,在一定程度上制约了电信增值业务的运营和投入。另外,新业务的开发和功能升级完全依赖于商用软件的提供商,系统开放性差,开发流程长,制约了新业务的开发和部署。因此,在NGN中部署经济、灵活的业务平台,是运营商关注的一项重要课题。开源VoIP平台低成本性、高可用性、开放性的特点,为运营商在NGN中部署业务平台提供了一个非常有优势的方向。

本文在全面分析开源VoIP平台解决方案的基础上,结合电信运营商业务平台的现状,深入研究了开源技术在电信运营商业务平台建设中的应用,提出了利用开源VoIP技术构建NGN业务平台的架构,给出了一个实现范例,评估了利用开源VoIP技术构建NGN业务平台的可用性和优势。

2 开源VoIP平台解决方案

Asterisk和sipX是目前业界最为流行的两大开源解决方案。相比商业软件,开源VoIP平台解决方案对于电信运营商有如下优势。

(1)建设成本低

开源VoIP平台解决方案采用 “开源软件”+“x86服务器”的方式实现,这样避免了传统部署方式中的软件成本,同时也避免了业务发展过程中的软件升级成本。所以,电信运营商采用开源VoIP解决方案,大大减少了业务平台部署的成本。

(2)可复制性高

由于运营商业务平台繁多,为了缩小部署周期和部署成本,业务平台应满足可复制的需求。然而,传统业务平台不具备开放接口,可复制性差。开源VoIP平台接口开放,不仅能快速接入网络,还能灵活地部署各种业务组件,能很好地满足可复制性需求。

(3)业务部署快速

NGN的一大特点是便于新业务的快速开发部署。目前电信运营商新业务的开发部署一方面依赖于提供商,周期无法有效控制;另一方面提供商的平台千差万别,对接联调工作量大,也增加了部署周期。开源VoIP平台能很好地解决此问题,开源平台不依赖于提供商部署,开发周期可控,另外,开源软件的接口开放,业务组件灵活,能快速接入网络。所以,采用开源VoIP平台解决方案,能实现电信业务的快速部署。

(4)功能齐全

目前,业务流行的开源VoIP平台功能相当齐全,例如,Asterisk支持 SIP、H.323、MGCP 等多种协议,能实现的业务功能有电话会议、IVR(interactive voice response,交互话音应答)、ACD (automatic call distributor,自动呼叫分配)、CDR(call detail record,呼叫详细记录)、三方通话、电话转接等[1]。另外,开源技术源代码的开放性将其软件的缺陷和不足暴露无遗,开源社区成千上万的开发者不仅能及时修补bug以保证系统的稳定性,而且积极追踪业务最新的技术和业务,在短时间内实现相关功能,这保证了开源VoIP平台的功能最优。

2.1 Asterisk

Asterisk是一款由Digium公司开发的开源VoIP平台软件,它运行在Linux操作系统上,具有多协议、多种媒体通信、多种业务功能、可编程接口丰富的特点,是目前最为成熟的开源VoIP平台。其最大优势在于功能齐全和开放性好。Asterisk不仅支持VoIP,也支持传统的模拟电话线路和数字电话线路,还支持更为前沿的视频通信。Asterisk有很好的开放性。不同于大多数的通信设备,它担任的是一个中间件的功能,提供丰富灵活的API(application programming interface,应用程序编程接口),连接底层的通信技术和上层的业务应用。目前,Asterisk有近200个应用,90个 AMI (Asterisk management interface,Asterisk管理接口),48 个 AGI (Asterisk gateway interface,Asterisk 网关接口)命令[2],并不断更新优化。这意味着任何用户不用软件成本,只需要x86架构的服务器,即可根据需要快速开发出业务功能,从而部署一个专业的VoIP话音平台。

Asterisk具有清晰的组织架构和模块化设计,由6个内部核心模块和4个外围可加载API模块组成,如图1所示。6个内部核心模块为:编解码转换模块、调度和I/O管理模块、应用调用模块、CDR模块、PBX交换核心模块、动态模块加载器。4个API模块包括:Asterisk通道API,它处理呼叫的连接类型和低层的连接类型等细节;编解码转换模块,它支持不同的音视频编解码格式,使得Asterisk内核可以处理各种编码的话音;文件格式 API,它处理读写文件系统存储的不同文件格式,使得Asterisk可以读取不同格式的话音文件;Asterisk应用API,它允许调用任务模块以实现不同的业务功能,允许第三方开发应用程序[3]。4组API使得Asterisk具有很强的韧性,对新增通道、文件格式和编解码非常方便。通过这些接口,开发人员可以在通信呼叫的任意阶段与Asterisk进行交互,并可以编写全新的通信应用程序。

Asterisk的发展始于1999年,是目前最早的VoIP开源项目,也是业界最为流行的VoIP平台开源解决方案,市场占有率远远高于其他开源方案。其技术细节、功能需求、模块能力、架构设计等方面都相当成熟,在技术和市场方面都具有很大优势。

2.2 sipX

sipX是由Pingtel公司开发的一款IP PBX开源软件。它的前身是该公司的商业产品sipXchange。2004年,在看到VoIP开源市场的潜力和Asterisk所取得的影响力后,创建了SIPfoundry开发社区,将核心代码开源化形成了sipX。sipX的特点在于纯SIP的架构和分布式模块。呼叫控制协议方面,sipX只支持SIP,这与Asterisk支持多协议有很大不同。sipX采用完全的分布式架构,部署在一组集群服务器上,每个服务器为一个独立的软件进程,运行在Linux环境下。这保证了整个系统的处理能力和高可靠性。sipX开源平台解决方案包括3种服务器:配置服务器、通信服务器和特征服务器。配置服务器负责Web方面的配置管理和业务操作,采用即插即用方式配置管理其他服务器模块、外围网关和电话终端。通信服务器通过SIP与其他服务器或外围设备进行交互,负责呼叫控制和通信处理。特征服务器在通信服务器控制下,实现特定的业务逻辑。

sipX虽然进入开源社区比较晚,参与人数也远不如Asterisk,但由于Pingtel公司投入大量人力保持其与商业产品sipXchange内核一致,发展规模也很快,慢慢缩小了与Asterisk的差距。然而,无论在应用规模还是研究人数方面,sipX都远远不及Asterisk。

3 现有运营商建设NGN业务平台的不足

NGN是一个基于IP的全新通信网络,提供了一个开放式的体系架构,便于新业务的快速开发和部署。不断增长的用户需求,要求运营商在NGN业务平台上可以快速、方便、灵活、经济有效地生成和实现各种新业务,从而快速响应市场,提升业务竞争能力。目前,话音业务平台的建设大多采用DSP或者服务器+购置软件的方式实现,这种方式需要电信运营商向商业提供商购买成套的硬件和软件设备或者仅购买软件部分。这种方式存在以下几点不足。

(1)建设和维护成本较高

运营商需要向提供商购买硬件和软件,在后续过程中,还有相应的License成本和软件升级成本。电信运营商业务系统繁多,业务平台数目大,以中国电信为例,全国范围内的业务平台不下上百个。所以,业务平台的建设和维护成本一直居高不下。

(2)新业务部署周期较长

由于现有的建设方式主要依赖于提供商,平台不一定能满足灵活、开放的要求,很多业务平台并不具有对外开放的可编程接口。所以,若要在业务平台上部署新业务,要依赖于厂商的开发,这往往造成了新业务部署周期较长的问题。

(3)平台可复制性不高

现有建设方式中,每个业务平台根据具体的业务需求,具有不同的功能,可复制性不高。另外,运营商为了不和某一个提供商形成强依赖关系,也尽量避免全网使用同一个提供商的产品,造成了业务平台建设中难以复制、接入网络时联调对接工作量大的问题。

综上所述,现有NGN业务平台的建设方式存在建设维护成本较高、新业务部署周期较长、可复制性不高的问题。这些不足之处恰恰与NGN快速、方便、灵活、经济有效地部署新业务的要求相违背,一定程度上制约了运营商的业务发展和竞争能力。为此,有必要认真考虑利用开源技术构建NGN业务平台的可能性和实用性,因为这将是一种更加节省成本、更加高效的、新的建设方式。

4 开源VoIP技术在NGN业务平台建设中的应用研究

业界流行的开源VoIP软件功能齐全、接口开放、部署灵活,提供详细的通话话单(CDR),这使得它能很好地和网络中的运营支撑系统对接融合,从而成为NGN的业务平台。利用开源技术构建NGN业务平台,成本低廉、可复制性高、业务部署快速、功能齐全,能很好地解决传统建设方式的不足,是建设NGN业务平台一个很好的发展趋势。本节将深入探讨利用开源技术构建NGN业务平台的架构,提供了一个具体实例,并通过性能分析来验证利用开源技术建设NGN业务平台的有效性和通用性。

4.1 利用开源技术构建NGN业务平台的架构

NGN分为传统的软交换网络以及演进后的IMS网络。这两种网络在功能实体和接口的标准化程度上有所区别。

利用开源技术构建软交换网络中的业务平台的架构如图2所示。开源VoIP软件部署在x86服务器上,构成NGN业务平台,图中展示了开源服务器在整个网络中的位置以及它和软交换网络其他网元是如何连接的。开源服务器在整个软交换网络中处于应用层,充当业务平台的角色,通过和软交换设备互通接入网络,根据业务需要,开源服务器可能需要和网络中的运营支撑系统互通,如计费、IT、短信网关等。另外,主流开源VoIP软件都带有图形化的维护管理系统,可以远程维护管理。开源服务器和软交换通过SIP互通;和运营支撑系统通过专用IP网络连接,具体互通是通过运营支撑系统的对外接口,由于开源软件本身的灵活性,对外部接口的支持较容易。远程的维护管理终端可以是一台普通PC,通过Web登录的方式连接开源服务器进行维护管理。

IMS网络是软交换网络的演进,有更好的标准接口,这使得在IMS网络中部署基于开源VoIP技术的业务平台更加容易,可复制性更高。利用开源VoIP技术构建的IMS网络中业务平台的架构如图3所示。图3中IMS核心网部分是通用的标准结构,开源服务器在应用层充当业务服务器。开源服务器和核心网中的CSCF(call session control function,呼叫会话控制功能)、HSS(home subscriber server,归属位置寄存器)和计费功能实体相连接。由于IMS网络中各功能实体间用标准的接口互通,所以作为业务平台,开源服务器通过标准的Rf/Ro(应用服务器与计费采集功能/在线计费系统之间的接口)、Sh(应用服务器与CSCF之间的接口)和SIP分别与计费功能实体、HSS和CSCF互通。

4.2 实现范例

本节将介绍利用开源VoIP技术在软交换网络部署一个简单放音平台的例子。实现拨打某接入码后,听到一段放音的功能,例子中利用Asterisk部署此业务平台。部署此业务平台主要有两部分的工作:将开源服务器接入软交换核心网;实现业务逻辑。根据上述利用开源技术构建软交换网络中业务平台的架构,开源服务器通过SIP中继和软交换设备互通实现核心网络接入。通过编写拨号计划实现业务逻辑,拨号计划可以用Asterisk特有的语法编写,也可以通过AGI调用外部脚本,外部脚本可以使用PHP、Python、Perl、Java等语言编写。Asterisk有 40多个配置文件,开发人员通过修改Asterisk的配置文件实现Asterisk的功能、网络接入等,配置SIP中继主要是修改sip.conf配置文件,拨号计划的编写主要是修改extensions.conf配置文件。

4.2.1 配置SIP中继

要使Asterisk服务器和软交换设备互通,需要分别在Asterisk和软交换设备上配置SIP中继。

Asterisk的所有SIP配置都在sip.conf文件中,用Asterisk特有的语法写成。所以,需要在Asterisk服务器上的sip.conf文件中增加如下3部分内容。

(1)注册信息

如 :register=12345678@xx.xx.xx.xx,12345678@xx.xx.xx.xx为Asterisk服务器注册到软交换的名称,12345678为平台的接入码,xx.xx.xx.xx为软交换的IP地址。

(2)SIP 中继信息

包括中继名称、软交换的IP地址、接入类型、用户上下文名称、支持的编解码方式等配置。示例如下:

[SoftX]

host=xx.xx.xx.xx

type=friend

context=from-trunk

allow=alaw

allow=GSM

insecure=port,invite

canreinvite=yes

dtmfmode=rfc2833

(3)用户上下文信息

包括用户上下文名称、接入类型、支持的编解码方式等配置。示例如下:

[from-trunk]

type=friend

context=from-trunk

allow=alaw

allow=GSM

insecure=port,invite

canreinvite=yes

dtmfmode=rfc2833

在软交换设备侧,需要为Asterisk平台配置接入码,相关配置和配置其他接入码相同,不再赘述。

SIP中继配置完成后,保证了Asterisk服务器接入了软交换网络,承担话音业务平台的功能。拨打接入码的所有呼叫将路由至Asterisk服务器,从而实现后续的业务功能。

4.2.2 拨号方案

SIP中继的配置仅完成了呼叫的接入,后续的业务功能需要在Asterisk服务器上配置拨号计划。拨号计划在extensions.conf配置文件中。拨号方案由4部分组成:用户上下文、扩展、优先级和应用。拨号方案按用户上下文分成不同的段,每个用户上下文有成组的扩展。扩展相当于Asterisk要遵循的执行脚本,由一个具体的呼叫触发。一个完整的扩展有3个要素:扩展名、优先级、应用。格式为:exten=>扩展名,优先级,应用。例如:exten=>123,1,Answer()。为了实现该例子中的放音平台功能,需要编写名为from-trunk的用户上下文。上下文中包含3条扩展:exten=>s,1,Answer();exten=>s,2,Playback(custom/notice);exten=>s,3,Hangup()。扩展名s表示所有来电都执行该条扩展。custom/notice为放音文件,默认路径为:var/lib/asterisk/sound/。该拨号方案实现的业务流程如图4所示。

4.3 性能分析

开源VoIP软件可以部署在任何x86架构的服务器上,但考虑到作为业务平台的可靠性和稳定性,对服务器的性能有一定要求,具体要求和平台要支持的并发路数和服务器要实现的功能相关。其中,编解码转换、编解码方式是比较占服务器资源的功能。所以,为了达到既保证平台的可靠性和稳定性,又降低对服务器性能要求的目的,可以采用服务器集群的方式。将平台功能分布到几个服务器上,一个或多个核心单元专门负责呼叫处理;另一个或几个冗余的服务器管理外围设备,如数据库、话音信箱、会议、管理、Web界面、防火墙等。

表1 传统业务平台和开源VoIP平台的区别

利用开源VoIP技术建设NGN业务平台,是采用开源纯软件的方式替代了传统的DSP或者服务器加定制软件的方式,和传统提供商部署的业务平台有很多区别,具体区别见表1。

从表1中可以看出,利用开源VoIP技术建设NGN业务平台可用性和可复制性高,相对于传统业务平台有明显优势,可节省部署成本和升级成本,开放性好,功能齐全。

5 结束语

目前NGN业务平台的建设存在建设维护成本较高、新业务部署周期较长、可复制性不高的问题。开源VoIP解决方案具有价格低廉、开放性好、部署灵活、功能齐全的特点,通过利用开源VoIP技术建设NGN业务平台可以很好地解决传统建设方式不足。本文分析了开源VoIP平台解决方案,结合电信运营商NGN业务平台的现状,深入研究了开源VoIP技术在电信运营商业务平台建设中的应用,验证了利用开源VoIP技术建设NGN业务平台的可用性和有利优势。

1 汤秀娟.Asterisk系统及其应用分析.中国科技论文在线精品论文,2008,1(12)

2 芦伟,曾文华.开源交换机Asterisk的应用.计算机应用,2007(2)

3 Meggelen J V,Smith J,Madsen L.Asterisk:the Future of Telephony.USA:O'Reilly Media,2005

猜你喜欢
开源运营商部署
一种基于Kubernetes的Web应用部署与配置系统
晋城:安排部署 统防统治
部署
五毛钱能买多少头牛
2019开源杰出贡献奖
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
部署“萨德”意欲何为?
取消“漫游费”只能等运营商“良心发现”?
第一章 在腐败火上烤的三大运营商