cnhnln 发表于 2006-12-3 21:04:24

基于Linux的VoIP

VoIP到底是什么?需要为VoIP做哪些准备?到底有哪些开放协议和专有协议?本文将探讨这些问题,并比较了几款最流行的用于呼叫和电话会议的Linux应用软件。



在特殊情况下,VoIP网络可以与传输电话网络连接起来。不过目前,这肯定不是标准做法。换句话说,你可能没法呼叫在使用传统电话的人。虽然目前市面上有各种应用软件——包括免费软件和专有软件,但通过因特网拨打电话存在一些重大缺点。最明显的就是,系统不稳定,而且传输速度缓慢,连接线路上可能会有很大噪声。因此,无法用它取代传统电话。虽然有些服务提供商采取了一定的防范措施,但无法保证你能够接通需要呼叫的那一方。甚至情况变得更糟,因为人们还没有就分配号码的标准达成一致意见,就像我们用来分配及识别传统固定电话和移动电话号码的E.164标准那样。



即使VoIP和传统电话网络之间实现了某种集成,这对移动网络来说还是不同的。问题主要在于,无线网络的覆盖范围不如移动网络来得广泛。另外,如果通过移动电话接入因特网,还面临成本问题。对我来说,这意味着每使用100K的流量,就相当于要付0.50欧元的费用。第三代电话网络里面集成了VoIP,这有望缓解这些问题。



另外,还要注意:VoIP没有加密机制。所以,谁都很容易窃听通话内容。



因此,虽然VoIP很有用,但它无法取代固定电话(至少目前是这样)。



搭建VoIP



服务器端



有些知名的提供商免费提供服务,而有些需要订购费。免费提供服务的商家包括:SIPphone、Skype、 SIP Broker和Google。不过,大多数免费服务并不允许你与传统电话网络相连接。所谓的全套电话服务通常不是免费的。最知名的全套电话服务提供商包括:Vonage、Lingo、AOL TotalTalk和SIPphone。



当然,这里只是举了几个例子而已,因为新的本地和全球提供商几乎每天都在加入进来。另外,许多中小企业目前也在公司里面组建VoIP网络,供内部人员使用。如果想自行组建VoIP网络,可能需要考虑使用Asterisk服务器软件或者sipX,它们是采用开放源代码的PBX实现方案。



另外,如果希望只使用软电话——这意味着你的电脑要有音频系统(扬声器和麦克风或者耳机)及相关软件,不妨留意一下GnomeMeeting博客上的Ekiga(即以前的GnomeMeeting)。虽然Ekiga支持众多硬件,但通常需要经过设置,才能支持在软件层面上实现的视频会议特性。与sipX和Asterisk一样,Ekiga也是开放源代码软件。



注意:PBX代表专有小型电话交换机,该系统可以集中管理一家公司的所有电话机。



客户机端



客户机端要视网络架构而定,有些应用软件运行起来可能比其他应用软件要好,这归因于它们使用的协议。大多数基于标准的解决方案使用H.323或者会话初始化协议(SIP)。除了这两种标准外,还有许多专有协议,譬如来自Skype公司的Skype 和来自思科公司的瘦客户端控制协议(SCCP)。它们之间的主要区别在于,SIP把客户机的IP地址保存在VoIP软件包,所以如果在防火墙后面,会遇到困难。



微软NetMeeting和GnomeMeeting使用H.323,微软的Messenger、苹果公司的iChat和SIPphone则使用SIP。服务器软件通常采用几种不同的协议。



除了网络架构外,可用带宽也可能是个限制因素,因为有些应用软件针对低带宽进行了优化,而有些应用软件用于宽带连接上。这取决于VoIP系统使用哪种编解码器来处理声音。



至于客户机硬件,应使用耳机。虽然PC尤其是便携式电脑可能内置了麦克风和扬声器,但如果使用耳机,效果会好得多,因为它可以抑制来自周围环境的回声和噪声。如果可以选择,请选用USB耳机。USB耳机是与系统独立的音频设备,它在工作时独立于现有的音频硬件,所以避免了VoIP和正常的声音处理之间可能出现的任何冲突。



音频系统



在使用VoIP应用软件之前,可能还得进行一番试验,找到最适合的设置。确保在开始着手之前,能够录音及播放自己声音的采样,因为VoIP程序也会使用硬件的录音功能。可在发行版随带的音量控制程序里面激活它。



http://www2.ccw.com.cn/06/0623/b/pic/b04_2t1.jpg



Linux一般有两种声音架构:一是比较老的开放声音系统(OSS),可以与每个类似Unix的系统兼容;另一个是比较新的高级Linux声音架构(ALSA),顾名思义,它更好地支持Linux。有的应用软件支持OSS,而有的支持ALSA。如果可以选择,建议选择使用 VoIP程序里面的ALSA选项。可以在发行版的音量控制面板里面相应选择有关声音和录音音量的ALSA或者OSS设置。



四款应用软件评测



下面,根据知名度测试了四款应用软件,测试环境都基于Fedora Linux。



Ekiga即GnomeMeeting



使用来自Fedora的软件包管理器。另外,可以下载Debian、Mandrake或者Red Hat软件包。Ekiga需要pwlib、OpenH323和libavc1394软件包。



安装后,菜单上会出现名为Video Conferencing的软件。测试中,我们在头一次使用时,遇到了GConf错误。GnomeMeeting的常见问题部分介绍了解决这个问题的办法。一旦我们解决了这个问题,就可以从First Time Configuration Druid入手了。



用户可以在一般的GnomeMeeting用户目录(集中服务器上的电话簿)里面进行注册,也可以跳过这一步。音频设备会自动被识别,选择耳机也很简单。用不着知道硬件的设备名称。对初学用户来说,不必为/dev/dsp1及这些名称而操心。很容易从列表中选择所有适用设备。



为了能够联系GnomeMeeting集中目录,机器恐怕需要配置成LDAP客户机(轻型目录访问协议,或者是微软Windows上的活动目录)。要不然,需要知道主机名或者主机IP地址,还要知道想要呼叫的那些人的用户名。如果不使用LDAP,那么试图呼叫某人时,即使呼叫成功,也会收到错误信息。



起初,连接线路上噪声相当大,即使呼叫同一子段里面的另一台主机时也是这样。 不过我们只要调节音频音量,就可以尽量减小噪声。有个静音按钮可以暂停及恢复音频传输。幸好,帮助文件里面详细记述了基于URL来联系他人的方法。应用软件本身并不易于使用。



KPhone



可使用常用的系统工具如Synaptics on Ubuntu进行下载。安装完毕后,KPhone选择项会出现在应用软件的菜单上面。



该应用软件里面的电话簿使用方便。在最基本的情况下,仅仅让别人呼叫你,接到或者未接听的来电显示就会自动出现在电话簿上面。



KPhone的界面非常简洁,从而易于使用及配置程序。我们曾经一度试图对KPhone进行配置,以便使用USB 耳机而不是使用便携式电脑上的内置扬声器和麦克风,但显然配置错了音频设备。因为没有出现可以从中选择音频设备的列表,这实在让人沮丧。KPhone还让我们碰了几回壁,即使它已经可以正常使用。我们无法让USB耳机正常工作。原来,自己没有使用最新版本。据说,新版本工作起来更好、还大大改进了音质。最新版本的KPhone有了长足发展,可能会变得比原来的二进制软件包更受欢迎。



Skype



可以从Skype网站下载。提供SUSE、Fedora、Mandriva和Debian等版本的软件包。安装完成后,它会出现在GNOME的Internet菜单里面。



用户可从客户机里面进行注册。选择用户名和密码。如果希望稍后提醒密码,请输入电子邮件地址。在联系人列表里,选择或者搜寻想要呼叫的那个人。另外,还可以要求该人上线时得到提醒。



Skype很容易按姓名、所在城市和国家来搜寻。启动后,会看到未接听呼叫列表以及目前在线的联系人,这项功能相当方便。可以对Skype进行配置,以便使用PC扬声器来提醒打入呼叫、使用耳机来进行实际通话。在呼叫列表上,可以按姓名显示联系人,也可以按打入、打出或者未接听呼叫来分类。



至于缺点方面,该软件的界面似乎不是非常简洁。一段时间后,我再也无法登录上去,后来才发现有五个Skype在我的电脑上同时运行。即使我使用按钮和菜单退出Skype,也登录不上去。另外,它在Linux上使用似乎不是非常稳定。我开始还以为遇到了远程声音问题,原来是本地出现了问题,只要停止、启动Skype,就可以解决这个问题。



X-Lite



可以从CounterPath网站下载。下载后,可以把软件包解压缩到主目录的文件夹下,默认名称为xten-lite。在这个文件夹里面,可以找到可执行文件:xtensoftphone。



用鼠标右键点击启动时出现的软电话图标。这可以启动“音频调节向导”,该向导可以选择音频设备。如果使用耳机,请选择/dev/dsp1。根据需要来调节扬声器音量和语音录音音量。可以在support.xten.net注册,加入CounterPath社区。测试中,我们使用X-Lite界面来试用Asterisk服务。在这两种情况下,都需要提供登录名和密码,可以从网上CounterPath注册获得,也可以从管理员处获得。



X-Lite是这次测评中惟一实际上酷似移动电话的应用软件。可以根据自己的需要选择编解码器。譬如说,如果用于低带宽场合,或者如果参加电话会议,请选择GSM编解码器。如果参与一对一呼叫,而且带宽也不成问题,请选择g711a或者g711u编解码器。



测试比较



表1对四款应用软件的几个方面作了比较。为了便于阅读,只限于影响电话功能的特性。所有应用软件都有更多特性,这里只是列出了彼此不同的特性。

http://www2.ccw.com.cn/06/0623/b/pic/b04_2t2.jpg



总的说来,使用感觉相当好。虽然开放源代码程序:KPhone和GnomeMeeting用起来稍微困难一点,因为需要知道URL等内容,不过获得所需内容的文档说明以及直接从程序开发商获得这些文档说明比较容易,而不是只能满足于一般的求助页面或者用户提供的部分技巧。



对Skype和X-Lite而言,需要连接到服务器上。GnomeMeeting和KPhone好就好在,即使没有在服务器上进行注册,照样可以在不同的客户机上直接使用它们,不管GnomeMeeting或者KPhone是安装在自己的网络上,还是安装在外部网络上。实不相瞒,我们对Skype不太相信。该公司称,其服务将仍是免费的,但对软件却只字未提。因为它用的是专有、文档说明不够详细的协议,用户可能会被这家厂商牢牢束缚。眼下,我会坚持使用GnomeMeeting,原因何在?因为我们第一次试用,它就可以正常使用,性能也很稳定,而且还能实现它所承诺的各项功能。



(计算机世界报 2006年06月19日 第23期 B26、B27)
--


tingxx 发表于 2006-12-5 08:47:57

谢谢3n哦 :) 经常来给我们补钙:twisted:
页: [1]
查看完整版本: 基于Linux的VoIP