在这个项目中,详细展示了如何在Raspberry Pi上安装Asterisk,打造一个廉价的网络语音服务器。
Asterisk是一个开源的网络语音协议专用分支交换机(PBX)系统,可以在Raspberry Pi的有限硬件上运行。使用Asterisk作为PBX,可以自动管理来电和拨出的电话,包括将您的电话分配给不同的人。你甚至可以使用PBX来处理语音邮件、电话会议,甚至交互式语音应答(电话菜单)。
要想在Raspberry Pi上实现这些功能,需要使用IP语音电话系统。你甚至可以使用电脑或智能手机上的 “软电话 “作为PBX的一部分。两种不同的软电话系统可以和Asterisk一起使用,分别是3CX和Zoiper。为了获得最佳体验,您的树莓派和VOIP电话之间的连接应该使用以太网。使用以太网将减少无线解决方案可能发生的延迟或掉线问题的几率。
为了让Asterisk软件在Raspberry Pi上运行,我们将使用RasPBX发行版。这个发行版让我们省去了编译Asterisk软件的麻烦,这个过程可能需要几个小时。
设备清单
下面是用来在Raspberry Pi上安装Asterisk软件的设备,点击连接可直达特别优惠购买。
建议
可选
我在安装了RasPBX版本的树莓派4上测试了本教程。
为Raspberry Pi下载Asterisk
在本节中,下载最新版本的RasPBX,RasPBX 是包含 Asterisk 编译版本的发行版。不需要从源代码编译Asterisk,节省了大量的时间和麻烦。此外,它还自带FreePBX,这是一个开源的、基于网络的Asterisk管理工具。
可以从Raspberry Pi Asterisk官网下载最新版本的RasPBX。所有版本的RasPBX都是基于官方发布的Raspberry Pi OS。
Asterisk for Raspberry Pi 2, 3, and 4
最新版本的RasPBX包括对几乎所有树莓Pi的支持,包括Pi 4。这个版本唯一不支持的Pi是原始的Raspberry Pi和Pi Zero系列。你可以直接从我们的CDN下载RasPBX的最新可用版本(2019年11月11日)。
Asterisk for Raspberry Pi 1, Zero and Zero W
最新版本中放弃了对Raspberry Pi 1和Pi Zero的支持,所以你需要下载一个旧版本。这个老版本的RasPBX是建立在Raspbian Stretch的基础上,使用了Asterisk的13版和FreePBX的14版。从我们的CDN下载这个旧版本的RasPBX(04-04-2018)。
编写Asterisk到树莓派上
当RasPBX镜像下载到你的设备后,现在将使用Etcher工具将其写入SD卡。Etcher是一个有用的工具,可以运行在Windows、Linux和macOS系统上。你可以使用其他图像书写工具来实现同样的任务。
1. 打开Etcher后,点击 “Select image”按钮。
这个按钮会弹出一个文件对话框,允许你选择之前下载的RasPBX镜像。
2. 下一步是选择我们要将Asterisk发行版写入的SD卡/驱动器。
要选择一个驱动器,你可以点击 “Select target”按钮。蚀刻机软件将尝试选择一个可用的驱动器自动写入。
3. 一切设置完毕后,你就可以将RasPBX的镜像文件闪现到你的SD卡上了。
要开始这个过程,请点击 “Flash “按钮。
4. 现在您可以继续将SD卡插入您的Raspberry Pi并启动它。
第一次在Raspberry Pi上启动Asterisk。
在本节中,将带您了解一些首次启动Raspberry Pi时应该做的首要任务。
由于我们使用RasPBX镜像来实现对Asterisk的支持,我们可以运行一个特殊的更新命令来确保所有的东西都是最新的。要实现这一点,你可以使用命令行或通过SSH连接。
1. 当连接到你的Raspberry Pi时,你会被要求输入一些登录细节。
使用的用户是root,默认密码是raspberry。
2. 登录后,第一个任务就是升级系统。
可以通过以下命令来使用 rasPBX 的升级工具。
raspbx-upgrade
升级系统可以确保你运行的是最新的软件包,使你的系统更加安全和稳定。
3. 在继续之前,应该重新生成SSH主机密钥。
原因是使用的RasPBX发行版已经带有一些。这些分布在周围,并没有那么安全。要重新生成SSH主机密钥,运行以下命令。
regen-hostkeys
请注意,当您下次连接到您的Raspberry Pi时,将被警告SSH密钥已经改变。下面我们将介绍一些让Asterisk在Raspberry Pi上顺利运行的任务。
扩展文件系统
RasPBX 发行版,默认情况下,只消耗其镜像的大小。这意味着无法访问SD卡提供的其他文件系统。在本节中,将向您展示如何扩展文件系统,以便您可以完全访问您的SD卡空间。
1. 现在可以扩展分区,使其充满整个SD卡。
为了扩展文件系统,使用 raspi-config 工具。
raspi-config
2. 当你在这个定制的Asterisk发行版上启动配置工具时,你会被要求输入要使用的用户。这对我们来说并不重要,因为我们只是在扩展文件系统,按ENTER键继续。
3. 现在已经进入配置工具,需要打开高级选项。使用箭头键进入7个高级选项,然后按ENTER键。
4. 在高级选项菜单中,选择A1 Expand Filesystem选项,然后按ENTER键。
5. 一旦该工具完成了对文件系统的大小调整,你将看到以下信息。现在您可以安全地退出该工具。
6. 为了使文件系统的更改生效,需要重新启动Raspberry Pi。可以通过运行以下命令重新启动Raspberry Pi。
reboot
修正Asterisk的时区
在Raspberry Pi上设置Asterisk时,首先要执行的任务之一是确保使用正确的时区。
1. 由于时间对电话系统至关重要,我们需要确保Asterisk运行在正确的时区。
要开始配置时区,需要运行以下命令。
configure-timezone
2. 首先,需要选择你所居住的地理区域。
选择这个选项可以让时区工具缩小你的位置,提供更好的城市和地区选择。要浏览此菜单,使用箭头键,选择一个区域,按ENTER键。
3. 现在你可以选择与你的时区相对应的城市或地区。
该工具现在将更新您系统上的时区。
寻找您的Raspberry Pi Asterisk Box的IP地址
在接下来的步骤中,需要知道Raspberry Pi的IP地址。最简单的方法是在你的设备上运行以下命令。
hostname -I
该命令将返回路由器分配给Raspberry Pi的本地IP地址。还有其他方法可以找到你的Raspberry Pi的IP地址,但这个方法是最简单的一种。它也可能是一个好主意,配置你的Raspberry Pi,使它有一个静态的IP地址。
连接到Raspberry Pi的Asterisk Web界面。
在本节中,将展示如何访问在树莓派上运行的Asterisk的Web界面。这个Web界面是由FreePBX提供的,FreePBX是Asterisk等PBX系统的开源管理工具。
1. 要访问运行在我们Raspberry Pi上的Web界面,需要使用Web浏览器。
在网络浏览器中,进入以下地址。
http://raspbx/
如果因为某些原因没有成功,可以尝试使用Pi的IP地址。
http://[RASPBERRY PI IP ADDRESS]/
2. 当第一次加载Web界面时,会被要求创建和配置一个管理员用户。
填写您的账户的详细信息(1. 确保你设置了一个不易被猜到的密码。完成后,点击右下角的 “设置系统 “按钮(2.
3. 创建账户后,你会看到下面的屏幕。
现在是在管理界面,所以点击 “FreePBX管理 “图标。
4. 要继续进行,您需要登录到您全新的管理员用户(1.)。
输入登录信息后,点击 “继续 “按钮。
5. 接下来,你会被要求选择Raspberry Pi上Asterisk的默认locals。
这些设置将默认为我们之前配置的设置。如果这些不正确,您可以纠正您的声音语言、系统语言和时区(1.修改完成后,点击 “提交 “按钮(2.
6. 您现在可以访问 FreePBX 网页界面了。
使用这个界面,可以配置Raspberry Pi上运行的Asterisk供电的PBX。
此时,你应该已经在Raspberry Pi上运行了Asterisk。
现在您可以使用FreePBX Web界面来配置Asterisk,添加您的VOIP提供商,并为您的内部VOIP网络添加扩展。大多数 VOIP 提供商都会为你提供使用 FreePBX 网页界面连接到其服务的步骤。你还需要将每个VOIP电话指向Raspberry Pi的IP地址,这样它们就可以连接到Asterisk服务器。
如果你在树莓Pi上设置Asterisk时遇到任何问题,欢迎在下面留言。
欢迎转载,请留下出处链接:Labno3 » 树莓派网络语音服务器,详细步骤安装和配置Asterisk