Linux IP 语音准备就绪了吗?

作者:Machtelt Garrels

什么是真正的 IP 语音?您需要什么才能使用 IP 语音?您是什么意思,我无法给我女朋友打电话?关于开放和专有协议的嗡嗡声是怎么回事?我可以启动自己的电信服务吗?本文解答了这些问题,并比较了最流行的 Linux 应用程序,用于通话和会议。

什么是关于 IP 语音的?

互联网或数字电话,或 IP 语音,通常缩写为 VoIP,允许各方通过网络交换语音数据流。最大的区别在于,VoIP 的数据通过通用网络(互联网)传输,而传统电话使用专用的语音传输线路网络。

在特殊情况下,VoIP 网络可以与传统电话网络连接。然而,在撰写本文时,这当然不是标准做法。换句话说,您很可能无法呼叫使用传统电话的人。尽管目前有各种应用程序可用,包括免费和专有的,但通过互联网进行电话通话存在一些主要的缺点。最明显的是,系统不可靠,速度可能很慢,或者连接上可能有很多噪音。因此,它不能用于取代传统电话。想想紧急呼叫,例如。尽管一些提供商采取了一些预防措施,但无法保证您能够联系到您想呼叫的一方。这种情况更加糟糕,因为在 VoIP 中,对于分配号码尚未达成标准,就像我们为分配和识别传统座机和手机号码而制定的 E.164 标准一样。

即使 VoIP 和传统电话网络之间存在某种形式的集成,这仍然与移动网络不同。主要问题是无线网络覆盖不如蜂窝网络覆盖那么完善。此外,还存在从手机访问互联网的成本问题。对我来说,这将相当于每 100K 流量 0.50 欧元(+/- 0.60 美元)。第三代电话网络中 VoIP 的集成可能会缓解这些问题。

您还应该意识到 VoIP 中没有加密。因此,任何人都可以很容易地窃听对话。

底线是,尽管 VoIP 很有用,但它(尚未)不能替代座机电话。

让我们看看您需要什么才能启动并运行 VoIP。

服务器端

首先,您需要一个提供该服务的提供商。一些流行的提供商免费提供该服务,而另一些则需要订阅费。免费服务提供商包括:SIPphone、Skype、SIP Broker 和 Google。

然而,大多数免费服务不允许您连接到传统电话网络。这种所谓的全电话服务通常不是免费的。最流行的全电话服务提供商包括:Vonage、Lingo、AOL TotalTalk 和 SIPphone。

这些列表当然并不详尽,因为新的本地和全球提供商几乎每天都在加入这个行列。此外,许多中小企业目前正在为公司内部使用建立 VoIP 网络。如果您想建立自己的 VoIP 网络,您可能需要研究 Asterisk 服务器软件或 sipX,它们是开源 PBX 实现。

或者,如果您只想使用软电话,即您计算机的音频系统(扬声器和麦克风或耳机)和配套软件,请查看 Ekiga(以前称为 GnomeMeeting),正如 2006 年 1 月 8 日在 GnomeMeeting 博客中宣布的那样。尽管 Ekiga 支持各种硬件,但它通常设置为支持在软件级别实现的(视频)会议功能。与 sipX 和 Asterisk 一样,它是开源软件。

注意:PBX 代表专用分组交换机,该系统集中管理企业的所有电话机。

Is Linux Voice over IP Ready?

图 1. 典型的 VoIP 解决方案(图片由 BroadVoice 提供)

客户端

根据您的网络架构,某些应用程序可能比其他应用程序工作得更好,这取决于它们使用的协议。大多数基于标准的解决方案使用 H.323 或会话发起协议 (SIP)。除了这两种标准之外,还有许多专有协议,例如 Skype(来自同名公司)和 Cisco 的 SCCP。它们之间的主要区别在于,SIP 将客户端 IP 地址存储在其数据包中,当您位于防火墙后面时会导致困难。

Microsoft NetMeeting 和 GnomeMeeting 使用 H.323;Microsoft 的 Messenger 和 Apple 的 iChat 以及 SIPphone 使用 SIP。服务器软件通常实现几种不同的协议。

除了您的网络架构之外,可用带宽也可能是一个限制因素,因为某些应用程序针对低带宽进行了优化,而另一些应用程序则期望在宽带连接上运行。这取决于 VoIP 系统用于处理声音的编解码器。

就客户端硬件而言,请使用耳机。尽管您的 PC,尤其是笔记本电脑,可能内置了麦克风和扬声器,但使用耳机会让您更舒适,因为它会抑制来自您环境的回声和噪音。如果可以选择,请选择 USB 耳机。USB 耳机是您系统的独立音频设备。它独立于现有的音频硬件运行,因此避免了 VoIP 和正常声音处理之间可能发生的任何冲突。

如果您使用的应用程序提供这些功能,您可以根据需要重定向音频流。例如,您可以让用于提醒您有来电的铃声通过普通扬声器发出。当您接听电话时,呼叫方的声音将被重定向到您的耳机。

您的声音系统

在尝试 VoIP 应用程序之前,您可能需要进行一些试错才能找到适合您的设置。在开始之前,请确保您可以录制和播放自己的声音样本,因为 VoIP 程序也将使用您硬件的录音功能。在您的发行版附带的音量控制应用程序中激活它。

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 软件包。

入门 — 注册:该应用程序在菜单中显示为视频会议。我们第一次使用它时遇到了 GConf 错误。GnomeMeeting FAQ 中描述了该问题的解决方案。一旦我们解决了这个问题,我们就可以开始使用首次配置向导。

您可以在常规 GnomeMeeting 用户目录(中央服务器上的电话簿)中注册,也可以跳过此步骤。我的音频设备被自动识别,并且很容易选择耳机。您不需要知道硬件的设备名称。对于初学者来说,不必担心 /dev/dsp1 和那些名称,这真是太好了。如图 2 所示,所有适用的设备都可以从列表中整齐地选择。

Is Linux Voice over IP Ready?

图 2. GnomeMeeting — 配置

据推测,您的机器需要配置为 LDAP 客户端(轻型目录访问协议,或 MS Windows 上的 Active Directory),才能联系到中央 GnomeMeeting 目录。如果没有,您需要知道您想呼叫的人的主机名或主机 IP 地址和用户名。如果您不使用 LDAP,当您尝试呼叫某人时,您将收到错误消息,即使您可以成功拨打电话。

Is Linux Voice over IP Ready?

图 3. GnomeMeeting — 界面

印象:起初连接上有很多噪音,即使呼叫同一子网中的另一台主机也是如此,但我们可以通过调整音量来最大限度地减少噪音。有一个静音按钮,用于暂停和恢复音频传输。幸运的是,帮助文件中很好地记录了用于联系他人的 URL 系统。应用程序本身并没有使其易于使用。

KPhone

使用您最喜欢的系统工具下载,例如 Ubuntu 上的 Synaptics。

安装:软件包管理器为您完成安装。您也可以下载 RPM 软件包并使用您发行版的工具安装它们。安装完成后,KPhone 选择会出现在应用程序菜单中。

Is Linux Voice over IP Ready?

图 4. KPhone — 极简界面

入门:您自己的地址显示在小 KPhone 窗口中,这使得与其他用户交换地址变得容易。它也可以作为与其他用户连接的示例。

此应用程序中的电话簿易于使用。在最基本的情况下,只需让其他人呼叫您,已接收和未接来电的呼叫者 ID 将自动显示在电话簿中。

Is Linux Voice over IP Ready?

图 5. KPhone — 接受呼叫

印象:KPhone 具有非常简洁的界面,这使其易于使用和配置程序。

有一次,在尝试配置 KPhone 以使用我的 USB 耳机而不是笔记本电脑上的内置扬声器和麦克风时,我显然配置了错误的音频设备。没有可供选择音频设备的列表;这相当令人沮丧。KPhone 也崩溃了几次,即使它之前工作正常。我无法让我的 USB 耳机工作。诚然,我没有使用最新版本。据报道,在撰写本文时,需要在许多系统上从源代码编译的较新版本工作得更好,并且声音质量大大提高。KPhone 在最新版本中已经成熟了很多,并且随着二进制软件包的可用,可能会比现在更受欢迎。

Skype

从 Skype 站点下载(请参阅在线资源);软件包适用于 SUSE、Fedora、Mandriva 和 Debian。

安装:我直接在系统安装程序中打开了下载的文件。安装完成后,它会出现在 GNOME 的“互联网”菜单中。

Is Linux Voice over IP Ready?

图 6. Skype — 连接已建立

入门 — 注册:从客户端内部注册。选择用户名和密码。如果您希望以后收到密码提醒,请输入您的电子邮件地址。在联系人列表中,选择或搜索您要呼叫的人。您可以请求在对方在线时收到通知。

Is Linux Voice over IP Ready?

图 7. Skype — 联系人列表

印象:Skype 可以按姓名、城市和国家/地区轻松搜索。当您启动它时,您将看到未接来电列表和当前在线的联系人,这非常方便。

Skype 可以配置为使用 PC 扬声器进行来电提醒,并使用耳机进行实际通信。

Is Linux Voice over IP Ready?

图 8. Skype — 通话列表

在通话列表中,联系人可以按姓名显示,或者您可以按来电、去电和未接来电排序。

缺点是,该应用程序似乎不是很干净。过了一段时间后,我无法再登录,结果发现我的计算机上同时运行了五个 Skype 实例,即使我使用了按钮和菜单来退出 Skype。此外,它在 Linux 上似乎不是很稳定。我遇到了似乎是远程声音问题,但问题是本地的,可以通过停止并重新启动 Skype 来解决。

X-Lite

从 CounterPath 网站下载(请参阅资源)。

安装:将存档解压缩到您主目录中的文件夹;默认名称为 xten-lite。在此文件夹中,您将找到可执行文件 xtensoftphone。

入门 — 注册:右键单击启动时出现的软电话图像。这将启动音频调谐向导,您可以在其中选择音频设备。使用耳机时选择 /dev/dsp1。根据您的需要调整扬声器音量和语音录音音量。

您可以在 support.xten.net 注册以加入 CounterPath 社区,或者您的系统管理员可能已经设置了专用服务。我使用 X-Lite 界面在工作中测试 Asterisk 服务。在这两种情况下,您都需要提供登录名和密码,您可以从 CounterPath 网站上的注册或从您的管理员处获得。

Is Linux Voice over IP Ready?

图 9. X-Lite 控件

印象:X-Lite 是此列表上唯一一个真正试图看起来像手机的应用程序。您可以根据需要选择编解码器。例如,当您处于电话会议中时,选择 GSM 编解码器以获得低带宽使用率。当您进行一对一通话且带宽不是问题时,选择 g711a 或 g711u 编解码器。

Is Linux Voice over IP Ready?

图 10. 通话中的 X-Lite

比较

在表 1 中,比较了四个应用程序的几个方面。为了便于阅读,功能仅限于影响电话功能的功能。所有应用程序都有更多功能。我只列出应用程序之间不同的功能。

表 1. 比较

 GnomeMeetingKPhoneSkypeX-Lite
维护者Damien SandrasWirlab 研究中心Skype Technologies S.A.CounterPath Solutions, Inc.
许可证GPLGPL专有免费软件专有免费软件
平台GNOME, KDELinux (Qt)MS Windows, Linux, BSD, Mac (Qt)MS Windows, Pocket PC, Mac, Linux
协议H.323, SIPSIP专有SIP
防火墙/代理后可能可能可能
PC 到电话通话可能非免费非免费
视频会议有限在 Pro 版本中(非免费)
评分(1-10)9878
结论

总的来说,体验非常积极。尽管开源程序 KPhone 和 GnomeMeeting 在使用上稍微困难一些,因为您需要了解 URL 等,但更容易获得关于您确切需要的文档,并直接从程序制造商那里获得该文档,而不必满足于一般的帮助页面和来自用户的一些模糊的抱怨或提示。

对于 Skype 和 X-Lite,您需要连接到服务器。GnomeMeeting 和 KPhone 的优点在于,即使您未在服务器上注册(无论是您在自己的网络上设置的服务器还是外部服务器),您也可以直接从客户端到客户端使用它们。也许我有点偏执,但我不信任 Skype。该公司表示其服务将保持免费,但对其软件只字未提。由于它使用专有的、文档记录不完善的协议,我担心供应商锁定。目前,我将坚持使用 GnomeMeeting。为什么?它从我的第一次尝试就起作用了,它很稳定,它完成了它承诺做的一切,而且它是比利时的,就像我一样。

本文的资源: /article/8887

Machtelt Garrels 出版了两本 Linux 初学者书籍,这些书籍也可作为 Linux 文档项目 (LDP) 合集中的指南。目前,她在比利时铁路公司的 UNIX 能力中心担任自由职业者,并在 Linux Professional Institute (LPI) 兼职担任翻译和供应商协调员。她的业余时间都花在——别笑——为朋友和家人编织和缝纫上,因为你不能一辈子坐在电脑前。

加载 Disqus 评论