使用 Asterisk 和 Digium 创建家庭 PBX
一些开源项目带有一种奇怪的、反经济的疯狂。例如,正如我上个月所写的,您可以使用价值 600-700 美元的硬件和 MythTV 来重新创建在百思买花一半价格就能买到的 TiVo 盒子。当然,使用 MythTV 有其哲学和技术原因,但对于大多数普通大众来说,这真的没有意义。
另一方面,您偶尔会遇到一种开源产品,它实际上比同一领域的商业产品更便宜。Asterisk 就是一个例子,它自称为开源 PBX。对于那些不了解的人来说,PBX 是专用分组交换机。它本质上是一家企业内部(或如我们这里的例子,家庭内部)的迷你电话公司。一定数量的外线进入建筑物,但可以有更多的分机可以互相呼叫或请求外线。任何在规模适中的公司工作过的人都应该熟悉这个概念(拨 9 获取外线——铃声响了吗?)。
不幸的是,尽管 PBX 非常方便,但它们也很昂贵。值得庆幸的是,Asterisk 可以提供具有语音邮件甚至 VoIP 桥接功能的完整 PBX,而无需倾家荡产。它足够便宜,甚至在住宅环境中也有意义,假设您的房子足够大,以至于您有一半的时间都在冲配偶大喊接电话。考虑到这一点,让我们看看如何在家庭环境中设置 Asterisk。
首先,您需要一台普通的 Linux 服务器,带有一个备用的 PCI 插槽。据报告,Asterisk 在 X Window 系统下运行时存在性能问题,因此您可能需要专门为此目的配置一台服务器。您不需要绝对高速的机器,但低估您的处理器可能也不是一个好主意。您需要一些磁盘空间来存储语音邮件,但 Asterisk 在压缩声音方面相当高效,因此 40GB 的硬盘驱动器应该足以满足操作系统、交换和语音数据的需求。
您将需要一件专用硬件,即 Digium Wildcard TDM400P。此卡允许您将传统电话听筒和 POTS(普通老式电话服务)线路连接到您的服务器。Asterisk 使用它通过电话网络接收和发送呼叫,并使房屋内的各种 PBX 线路响铃。TDM400P 有四个可用端口——您可以在外线和内部分机之间混合搭配它们。因此,例如,您可以将其配置为具有一条外线和三条内线。您需要订购具有所需组合的卡;您无法将线路从外线更改为内线。完全加载的卡零售价约为 250 美元。基本上,要计算您需要多少张卡,请将您拥有或打算获得的外线数量加上您计划配置的内部分机数量(您可以在单个分机上拥有多个听筒)相加,然后除以四。因此,两条外线加上六个分机将是八个端口,即两张卡。在公司环境中,您可能会通过 T1 线路引入您的外线,Digium 也为此目的制造了卡,但由于您可能不会在您的都铎式迷你豪宅中运营呼叫中心,因此 TDM400P 可能就足够您使用了。
此时,您需要设置您的操作系统和 Asterisk 软件。我知道几乎不可抗拒的诱惑是安装您最喜欢的发行版,然后尝试从源代码安装 TDM400P 所需的 Zaptel 驱动程序和 Asterisk 软件。抵制,抵制!我花了整整三天时间试图让事情以这种方式工作。首先我无法让驱动程序正确运行,然后我必须为这些 Zaptel 设备配置 udev 支持,然后花了一整天时间仔细研究 Asterisk 的可用文档,试图让软件与卡通信。我甚至让 Digium 的一位工程师登录到我的系统上检查了一个小时,但他也没能让它工作。(顺便说一句,这是 Digium 为购买其卡的人提供的非常好的服务;他们将协助 Asterisk 系统的设置和基本配置。)
最后,我看到了光明(可能是反复敲击桌子导致眼前冒金星),并下载了 Asterisk@Home 的 ISO,这是一个完整的 Linux 发行版,开箱即用。最初的警告:安装过程非常自动化,以至于它会在不看第二眼的情况下重新分区和重新格式化您的磁盘。这绝对不是您想在装有重要数据的机器上“试用安装”的东西。
安装完成后(在快速机器上大约 20 分钟),您应该能够(从另一台机器)浏览到 Asterisk 主机上新安装的 Web 服务器。单击 Asterisk 管理门户链接会将您带到 AMP 主屏幕。从这里,您可以使用文档完善且易于使用的 GUI 界面设置您的整个 PBX。
例如,添加分机就像点击几下鼠标一样简单。在图 3 中,我们将 Digium 卡上的端口 1 与分机 10 相关联。我们还可以同时配置语音邮件选项。录制自动语音应答消息只需从系统电话之一呼叫分机并讲话即可。
来电可以路由到一组电话或接线员。您还可以为工作时间和非工作时间设置不同的规则。某些线路可以被限制拨打长途电话,甚至完全不能拨打房屋外的电话。Asterisk@Home 还附带一个名为 Flash Operator Panel 的应用程序,该应用程序允许授权用户查看哪些线路正在使用中,将呼叫转移到不同的分机,并通常执行公司接待员通常处理的功能。对于简单的家庭应用来说,这可能有点大材小用,但它是软件包的一部分,可能偶尔会证明有用。
如果您犯了阅读手册并尝试自己做的错误,Asterisk 似乎是一个令人生畏的项目。但是,借助一些相对便宜的硬件和正确的 Linux 发行版,您可以在不到一个小时的时间内拥有一个家庭 PBX 来筛选您的呼叫。
本文的资源: /article/8633。
James Turner 是Linux Journal的产品评论编辑。他撰写了两本关于开源 Java 开发的书籍,并且是 Axis Technology, LLC 的高级软件工程师。