首页>>厂商>>交换机/ACD系统平台厂商>>杭州迈可行

通信软件开源之路

2004/03/31

何为"开源软件"

  自Linus Torvalds创建Linux以来,开源思想在软件界可谓盛极一时。那么,什么是开源呢?简单来说,"开源软件"就是源代码开放的软件。对普通用户来说,开不开源其实意义不是很大,他们更在乎收不收费,由于开源软件大多都是免费下载的,所以一提起开源软件,很多人的第一反应就是免费软件,对一般用户这么说也未尝不可。不过对于商业用户来说,开源的意义就不一样了,首先它可以减少开发周期,因为源代码开放了,只需要稍做修改就可以嵌入到产品中去;其次,它可以降低成本,免费午餐不一定就不好吃(也有些开源软件需要收费,但价格都比较低廉)。

  由于开源思想源于计算机软件界,所以发展至今,计算机类开源产品的种类、数量都是很多的,使用也比较广泛。如在操作系统领域,Linux在服务器市场就占据了相当大的份额,并持续扩张,IBM公司销售的薄片式服务器中大约有75%就运行着Linux操作系统;Web方面,全球有百分之五十以上的Web服务器在使用开源的Apache系统;数据库,有针对互联网应用的轻量级数据库MySQL,也有针对大型应用的PostgreSQL,中国最大的门户网站Sina的后端数据库就采用了开源的MySQL数据库软件。其他还有各种非常流行的软件,如GNU的编辑软件Emacs、Linux的图形处理界面Xfree86、排版软件TeX等等,都获得了广泛的应用。

通信行业的开源之路
  计算机和通信在技术上,可以说是一对孪生兄弟,两者相互促进,共同发展。不过在开放性方面,通信技术和计算机技术走的是一条完全不同的道路,计算机技术走的是一条自由开放的道路,而通信始终难以脱离那种封闭发展的模式。不过,随着VOIP的发展和下一代网络(NGN)的提出,这一状况将得到较大改观,电信网也将朝着一种更为开放的方向迈进。

  由于通信网的封闭性,网络结构的复杂性,通信设备的多样性,使得通信软件难以在一个统一的平台(包括硬件平台和操作系统平台)下运行,所以迄今为止,通信行业的开源项目仍屈指可数。

下面,我们把通信类的软件简单的进行一下划分:
  1、 核心算法软件:主要是一些音频、视频的编码、解码类软件,这类软件可能采用汇编或C语言,运行在ARM和DSP等一些工业级微处理器上,操作系统为专用操作系统或RTOS(如VxWorks、pSOS等)之上。

  2、 信令协议栈软件:主要是用于设备互通、网络互连等。通信网络在不断更新、发展,通信协议也在不断的进化,这类软件运行在交换机上,操作系统可能为嵌入式系统,也可能为Unix和Windows等一些通用系统。

  3、 运营支撑软件:亦称为BOSS系统,主要是给运营商提供计费、结算、营业等功能,是运营商的核心软件。这类软件运行在普通的服务器之上,操作系统可能为Unix或NT等。

  4、 增值应用软件:主要是基于某种交换机或板卡开发的一些增值应用,如呼叫中心、电话会议等,或者是一些第三发服务提供商开发的一些电信业务软件(如目前常见的短信、彩玲、或者秘书台业务等等)。

  前两类软件由于通用性比较强,技术和标准都相对成熟、稳定,是目前通信开源项目的主要发展领域。下面,我们通过目前比较成熟的几种协议栈软件,也就是上述的第二类通信软件,来简单的描述一下开源软件在通信行业的现状。

开源的七号信令协议栈-OpenSS7
  七号信令是电信网间互连最常用的信令系统,它对电信网就像TCP/IP对互联网一样。在各种电信网结构中,都可以见到七号信令的身影。

  OpenSS7是由OpenSS7公司主导下开发的一个支持七号信令(SS7)和SIGTRAN的开源协议栈项目。该项目开始于1996年,它实现了ITU Q.700系列建议中的七号信令系统。随着VOIP和软交换的兴起,OpenSS7的焦点集中在SIGTRAN协议的实现上(SIGTRAN可以看作是SS7的NGN版本)。其实,OpenSS7其实并不仅仅局限七号信令, ISDN和软交换的一系列信令都在它的考虑范围之内。


关于OpenSS7的技术细节,请参考拙作《七号信令开源项目-OpenSS7体系结构》

  注意,OpenSS7不属于免费软件,如果需要将OpenSS7用于商业用途的话,需要向OpenSS7公司缴纳一定的许可费用。

开源的SIP协议栈-Vocal、OSIP
  SIP是由IETF提出的一套用户IP电话的通信协议,它用来建立,改变和终止基于IP网络的用户间的呼叫。该协议建立在SMTP(简单邮件传送协议)和HTTP(超文本传送协议)等协议基础之上。为了提供电话业务它还需要结合其他几种不同的标准和协议:特别是需要确保传输(RTP),与当前电话网络的信令互连,能够确保语音质量(RSVP),能够提供目录(LDAP),能够鉴权用户(RADIUS)等等。

  由于是计算机界提出的一项电话标准,因此它显露出许多计算机业界的许多特点,比如,它尽可能的大量采用现有的协议,而不是重建标准,如HTTP、LDAP、RADIUS等,都是技术成熟、应用广泛的协议标准。其次,就是它的开发较其他协议栈(如它的竞争协议H.323)难度较低,而且,相关的开源项目也比较多,如VOCAL、OSIP都是比较成熟的、可商业化的SIP协议栈。

  VOCAL (即Vovida开源通信应用程序库)它是由Vovida社区开发的一套SIP协议栈,OSIP则是由老牌开源社区GNU组织开发的一款SIP协议栈软件,下面对这两个协议栈进行一下简单的比较:

项目 VOCAL OSIP
支持平台 Win32、Linux Win32、Linux、Unix、
VxWorks、BSD
编程语言 C、C++、 Java C
Ipv6 支持 支持
RADIUS 支持 不支持
网管 SNMP SNMP
策略和QoS COPS、OSP、RSVP 不支持
MGCP网关 支持 不支持
H.323网关 支持 不支持

开源的H.323协议栈-OpenH323

  H.323和SIP一起,并成VOIP领域的两大标准。不同的是SIP是由计算机界(IETF)定义的,而H.323则由电信界(ITU)定义的。从应用上来说,SIP更适合企业应用,而H.323比较适合电信级应用。从开发的难度来说,H.323远比SIP复杂,如果要从头做起的话,其开发周期将会非常久。不过,有了OpenH323,一切都不一样了,我们完全可以在短期内做出一套电信级的VOIP系统。

  OpenH323是通信领域名气最大的一款开发源代码的通信协议栈软件,该项目是澳大利亚的Equivalence Pty Ltd 公司组织开发的,它从1998 年开始,到了2000 年底基本的H.323 协议框架已经实现,主要是免费面向所有想从事VOIP 和网络视频传输的软件开发商使用,这个协议库是完全符合H.323 协议的,能和任何符合该协议的软件进行视频和语音的通讯,例如Microsoft 的NetMeeting等。很多商业的H.323协议栈就是基于OpenH323基础开发的。

  OpenH323的优势在于它比较完整的实现了ITU 关于H.323的建议,可以实现基于IP的各种电话应用,包括语音、视频、会议以及传真等。通过该协议栈,我们很容易的就可以定制出自己需要的包括终端、网守、网关或MCU等各种H.323实体。而且,它不需要任何付费,对商业用户和个人开发者来说都具有很大的诱惑力。

  OpenH.323支持但前流行的各种平台,包括Linux、Windows和Mac OS和Unix,编程语言采用了面向对象的C++语言。关于它的具体技术细节,请参考卢政的《如何成功的运用OPENH323 来开发商业的H.323 协议栈》。

总结
  通信软件开源的目的之一就是降低通信技术的门槛,普及通信知识,让通信行业的一些核心技术能被更多的人掌握、运用,同时,也可以减少一些通信项目重复开发的投入,因此,意义非常重大。但是,目前通信行业的开源项目数量有限,能真正被人利用的更是屈指可数。因此,需要有更多的通信专用人士投身这一领域,使开源思想在通信领域也能落地生根。

相关站点:
OpenSS7:http://www.openss7.org
OpenH323:http://www.openh323.org
VOCAL:http://www.vovida.org
OSIP:http:http://www.gnu.org/software/osip

作者介绍:

陈家朋
japen@vip.sina.com

杭州迈可行公司供稿 CTI论坛编辑



相关链接:
下一代网络(NGN)的核心组件:软交换技术 2009-08-18
专业通信调度系统服务中石化华东成品油管网工程 2009-05-19
迈可行建设江西省政府应急指挥系统 2009-04-21
迈可行通信建立新的合作伙伴管理体系 2009-03-17
迈可行承建中石油呼和浩特炼油厂混合调度系统 2009-03-06

分类信息:     热点专题_开源软件_文摘   文摘   行业_电信_新闻