构建家用电话系统的Skype服务器
Skype的一个令人恼火的特点是,它必须在计算机上运行才能拨打和接听电话。也就是说,当您的计算机关闭时,Skype无法工作。此外,当您在日常使用的计算机上运行Skype时,如果您正在进行其他占用运行时资源的操作,Skype的性能(通话质量、可靠性等)可能会受到影响。
我的解决方案是构建一个Skype服务器,以最少的麻烦和fuss提供24/7的电话服务。通过抛弃您常用的电话公司,并使用Skype服务器重新控制您的家庭电话线路,您不仅将拥有一个几乎与以前相同功能的电话系统——实际上,在某些方面更好——您还将节省一大笔钱!就我而言,我每年节省的费用略低于700美元(今年、明年以及之后一年,等等),或者说大约节省了旧电话账单的82%。
使用插入您家现有铜质电话线路的Skype服务器意味着您可以在家中的任何地方、任何时间拿起听筒,并获得常规的拨号音。来自Skype用户或普通电话的来电都会使您家中的所有听筒响铃。基本上,您可以让Skype像普通电话线一样工作,但费用却只占很小一部分。
在构建Skype服务器时,您有三种选择:购买新计算机、构建新计算机或转换您手头方便的旧机器。本文向您展示如何从零开始构建一台新计算机来充当Skype服务器。但是,无论您选择哪条路径,配置都是相同的,本文将对此进行介绍。
Skype并非一个全有或全无的主张,因为您可以将Skype与您现有的电话系统混合搭配,并将新的与旧的并行运行。这样,您既可以安心地拥有常规座机线路,同时又能获得Skype的好处,例如免费的Skype至Skype通话,以及非常低的长途和国际通话费率。这是本文采用的方法,您应该追求的配置应类似于图1所示。保留一条常规电话线路可以巧妙地避开诸如911、411、常规传真和警报系统监控等问题(确保您保留的常规电话线路是您的家庭警报系统使用的线路)。
图1所示的设置还大大简化了您的Skype服务器的配置。实际上,使Skype的多个实例在Linux下运行以支持多条电话线路是另一篇文章的主题!
无论您是购买、全新构建还是从手头的计算机零件组装Skype服务器,您都必须首先确保您最终得到的东西将满足Skype的最低软件和硬件要求,这些要求是
Fedora Core 3(Skype也支持SUSE 9、Mandriva 10.1和Debian 3或更高版本。但是,目前Linux对Skype附加硬件的支持非常有限。就本文中使用的SkypeMate软件而言,它仅限于Fedora Core 3)。
400MHz处理器。
128MB内存。
10MB磁盘空间
OSS兼容的声音设备(或启用OSS兼容层的ALSA)。
宽带互联网连接。
请特别注意,这些是单条电话线路的最低硬件要求。如果您按比例缩放这些要求以适应您希望Skype服务器在长期内支持的电话线路数量,您就不会犯大错。您甚至可能希望为未来的扩展预留一些余地。Skype正以惊人的速度发展,每个新版本都为现有功能带来新特性和改进。所有这些新功能肯定会以增加硬件资源为代价。
对于我的Skype服务器,我决定构建一台新的机器,它在物理尺寸和功耗方面都很小(因为它一年365天、每天24小时运行)。我的Skype服务器的规格和成本如表1所示。请记住,Skype服务器不需要鼠标、键盘、显示器、CD-ROM或软盘驱动器——除了在配置时。
表1. 从零开始构建新Skype服务器的典型成本
组件 | 成本(美元) |
---|---|
IN-WIN BT610P.180BFU2 黑色钢制MicroATX计算机机箱,180W电源 | $39.99 |
BIOSTAR M7VIG400 MicroATX主板,配备AMD Duron 800移动CPU | $69.00 |
OCZ value series 512MB (2 x 256MB) 184-pin unbuffered PC 2700 DDR SDRAM | $43.75 |
10GB硬盘驱动器(二手——从旧系统回收) | 免费 |
Skype-to-Phone USB适配器(图2) | $43.90 |
Linux操作系统 | 免费 |
总成本 | $196.64 |
构建您的Skype服务器需要您从零件组装它。我不会介绍具体的细节,因为有很多在线资源可以帮助您完成这项任务;例如,在PCMechanic上有一个构建您自己的PC的分步指南。
我假设由于您是Linux Journal的读者,所以在您的Skype服务器上启动并运行Fedora Core 3是轻而易举的事。唯一需要记住的重要事项是,Skype是一个Qt应用程序(尽管它也有一个静态链接Qt的版本),并且Skype API使用D-BUS。此外,禁用屏幕保护程序(毕竟,不会有任何屏幕需要“保护”)和电源待机功能,因为这些功能可能会干扰Skype。
以下是设置Linux以与Skype配合使用的分步指南(假设您已为此目的设置了一个名为skype的Linux用户帐户)
在您的Skype服务器断电的情况下,使用USB电缆将您的Skype-to-Phone适配器插入您的服务器,并出于测试目的,将其TEL插孔连接到常规电话听筒。
启动服务器并以skype身份登录Linux。
下载并安装Linux版Skype。如果您不是从RPM安装,您将必须手动添加此文件,/etc/dbus-1/system.d/skype.conf
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> <busconfig> <!- skype.conf --> <policy context="default"> <allow own="com.Skype.API"/> <allow send_destination="com.Skype.API"/> <allow receive_sender="com.Skype.API"/> <allow send_path="/com/Skype"/> </policy> </busconfig>
启动Skype,然后登录。接下来(步骤5和6)配置Skype。
确保Skype在登录时自动启动(选择Skype→工具→选项→隐私,然后选中与记住我的密码相对的框)。
由于您希望您的Skype服务器提供24/7的电话服务,您将希望其他Skype用户始终看到您的在线状态为“在线”。选择Skype→工具→选项→常规,然后将“不活动时显示为‘离开’”设置为0而不是5分钟。将“不活动时显示为‘不可用’”设置为0而不是20分钟。在这种情况下,零表示无限或永不。
通过输入命令切换到超级用户模式su和root密码。
下载install-SkypeMate.zip并将其解压缩以获取文件install-SkypeMate(这假设您的Skype-to-Phone适配器与SkypeMate软件兼容——购买前请检查)。
更改install-SkypeMate的权限以使其可执行(skype@fc3:~$是命令提示符;以下是您应该输入的命令)
skype@fc3:~$ chmod +x install-SkypeMate
运行SkypeMate安装程序
skype@fc3:~$ ./install-SkypeMate
退出超级用户模式并重新启动Skype服务器。再次以skype身份登录。
双击桌面上的SkypeMate图标(指向/usr/bin/SkypeMate)。Skype将弹出一个窗口,询问您是否允许SkypeMate使用其API来控制Skype(图3)。选中“不再询问我”框,然后单击“是”(这样,您将不会被再次要求给予权限)。
选择您的USB Skype-to-Phone适配器作为通话的音频设备(选择Skype→工具→选项→手持/耳机,然后在“音频设备”下从下拉列表中选择适当的设备)。
为了方便您拨号,您可能希望为您的联系人列表设置快速拨号号码。这样,您可以拿起电话听筒并简单地拨打,例如10#,来呼叫特定的联系人。
通过呼叫echo123呼叫测试服务来测试Skype。
如果您想拨打普通电话,您将必须为您的Skype服务器帐户注册SkypeOut,如果您想接收来自普通电话的来电,您将必须注册SkypeIn。这两项服务都以Skype的低廉费率提供。
您打算将您的Skype服务器放在哪里?理想情况下,它应该位于可以访问电源、通风良好、互联网连接、您的常规电话线路(RJ11插座)且不显眼的地方。我选择将我的Skype服务器安装在我的地下室(图4),这可能是理想的位置,但并非每个人都适用。如果您的选择更有限,那么一旦构建好Skype服务器,就更有理由认真思考将其放置在哪里。
以下是在您家中安装Skype服务器的分步指南
取消您的一条常规电话线路(不是为您的家庭警报系统提供服务的那条)。
在已取消的电话线路进入您家中的位置切断它(请参阅侧边栏)。
通过使用两端都带有RJ11插座的常规电话线将其TEL插孔连接到已取消线路的墙壁插座,将Skype-to-Phone适配器连接到已取消电话线路的所有听筒。
使用插入已取消线路的听筒再次测试Skype。
关闭服务器电源,并移除配置期间使用的任何借用硬件,但其运行不需要这些硬件,例如CD-ROM和软盘驱动器。
将服务器移动到其新位置。插入所有电缆和连接器,然后打开电源。
登录并再次测试Skype。
移除鼠标、键盘和显示器。
如果一切顺利,您现在可以在一条完全由Skype提供的电话线路上获得24/7的电话服务。
安全地切断您的电话线
为了安全地切断您的来电电话线,您需要一把带有绝缘手柄的钢丝钳(或锋利的剪刀)、一卷电工绝缘胶带,并且您需要遵循一个简单的步骤来进行切割(图6)。
您的电话线由电话公司供电;这就是为什么您的普通电话在停电期间也能工作的原因。现在,即使您已让电话公司断开连接,您的电话线可能仍然有电。因此,您必须小心,在切割电线时不要使电线短路。即使是短暂的短路也可能是坏消息。如果您同时切割两条或多条电线,就可能发生这种情况(步骤1)。解决方案很简单,一次只切断一条电线(步骤2)。在切割电线时,您应该用电工胶带绝缘其裸露的末端(步骤3)。
现在,如果这项活动看起来超出了您的舒适区,您始终可以选择致电电话公司,让他们派技术人员为您完成这项工作。即使在为此付费后,您通过Skype节省的费用也很有可能在很短的时间内弥补成本。
对于那些注重安全并且不信任Skype作为应用程序的读者来说,构建Skype服务器还有一个额外的优势。通过将Skype服务器放置在防火墙外部的Internet连接上,您可以安心,即使黑客闯入您的服务器或以某种方式危害Skype,由于服务器仅与防火墙外部进入您家的铜质电话线接口,因此任何损害都必然会被控制并限制在防火墙外部的Skype服务器上。最坏的情况是,您需要重新安装Skype服务器,并且可能需要更好地从安全角度锁定它,以便它可以保护自己。实际上,如果您的防火墙限制性足够强,以至于Skype在内部无法工作,那么将Skype服务器放置在防火墙外部是您可以利用Skype电话服务的唯一方法。
电话账单与税收有很多共同之处。两者都令人费解地复杂,并且都索取很多,回报很少!为了帮助您计算出全部或部分切换到Skype电话服务后可能节省的费用,我编写了一个电子表格,该电子表格简化了流程,可以从Elpis网站下载(请参阅在线资源)。
您应该将构建和运行Skype服务器的成本纳入您的节省分析中。运行成本将取决于您选择用于24/7运行Skype的机器。一台旧的破旧机器可能会消耗大量电力,从长远来看,构建一台新机器可能是值得的。与往常一样,计算数字并做出一些决定。
让我们看一下小型Skype服务器一年365天、每天24小时运行的成本。在没有显示器和其他外围设备消耗电力的情况下,一台小型现代计算机通常消耗50W到100W的电力。如果您的电费为每千瓦时0.10美元,那么运行Skype服务器的年成本在44美元到88美元之间。这些只是大概的数字,您无疑会自己计算,但这确实表明24/7运行Skype服务器的成本并不微不足道。(成本 = 以千瓦为单位的功耗 x 365天 x 24小时 x 每千瓦时的成本,其中50W的功耗为0.05kW,100W的功耗为0.1kW。)
本文资源: /article/8644。
Andrew Sheppard是O'Reilly出版的Skype Hacks一书(ISBN:05-9610-1899)的作者(www.oreilly.com),以及Elpis Publishing Limited的Skype Power User Magazine的编辑(www.elpispublishing.com)。可以通过shep@elpispublishing.com与他联系。