通信软件开源之路
自LinusTorvalds创建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年,它实现了ITUQ.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协议栈软件,下面对这两个协议栈进行一下简单的比较:
开源的H.323协议栈-OpenH323
H.323和SIP一起,并成VOIP领域的两大标准。不同的是SIP是由计算机界(IETF)定义的,而H.323则由电信界(ITU)定义的。从应用上来说,SIP更适合企业应用,而H.323比较适合电信级应用。从开发的难度来说,H.323远比SIP复杂,如果要从头做起的话,其开发周期将会非常久。不过,有了OpenH323,一切都不一样了,我们完全可以在短期内做出一套电信级的VOIP系统。
OpenH323是通信领域名气最大的一款开发源代码的通信协议栈软件,该项目是澳大利亚的EquivalencePtyLtd公司组织开发的,它从1998 年开始,到了2000 年底基本的H.323 协议框架已经实现,主要是免费面向所有想从事VOIP 和网络视频传输的软件开发商使用,这个协议库是完全符合H.323 协议的,能和任何符合该协议的软件进行视频和语音的通讯,例如Microsoft 的NetMeeting等。很多商业的H.323协议栈就是基于OpenH323基础开发的。
OpenH323的优势在于它比较完整的实现了ITU关于H.323的建议,可以实现基于IP的各种电话应用,包括语音、视频、会议以及传真等。通过该协议栈,我们很容易的就可以定制出自己需要的包括终端、网守、网关或MCU等各种H.323实体。而且,它不需要任何付费,对商业用户和个人开发者来说都具有很大的诱惑力。
OpenH.323支持但前流行的各种平台,包括Linux、Windows和MacOS和Unix,编程语言采用了面向对象的C++语言。关于它的具体技术细节,请参考卢政的《如何成功的运用OPENH323来开发商业的H.323协议栈》。
总结
通信软件开源的目的之一就是降低通信技术的门槛,普及通信知识,让通信行业的一些核心技术能被更多的人掌握、运用,同时,也可以减少一些通信项目重复开发的投入,因此,意义非常重大。但是,目前通信行业的开源项目数量有限,能真正被人利用的更是屈指可数。因此,需要有更多的通信专用人士投身这一领域,使开源思想在通信领域也能落地生根。
来源:通信世界
- 1如何建立持久HTTP连接
- 2灾难恢复:你准备好了吗?
- 3数据库体系结构
- 4微软新开发技术一瞥
- 5十大高风险安全事件处置对策
- 6MPLS VPN困于边界?
- 7RFID技术的发展历史和标准现状
- 8第四代分布式控制系统(DCS)
- 9OA系统的设置主要注意以下几点:
- 10警惕VPN应用失衡
- 11行为识别垃圾邮件
- 12百兆无线三分趋一统
- 13沈阳OA系统技术交流会等系列会议
- 14在线支付遇安全杀手 最终用户成攻击薄弱点
- 15怎样编织家中“线网”
- 16OA中实现一些基本的基本的通讯功能:聊天等
- 17信息安全风险评估有据可依
- 18计算机病毒的“罪与罚”
- 19纵论城域网
- 20为企业寻找反间谍助手
- 21信息的液态生存遐想
- 22小专题:VoIP企业级应用
- 23解析八种常见的ADSL断流现象
- 24沈阳哪家公司做OA自动化办公系统最好?
- 25预测未来的五种攻击手段
- 26路由器中的管理间距和量度参数
- 27三类数据恢复方法:灾难恢复、高可用性以及远程存储
- 28攻击企业网势头有增无减
- 29STEP BY STEP WLAN方案设计实战
- 30谈项目管理和软件测试过程(三)