如何在Ubuntu 18.04上安装Asterisk
Asterisk是最受欢迎和广泛采用的开源PBX平台,可为IP PBX系统,会议服务器和VoIP网关提供支持。
世界各地的个人,小型企业,大型企业和政府都在使用它。
Asterisk功能包括语音邮件,保留的音乐,电话会议,调用排队,调用记录,交互式语音响应等等。
本教程将指导我们完成在Ubuntu 18.04上安装Asterisk 15所需的步骤。
Ubuntu软件存储库中提供了较旧版本的Asterisk(版本13),可以使用“ apt install asterisk”轻松安装。
准备工作
在继续本教程之前,请确保我们以具有sudo特权的用户身份登录。
更新Ubuntu系统,并安装以下软件包,这些软件包是下载和构建Asterisk所必需的:
sudo apt update && sudo apt upgradesudo apt install wget build-essential subversion
下载 Asterisk
我们将在“/usr/src”目录中下载Asterisk源代码,该目录是放置源文件的常用位置,请使用以下命令转到目录:
cd /usr/src/
使用以下wget命令下载最新版本的Asterisk 15:
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
下载完成后,使用以下命令解压缩tar包:
sudo tar zxf asterisk-15-current.tar.gz
在继续下一步之前,请确保通过键入以下内容切换到Asterisk源目录:
cd asterisk-15.*/
安装 Asterisk依赖项
以下脚本将下载构建MP3模块并在Asterisk上使用MP3文件所需的MP3源:
sudo contrib/scripts/get_mp3_source.sh
使用“ install_prereq”脚本来解析Ubuntu系统上的所有依赖项:
sudo contrib/scripts/install_prereq install
该脚本将安装所有必需的软件包,并且在成功完成后,将打印以下消息:
sh## install completed successfully
安装 Asterisk
“配置”脚本将执行许多检查,以确保存在系统上的所有依赖项,请键入以下命令启动脚本:
sudo ./configure
成功完成后,我们将看到以下输出:
下一步是选择要编译和安装的模块。
通过键入以下内容来访问Menuselect系统:
sudo make menuselect
我们已经下载了MP3源文件,现在我们需要告诉Asterisk通过选择'format_mp3'来构建MP3模块:
完成后,按“ F12”保存并退出,或者切换到“保存并退出”按钮并按“ Enter”。
现在我们可以使用“ make”命令开始编译过程:
sudo make -j2
编译可能需要一些时间,具体取决于系统。
我们可以根据处理器的内核数量修改“ -j”标志。
构建过程完成后,将显示以下消息:
如上面的消息所述,下一步是通过键入以下命令来安装Asterisk及其模块:
sudo make install
安装完成后,脚本将显示以下消息:
现在我们已经安装了Asterisk,我们需要安装示例配置文件。
通过键入以下命令,安装带有参考文档的通用配置文件:
sudo make samples
或者安装基本的PBX配置文件:
sudo make basic-pbx
最后一步是通过键入以下命令来安装Asterisk初始化脚本:
sudo make config
运行'ldconfig'更新共享库缓存也是一个好主意:
sudo ldconfig
创建 Asterisk用户
默认情况下,Asterisk以root用户身份运行。
出于安全原因,我们将创建一个新的系统用户,并将Asterisk配置为以新创建的用户身份运行。
要创建名为“ asterisk”的新系统用户,请运行以下命令:
sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
要将Asterisk配置为以“ asterisk”用户身份运行,请打开“/etc/default/asterisk”文件,并取消以下两行的注释:
/etc/default / Asterisk
AST_USER="asterisk" AST_GROUP="asterisk"
将“ Asterisk”用户添加到“拨号”和“音频”组:
sudo usermod -a -G dialout,audio asterisk
我们还需要更改所有 Asterisk文件和目录的所有权和权限,以便用户 Asterisk可以访问这些文件:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisksudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
起始 Asterisk
现在我们已经完成了所有的设置,我们可以使用以下命令启动Asterisk服务:
sudo systemctl start asterisk
要验证Asterisk是否正在运行,请键入以下内容以连接到Asterisk命令行界面(CLI):
sudo asterisk -vvvr
我们会看到默认的Asterisk CLI提示符:
最后一步是启用Asterisk服务以启动时使用以下命令启动:
sudo systemctl enable asterisk
配置防火墙
防火墙将保护服务器免受不必要的流量的攻击。
如果服务器上未配置防火墙,则可以查看我们的教程,了解如何在ubuntu上使用ufw设置防火墙
默认情况下,SIP使用UDP端口5060打开端口运行:
sudo ufw allow 5060/udp
如果启用了实时协议(RTP),则还需要打开以下端口范围:
sudo ufw allow 10000:20000/udp
可以根据需要随意调整防火墙。